|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package svc
-
- import (
- "applet/app/comm/db"
- "applet/app/comm/e"
- "applet/app/comm/svc"
- "applet/app/comm/utils"
- svc3 "applet/app/custom/svc"
- "applet/app/operator/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"
- "fmt"
- "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("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]interface{}, 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.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("success_num desc,id desc").FindAndCount(&hotTaskList)
- for _, v := range hotTaskList {
- label := make([]string, 0)
- DetailInfo := make([]string, 0)
- tmp := map[string]interface{}{
- "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"),
- "detail_info": DetailInfo,
- "label": label,
- }
- taskDetailDb := implement.NewCampTaskDetailDb(svc.MasterDb(c))
- taskDetail, _ := taskDetailDb.GetCampTaskDetailById(utils.IntToStr(v.Id))
- if taskDetail != nil {
- json.Unmarshal([]byte(taskDetail.DetailInfo), &DetailInfo)
- tmp["detail_info"] = DetailInfo
- }
- json.Unmarshal([]byte(v.Label), &label)
- 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": "T+30", "value": "2"},
- },
- "total": total, "list": hotTask,
- }
- e.OutSuc(c, res, nil)
- return
- }
- func TaskDetail(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)
- var hotTaskList models.CampTaskList
- svc.MasterDb(c).Where("id=?", args.Id).Get(&hotTaskList)
- label := make([]string, 0)
- DetailInfo := make([]string, 0)
- tmp := map[string]interface{}{
- "id": utils.IntToStr(hotTaskList.Id),
- "is_check": "0",
- "name": hotTaskList.Name,
- "price": hotTaskList.Price,
- "num": utils.IntToStr(hotTaskList.Num),
- "icon": svc.ImageFormat(c, hotTaskList.Logo),
- "timer": hotTaskList.StartTime.Format("2006-01-02") + "至" + hotTaskList.EndTime.Format("2006-01-02"),
- "detail_info": DetailInfo,
- "label": label,
- }
- taskDetailDb := implement.NewCampTaskDetailDb(svc.MasterDb(c))
- taskDetail, _ := taskDetailDb.GetCampTaskDetailById(utils.IntToStr(hotTaskList.Id))
- if taskDetail != nil {
- json.Unmarshal([]byte(taskDetail.DetailInfo), &DetailInfo)
- tmp["detail_info"] = DetailInfo
- }
- json.Unmarshal([]byte(hotTaskList.Label), &label)
- tmp["label"] = label
- counts, _ := svc.MasterDb(c).Where("uid=? and task_id=?", user.Info.Uid, hotTaskList.Id).Count(&models.CampTaskOperatorTask{})
- if counts > 0 {
- tmp["is_check"] = "1"
- }
- e.OutSuc(c, tmp, nil)
- return
- }
- func TaskUpList(c *gin.Context) {
- var args md.OperatorTaskReq
- if err := c.ShouldBindJSON(&args); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- user := svc.GetUser(c)
- sqlCount := `select count(*) as count FROM camp_task_operator_task
- WHERE uid=%d `
-
- sqlCount = fmt.Sprintf(sqlCount, user.Info.Uid)
- nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sqlCount)
- var total = 0
- hotTask := make([]map[string]string, 0)
- for _, v := range nativeStringCount {
- total = utils.StrToInt(v["count"])
- }
- sql := `select ctl.name as task_name,ctl.price as price,ctot.create_time,ctl.up_down_state,ctl.is_delete,ctot.id,ctot.task_id
- FROM camp_task_operator_task ctot
- LEFT JOIN camp_task_list ctl on ctot.task_id=ctl.id
- WHERE ctot.uid=%d order by ctot.id desc %s`
- sql = fmt.Sprintf(sql, user.Info.Uid, "limit "+utils.IntToStr((utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size))+","+args.Size)
- nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql)
- for _, v := range nativeString {
- _, firstPrice, secondPrice, _, _ := svc3.CommPrice(c, v["price"])
- orderCount := "0"
- commission := "0"
- sql1 := `select COUNT(*) as count,SUM(ctupor.amount) as amount
- FROM camp_task_user_promotion_order_relate ctupor
- LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid
- WHERE ctupor.uid=%d and ctupo.task_id=%s`
- sql1 = fmt.Sprintf(sql1, user.Info.Uid, v["task_id"])
- queryNativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql1)
- for _, v1 := range queryNativeString {
- orderCount = v1["count"]
- commission = v1["amount"]
- }
- tmp := map[string]string{
- "task_name": v["task_name"],
- "id": v["id"],
- "base_price": v["price"],
- "first_price": firstPrice,
- "second_price": secondPrice,
- "create_time": v["create_time"],
- "order_count": orderCount,
- "commission": commission,
- }
- hotTask = append(hotTask, tmp)
- }
- task := make([]map[string]string, 0)
- taskList := make([]models.CampTaskList, 0)
- svc.MasterDb(c).Where("state=?", 1).OrderBy("sort desc,id desc").Find(&taskList)
- for _, v := range taskList {
- tmp := map[string]string{
- "name": v.Name, "value": utils.IntToStr(v.Id),
- }
- task = append(task, 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{}{
- "total": total, "list": hotTask,
- }
- e.OutSuc(c, res, nil)
- return
- }
|