互动
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.8 KiB

package client
import (
"fmt"
"hudongzhuanjia/controllers"
"hudongzhuanjia/models"
"hudongzhuanjia/services/upper_wall"
"hudongzhuanjia/utils/code"
"time"
)
type UpperWallCtl struct {
controllers.AuthorCtl
}
//发送上墙消息
func (t *UpperWallCtl) Send() {
uid := t.MustGetUID()
activityId := t.MustGetInt64("activity_id")
category := t.MustGetInt("category")
content, _ := t.Get("content")
img, _ := t.Get("img")
//获取主活动信息
activity := new(models.Activity)
exist, err := models.Get(activity, activityId)
t.CheckErr(err)
t.Assert(exist, code.MSG_ACTIVITY_NOT_EXIST, "互动不存在")
t.CheckRunning(activity.Status)
msgWall := new(models.MsgWallServer)
exist, err = msgWall.GetByActivityId(activityId)
t.CheckErr(err)
if !exist || msgWall.UpWallStatus == "关闭" {
t.ERROR("上墙活动尚未开启", code.MSG_ERR)
}
//获取用信息
user := new(models.User)
exist, err = models.Get(user, uid)
t.CheckErr(err)
t.Assert(exist, code.MSG_USER_NOT_EXIST, "用户不存在")
uw := new(models.UpperWall)
uw.RehearsalId = activity.RehearsalId
uw.ActivityId = activityId
uw.Category = fmt.Sprintf("%v", category)
uw.UserId = user.Id
uw.Content = content
uw.Img = img
uw.Status = 0
uw.CreatedAt = time.Now()
uw.UpdatedAt = time.Now()
_, err = models.Add(uw)
t.CheckErr(err)
t.SUCCESS("成功")
}
func (t *UpperWallCtl) List() {
activityId := t.MustGetInt64("activity_id")
userId := t.MustGetUID()
activity := new(models.Activity)
exist, err := models.Get(activity, activityId)
t.CheckErr(err)
t.Assert(exist, code.MSG_ACTIVITY_NOT_EXIST, "互动不存在")
list, err := upper_wall.GetUpperWallResult(userId, activity.Id, activity.RehearsalId)
t.CheckErr(err)
t.JSON(map[string]interface{}{
"list": list,
"total": len(list),
})
}