|
- package svc
-
- import (
- "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 DirectorList(c *gin.Context) {
- var args md.DirectorReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- storeId := svc.GetCampStoreId(c)
- list := make([]map[string]interface{}, 0)
- var data = make([]models.CampTaskStoreUser, 0)
- sess := svc.MasterDb(c).Where("pid=?", storeId)
- count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
- taskList := make([]map[string]string, 0)
- taskListMap := make([]models.CampTaskList, 0)
- svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Find(&taskListMap)
- for _, v := range taskListMap {
- tmp := map[string]string{
- "name": v.Name, "value": utils.IntToStr(v.Id), "store_id": v.Contact,
- }
- taskList = append(taskList, tmp)
- }
- for _, v := range data {
- taskId := make([]string, 0)
- for _, v1 := range taskListMap {
- if utils.StrToInt(v1.Contact) == v.Id {
- taskId = append(taskId, utils.IntToStr(v.Id))
- }
- }
- tmp := map[string]interface{}{
- "id": utils.IntToStr(v.Id),
- "phone": v.Phone,
- "name": v.Name,
- "task_ids": taskId,
- }
- list = append(list, tmp)
- }
- res := map[string]interface{}{
- "list": list,
- "task_list": taskList,
- "total": count,
- }
- e.OutSuc(c, res, nil)
- return
- }
- func DirectorSave(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.CampTaskStoreUser
- if args["id"] != "" {
- svc.MasterDb(c).Where("id=?", args["id"]).Get(&data)
- }
- count, _ := svc.MasterDb(c).Where("phone=?", args["phone"]).Count(&models.CampTaskStoreUser{})
- if count > 0 && data.Phone != args["phone"] {
- e.OutErr(c, 400, e.NewErr(400, "该手机号已被绑定"))
- return
- }
- if args["id"] == "" {
- data = models.CampTaskStoreUser{
- CreateTime: time.Now(),
- Phone: args["phone"],
- Pid: storeId,
- }
- svc.MasterDb(c).Insert(&data)
- }
- data.Phone = args["phone"]
- if args["password"] != "" {
- data.Password = utils.Md5(args["password"])
- }
- data.Name = args["name"]
- svc.MasterDb(c).Where("id=?", data.Id).Update(&data)
- e.OutSuc(c, "success", nil)
- return
- }
- func DirectorTaskSave(c *gin.Context) {
- var args md.DirectorTaskSaveReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- sess := svc.MasterDb(c).NewSession()
- defer sess.Close()
- sess.Begin()
- count, _ := sess.Where("contact!=? and is_delete=0", "0").In("id", args.TaskIds).Cols("contact").Count(&models.CampTaskList{})
- if count > 0 {
- sess.Rollback()
- e.OutErr(c, 400, e.NewErr(400, "部分任务已绑定负责人"))
- return
- }
- _, err := sess.Where("contact=? and is_delete=0", args.Id).NotIn("id", args.TaskIds).Cols("contact").Update(&models.CampTaskList{Contact: "0"})
- if err != nil {
- sess.Rollback()
- e.OutErr(c, 400, e.NewErr(400, "修改失败"))
- return
- }
- _, err = sess.Where("contact=? and is_delete=0", "0").In("id", args.TaskIds).Cols("contact").Update(&models.CampTaskList{Contact: args.Id})
- if err != nil {
- sess.Rollback()
- e.OutErr(c, 400, e.NewErr(400, "修改失败"))
- return
- }
- e.OutSuc(c, "success", nil)
- return
- }
- func DirectorDel(c *gin.Context) {
- var args md.DirectorDelReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- svc.MasterDb(c).In("id", args.Ids).Delete(&models.CampTaskStoreUser{})
- svc.MasterDb(c).Where(" is_delete=0").In("contact", args.Ids).Cols("contact").Update(&models.CampTaskList{Contact: "0"})
- e.OutSuc(c, "success", nil)
- return
- }
|