|
- package svc
-
- import (
- "applet/app/comm/e"
- "applet/app/comm/svc"
- "applet/app/comm/utils"
- "applet/app/operator/md"
- md2 "applet/app/store/md"
- "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/implement"
- "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
- "encoding/json"
- "github.com/gin-gonic/gin"
- "time"
- )
-
- func TaskUp(c *gin.Context) {
- var args map[string]string
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- user := svc.GetUser(c)
- update, _ := svc.MasterDb(c).Where("task_id=? and uid=?", args["id"], user.Info.Uid).Count(&models.CampTaskOperatorTask{})
- if update > 0 {
- e.OutErr(c, 400, e.NewErr(400, "该任务已上架"))
- return
- }
- var data = models.CampTaskOperatorTask{
- TaskId: utils.StrToInt(args["id"]),
- Uid: user.Info.Uid,
- CreateTime: time.Now(),
- }
- insert, _ := svc.MasterDb(c).Insert(&data)
- if insert == 0 {
- e.OutErr(c, 400, e.NewErr(400, "上架失败"))
- return
- }
- e.OutSuc(c, "success", nil)
- return
- }
- func TaskDown(c *gin.Context) {
- var args map[string]string
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- user := svc.GetUser(c)
- update, _ := svc.MasterDb(c).Where("task_id=? and uid=?", args["id"], user.Info.Uid).Delete(&models.CampTaskOperatorTask{})
- if update == 0 {
- e.OutErr(c, 400, e.NewErr(400, "下架失败"))
- return
- }
- e.OutSuc(c, "success", nil)
- return
- }
- func TaskList(c *gin.Context) {
- var args md.TaskListReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- user := svc.GetUser(c)
- hotTask := make([]map[string]string, 0)
- var hotTaskList []models.CampTaskList
- sess := svc.MasterDb(c).Where("up_down_state=?", 1)
- if args.Cid != "" {
- sess.And("first_cid=?", args.Cid)
- }
- if args.SettleType != "" {
- sess.And("settle_type=?", args.SettleType)
- }
- total, _ := sess.Limit(utils.StrToInt(args.P), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("success_num desc,id desc").FindAndCount(&hotTaskList)
- for _, v := range hotTaskList {
- tmp := map[string]string{
- "id": utils.IntToStr(v.Id),
- "is_check": "0",
- "name": v.Name,
- "price": v.Price,
- "num": utils.IntToStr(v.Num),
- "icon": svc.ImageFormat(c, v.Logo),
- "timer": v.StartTime.Format("2006-01-02") + "至" + v.EndTime.Format("2006-01-02"),
- }
- counts, _ := svc.MasterDb(c).Where("uid=? and task_id=?", user.Info.Uid, v.Id).Count(&models.CampTaskOperatorTask{})
- if counts > 0 {
- tmp["is_check"] = "1"
- }
- hotTask = append(hotTask, tmp)
- }
- taskCate := make([]map[string]string, 0)
- taskCateList := make([]models.CampTaskCate, 0)
- svc.MasterDb(c).Where(" is_show=?", 1).OrderBy("sort desc,id desc").Find(&taskCateList)
- for _, v := range taskCateList {
- if v.Pid > 0 {
- continue
- }
- tmp := map[string]string{
- "name": v.Name, "value": utils.IntToStr(v.Id),
- }
- taskCate = append(taskCate, tmp)
- }
- res := map[string]interface{}{
- "cate_list": taskCate,
- "settle_type": []map[string]string{
- {"name": "T+1", "value": "0"},
- {"name": "T+7", "value": "1"},
- {"name": "月结", "value": "2"},
- },
- "total": total, "list": hotTask,
- }
- e.OutSuc(c, res, nil)
- return
- }
- func TaskDetail(c *gin.Context) {
- var args map[string]string
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- user := svc.GetUser(c)
- taskDb := implement.NewCampTaskListDb(svc.MasterDb(c))
- task, _ := taskDb.GetCampTaskById(args["id"])
- res := md2.TaskAllDetail{}
- res.Label = make([]string, 0)
- res.DetailInfo = make([]string, 0)
- if task != nil {
- taskDetailDb := implement.NewCampTaskDetailDb(svc.MasterDb(c))
- taskDetail, _ := taskDetailDb.GetCampTaskDetailById(args["id"])
- res = md2.TaskAllDetail{
- Id: utils.IntToStr(task.Id),
- Name: task.Name,
- Icon: svc.ImageFormat(c, task.Logo),
- Price: task.Price,
- Num: utils.IntToStr(task.Num),
- Timer: task.StartTime.Format("2006-01-02") + "至" + task.EndTime.Format("2006-01-02"),
- }
- if taskDetail != nil {
- DetailInfo := make([]string, 0)
- json.Unmarshal([]byte(taskDetail.DetailInfo), &DetailInfo)
- res.DetailInfo = DetailInfo
- }
- label := make([]string, 0)
- json.Unmarshal([]byte(task.Label), &label)
- res.Label = label
- counts, _ := svc.MasterDb(c).Where("uid=? and task_id=?", user.Info.Uid, task.Id).Count(&models.CampTaskOperatorTask{})
- if counts > 0 {
- res.IsCheck = "1"
- }
- }
- e.OutSuc(c, res, nil)
- return
- }
|