|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package svc
-
- import (
- "applet/app/comm/db"
- "applet/app/comm/e"
- "applet/app/comm/svc"
- "applet/app/comm/utils"
- "applet/app/store/md"
- "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
- "github.com/gin-gonic/gin"
- "time"
- )
-
- func AnnouncementList(c *gin.Context) {
- var args md.AnnouncementReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- storeId := svc.GetCampStoreId(c)
- list := make([]map[string]string, 0)
- var data = make([]models.CampTaskNotice, 0)
- sess := svc.MasterDb(c).Where("store_id=?", storeId)
- if args.CateType != "" {
- sess.And("type=?", args.CateType)
- }
- if args.StartTime != "" {
- sess.And("send_time>=?", args.StartTime)
- }
- if args.EndTime != "" {
- sess.And("send_time<=?", args.EndTime)
- }
- count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
- levelMap, _ := db.UserLevlEgAll(svc.MasterDb(c))
- levelList := []map[string]string{
- {"name": "所有人", "value": "-1"},
- }
- for _, v := range levelMap {
- levelList = append(levelList, map[string]string{"name": v.LevelName, "value": utils.IntToStr(v.Id)})
- }
- var task = make([]models.CampTaskList, 0)
- svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Find(&task)
- taskList := make([]map[string]string, 0)
- for _, v := range task {
- taskList = append(taskList, map[string]string{"name": v.Name, "value": utils.IntToStr(v.Id)})
- }
- cateType := []map[string]string{
- {"name": "任务公告", "value": "announcement"},
- {"name": "数据与结算", "value": "data_settle"},
- {"name": "变更通知", "value": "change_notice"},
- }
- for _, v := range data {
- tmp := map[string]string{
- "id": utils.IntToStr(v.Id),
- "title": v.Title,
- "type": v.Type,
- "type_str": "",
- "content": v.Content,
- "lv": utils.IntToStr(v.Lv),
- "task_id": utils.IntToStr(v.TaskId),
- "task_name": "",
- "level": "",
- "send_type": "未发送",
- "send_time": v.SendTime.Format("2006-01-02 15:04:05"),
- }
- if v.SendTime.Unix() < time.Now().Unix() {
- tmp["send_type"] = "已发送"
- }
- for _, v1 := range levelList {
- if utils.StrToInt(v1["value"]) == v.Lv {
- tmp["level"] = v1["name"]
- }
- }
- for _, v1 := range cateType {
- if v1["value"] == v.Type {
- tmp["type_str"] = v1["name"]
- }
- }
- for _, v1 := range taskList {
- if utils.StrToInt(v1["value"]) == v.TaskId {
- tmp["task_name"] = v1["name"]
- }
- }
- list = append(list, tmp)
- }
-
- res := map[string]interface{}{
- "list": list,
- "level_list": levelList,
- "task_list": taskList,
- "cate_type": cateType,
- "total": count,
- }
- e.OutSuc(c, res, nil)
- return
- }
- func AnnouncementSave(c *gin.Context) {
- var args map[string]string
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- storeId := svc.GetCampStoreId(c)
- var data models.CampTaskNotice
- if args["id"] != "" {
- svc.MasterDb(c).Where("id=?", args["id"]).Get(&data)
- } else {
- if args["type"] == "announcement" {
- count, _ := svc.MasterDb(c).Where("store_id=? and type=? and task_id=?", storeId, "announcement", args["task_id"]).Count(&models.CampTaskNotice{})
- if count > 0 {
- e.OutErr(c, 400, e.NewErr(400, "任务公告只能添加一个,您已添加过,请查找任务公告修改"))
- return
- }
- }
- data = models.CampTaskNotice{
- StoreId: storeId,
- CreateTime: time.Now(),
- SendTime: time.Time{},
- }
- svc.MasterDb(c).Insert(&data)
- }
- data.Lv = utils.StrToInt(args["lv"])
- data.TaskId = utils.StrToInt(args["task_id"])
- data.SendTime = utils.TimeParseStd(args["send_time"])
- if args["send_time"] == "" {
- data.SendTime = time.Now()
- }
- data.Title = args["title"]
- data.Content = args["content"]
- data.Type = args["type"]
- svc.MasterDb(c).Where("id=?", data.Id).Update(&data)
- e.OutSuc(c, "success", nil)
- return
- }
- func AnnouncementDel(c *gin.Context) {
- var args md.AnnouncementDelReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- svc.MasterDb(c).In("id", args.Ids).Delete(&models.CampTaskNotice{})
- e.OutSuc(c, "success", nil)
- return
-
- }
|