From 21b40d0fff760a8362e8c65baa056cb14ecc3cc2 Mon Sep 17 00:00:00 2001 From: huangjiajun <582604932@qq.com> Date: Thu, 11 Sep 2025 15:06:40 +0800 Subject: [PATCH] 1 --- app/comm/svc/svc_file_img_upload.go | 23 ++++++++------- app/operator/hdl/hdl_operator.go | 46 ++++++++++++++++------------- app/operator/hdl/hdl_task.go | 3 ++ app/operator/md/md_task.go | 1 + app/operator/svc/svc_project.go | 8 ----- app/operator/svc/svc_task.go | 42 ++++++++++++++++++++++++-- app/router/router.go | 3 +- go.mod | 2 +- 8 files changed, 84 insertions(+), 44 deletions(-) diff --git a/app/comm/svc/svc_file_img_upload.go b/app/comm/svc/svc_file_img_upload.go index 41d209a..76e330f 100644 --- a/app/comm/svc/svc_file_img_upload.go +++ b/app/comm/svc/svc_file_img_upload.go @@ -19,19 +19,20 @@ func ImgReqUpload(c *gin.Context, uid, dirName, fname, callbackUrl string, fsize if err := initStg(c, fsize, ext); err != nil { return nil, err } - // logx.Warn(uid) - newName := dirName + "_" + fmt.Sprintf("%010s", uid) - - // if dirName == md.FILE_DIR_FEEDBACK || dirName == md.FILE_DIR_STYLE { - // newName += "_" + utils.FormatNanoUnix() + utils.RandString(4, "0123456789") - // } - // 默认都加时间戳 - newName += "_" + utils.FormatNanoUnix() + utils.RandString(4, "0123456789") - newName += ".png" // 因为可能存在多种图像格式,这里统一后缀为png - + ex := strings.Split(fname, ".") + fmt.Println(ex) + fileType := "" + if len(ex) > 1 { + fileType = ex[len(ex)-1] + } + if dirName == "" { + dirName = "任务" + } + newName := c.GetString("mid") + "/" + dirName + "/" + strings.ReplaceAll(fname, "."+fileType, "") + newName += "_" + utils.RandString(4, "0123456789") + newName += "." + fileType // 因为可能存在多种图像格式,这里统一后缀为png f := &md.FileCallback{ Uid: uid, - DirId: md.FileUserDir[dirName], FileName: newName, } // logx.Warn(f.Uid) diff --git a/app/operator/hdl/hdl_operator.go b/app/operator/hdl/hdl_operator.go index 0e2ec5d..8ed4562 100644 --- a/app/operator/hdl/hdl_operator.go +++ b/app/operator/hdl/hdl_operator.go @@ -120,7 +120,7 @@ func CenterList(c *gin.Context) { if args.EndTime != "" { where += " and ctupo.create_time<>>='" + args.EndTime + "'" } - sqlCount := `select count(*) as count from FROM camp_task_user_promotion_order_relate ctupor + sqlCount := `select count(*) as count FROM camp_task_user_promotion_order_relate ctupor LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid LEFT JOIN camp_task_list ctl on ctupo.task_id=ctl.id WHERE ctupor.uid=%d %s` @@ -134,7 +134,7 @@ WHERE ctupor.uid=%d %s` } sql := `select ctl.name as task_name,ul.level_name,ctc.name as cate_name,ctupo.payment,ctupor.oid,ctupo.name as user_name,ctupo.phone as user_phone, ctupo.state,ctupo.settle_state,ctupo.create_time,ctupor.amount -from FROM camp_task_user_promotion_order_relate ctupor +FROM camp_task_user_promotion_order_relate ctupor LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid LEFT JOIN camp_task_list ctl on ctupo.task_id=ctl.id LEFT JOIN user_level ul on ctupo.user_lv=ul.id @@ -163,7 +163,7 @@ WHERE ctupor.uid=%d %s order by ctupo.id desc %s` } task := make([]map[string]string, 0) taskList := make([]models.CampTaskList, 0) - svc.MasterDb(c).Where("state=?", 1).OrderBy("sort desc,id desc").Find(&taskList) + svc.MasterDb(c).Where("is_delete=?", 0).OrderBy("sort desc,id desc").Find(&taskList) for _, v := range taskList { tmp := map[string]string{ "name": v.Name, "value": utils.IntToStr(v.Id), @@ -210,14 +210,20 @@ func CenterOperatorList(c *gin.Context) { user := svc.GetUser(c) total := 0 hotTask := make([]map[string]string, 0) - sql := `SELECT u.nickname,u.uid,u.level_expire_at,u.level_arrive_at - (select count(*) as count from user_relate ur1 -LEFT JOIN user u1 on u1.uid=ur1.uid where ur1.parent_uid=ur.uid and u1.level=0 ) as firstLv, - (select count(*) as count from user_relate ur1 -LEFT JOIN user u1 on u1.uid=ur1.uid where ur1.parent_uid=ur.uid and u1.level=1 ) as secondLv + sql := `SELECT + u.nickname, + u.uid, + u.level_expire_at, + u.level_arrive_at, + COUNT(CASE WHEN u1.level = 0 THEN 1 END) as firstLv, + COUNT(CASE WHEN u1.level = 1 THEN 1 END) as secondLv FROM user_relate ur -LEFT JOIN user u on u.uid=ur.uid -WHERE ur.parent_uid=%d and u.level=2 order by u.uid desc %s` +LEFT JOIN user u ON u.uid = ur.uid +LEFT JOIN user_relate ur1 ON ur1.parent_uid = ur.uid +LEFT JOIN user u1 ON u1.uid = ur1.uid +WHERE ur.parent_uid = %d AND u.level = 2 +GROUP BY u.uid, u.nickname, u.level_expire_at, u.level_arrive_at +ORDER BY u.uid 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 { @@ -267,7 +273,7 @@ func CenterOperatorDetailList(c *gin.Context) { sql := `SELECT u.nickname,u.uid,u.phone,u.create_at FROM user_relate ur LEFT JOIN user u on u.uid=ur.uid -WHERE ur.parent_uid=%d and u.level=%s order by u.uid desc %s` +WHERE ur.parent_uid=%s and u.level=%s order by u.uid desc %s` sql = fmt.Sprintf(sql, args.Uid, args.Level, "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 { @@ -281,9 +287,9 @@ WHERE ur.parent_uid=%d and u.level=%s order by u.uid desc %s` } sqlCount := `SELECT COUNT(*) as count,u.level FROM user_relate ur LEFT JOIN user u on u.uid=ur.uid -WHERE ur.parent_uid=%d and u.level=%s` +WHERE ur.parent_uid=%s and u.level=%s` sqlCount = fmt.Sprintf(sqlCount, args.Uid, args.Level) - nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sql) + nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sqlCount) for _, v := range nativeStringCount { total = utils.StrToInt(v["count"]) } @@ -318,10 +324,10 @@ func CenterOperatorDetailTaskList(c *gin.Context) { if args.EndTime != "" { where += " and ctupo.create_time<>>='" + args.EndTime + "'" } - sqlCount := `select count(*) as count from FROM camp_task_user_promotion_order_relate ctupor + sqlCount := `select count(*) as count FROM camp_task_user_promotion_order_relate ctupor LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid LEFT JOIN camp_task_list ctl on ctupo.task_id=ctl.id -WHERE ctupor.uid=%d %s` +WHERE ctupor.uid=%s %s` sqlCount = fmt.Sprintf(sqlCount, args.Uid, where) nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sqlCount) @@ -332,12 +338,12 @@ WHERE ctupor.uid=%d %s` } sql := `select ctl.name as task_name,ul.level_name,ctc.name as cate_name,ctupo.payment,ctupor.oid,ctupo.name as user_name,ctupo.phone as user_phone, ctupo.state,ctupo.settle_state,ctupo.create_time,ctupor.amount -from FROM camp_task_user_promotion_order_relate ctupor +FROM camp_task_user_promotion_order_relate ctupor LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid LEFT JOIN camp_task_list ctl on ctupo.task_id=ctl.id LEFT JOIN user_level ul on ctupo.user_lv=ul.id LEFT JOIN camp_task_cate ctc on ctl.first_cid=ctc.id -WHERE ctupor.uid=%d %s order by ctupo.id desc %s` +WHERE ctupor.uid=%s %s order by ctupo.id desc %s` sql = fmt.Sprintf(sql, args.Uid, where, "limit "+utils.IntToStr((utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size))+","+args.Size) nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql) stateType := []string{"审核中", "审核通过", "审核拒绝"} @@ -361,7 +367,7 @@ WHERE ctupor.uid=%d %s order by ctupo.id desc %s` } task := make([]map[string]string, 0) taskList := make([]models.CampTaskList, 0) - svc.MasterDb(c).Where("state=?", 1).OrderBy("sort desc,id desc").Find(&taskList) + svc.MasterDb(c).Where("is_delete=?", 0).OrderBy("sort desc,id desc").Find(&taskList) for _, v := range taskList { tmp := map[string]string{ "name": v.Name, "value": utils.IntToStr(v.Id), @@ -416,7 +422,7 @@ func CenterOperatorProjectList(c *gin.Context) { if args.EndTime != "" { where += " and ctpul.create_time<>>='" + args.EndTime + "'" } - sqlCount := `select count(*) as count from FROM camp_task_project_user_like ctpul + sqlCount := `select count(*) as count FROM camp_task_project_user_like ctpul WHERE uid in(select uid from user_relate where parent_uid=%d) %s` sqlCount = fmt.Sprintf(sqlCount, user.Info.Uid, where) @@ -427,7 +433,7 @@ WHERE uid in(select uid from user_relate where parent_uid=%d) %s` total = utils.StrToInt(v["count"]) } sql := `select ctpul.state,ctpl.name as project_name,u.nickname,u.phone,ctpul.create_time,ctpul.remark,ctpul.id -from FROM camp_task_project_user_like ctpul +FROM camp_task_project_user_like ctpul LEFT JOIN camp_task_project_list ctpl on ctpul.project_id=ctpl.id LEFT JOIN user u on ctpul.uid=u.uid WHERE ctpul.uid in(select uid from user_relate where parent_uid=%d) %s order by ctpul.id desc %s` diff --git a/app/operator/hdl/hdl_task.go b/app/operator/hdl/hdl_task.go index f7409a9..2b6a1eb 100644 --- a/app/operator/hdl/hdl_task.go +++ b/app/operator/hdl/hdl_task.go @@ -18,3 +18,6 @@ func TaskDown(c *gin.Context) { func TaskUpList(c *gin.Context) { svc.TaskUpList(c) } +func TaskDetail(c *gin.Context) { + svc.TaskDetail(c) +} diff --git a/app/operator/md/md_task.go b/app/operator/md/md_task.go index d7ab972..a8215c9 100644 --- a/app/operator/md/md_task.go +++ b/app/operator/md/md_task.go @@ -5,6 +5,7 @@ type TaskListReq struct { Size string `json:"size"` Cid string `json:"cid"` SettleType string `json:"settle_type"` + Id string `json:"id"` } type OperatorTaskReq struct { P string `json:"p"` diff --git a/app/operator/svc/svc_project.go b/app/operator/svc/svc_project.go index 7dcceb3..f301e05 100644 --- a/app/operator/svc/svc_project.go +++ b/app/operator/svc/svc_project.go @@ -108,8 +108,6 @@ func ProjectList(c *gin.Context) { } detailInfo := make([]string, 0) json.Unmarshal([]byte(v.DetailInfo), &detailInfo) - label := make([]string, 0) - json.Unmarshal([]byte(v.Label), &label) tmp := map[string]interface{}{ "year": v.CreateTime.Format("2006") + "年", "id": utils.IntToStr(v.Id), @@ -124,8 +122,6 @@ func ProjectList(c *gin.Context) { "enterprise_info": enterpriseInfo1, "cate_name": "", "adv_word": v.AdvWord, - "label": label, - "is_check": "0", "is_must": utils.IntToStr(v.IsMust), } for _, v1 := range cate { @@ -133,10 +129,6 @@ func ProjectList(c *gin.Context) { tmp["cate_name"] = v1.Name } } - 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) diff --git a/app/operator/svc/svc_task.go b/app/operator/svc/svc_task.go index 10eb6c1..0e22c31 100644 --- a/app/operator/svc/svc_task.go +++ b/app/operator/svc/svc_task.go @@ -125,6 +125,42 @@ func TaskList(c *gin.Context) { 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) + 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 { @@ -132,7 +168,7 @@ func TaskUpList(c *gin.Context) { return } user := svc.GetUser(c) - sqlCount := `select count(*) as count from FROM camp_task_operator_task + sqlCount := `select count(*) as count FROM camp_task_operator_task WHERE uid=%d ` sqlCount = fmt.Sprintf(sqlCount, user.Info.Uid) @@ -143,7 +179,7 @@ WHERE uid=%d ` 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 FROM camp_task_operator_task ctot + 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) @@ -164,7 +200,7 @@ WHERE ctot.uid=%d order by ctot.id desc %s` orderCount := "0" commission := "0" sql1 := `select COUNT(*) as count,SUM(ctupor.amount) as amount -from FROM camp_task_user_promotion_order_relate ctupor + 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"]) diff --git a/app/router/router.go b/app/router/router.go index c96b902..d3283f8 100644 --- a/app/router/router.go +++ b/app/router/router.go @@ -123,7 +123,7 @@ func routeCustom(r *gin.RouterGroup) { func routeOperator(r *gin.RouterGroup) { r.Use(mw.DB) // 以下接口需要用到数据库 r.Use(mw.Checker) // 以下接口需要检查Header: platform - r.POST("/base", operatorHdl.Base) //账号密码登陆 + r.GET("/base", operatorHdl.Base) //账号密码登陆 r.POST("/login", operatorHdl.Login) //账号密码登陆 r.POST("/sms", operatorHdl.Sms) //发验证码 r.POST("/fastLogin", operatorHdl.FastLogin) //快捷登陆 @@ -131,6 +131,7 @@ func routeOperator(r *gin.RouterGroup) { r.GET("/userInfo", operatorHdl.UserInfo) //首页数据 r.GET("/index", operatorHdl.Index) r.POST("/taskCenter", operatorHdl.TaskList) + r.POST("/taskCenter/detail", operatorHdl.TaskDetail) r.POST("/taskCenter/upList", operatorHdl.TaskUpList) r.POST("/taskCenter/up", operatorHdl.TaskUp) r.POST("/taskCenter/down", operatorHdl.TaskDown) diff --git a/go.mod b/go.mod index 157fd32..1c0e923 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( require code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git v1.1.21-0.20250801053019-55ac588e769e require ( - code.fnuoos.com/go_rely_warehouse/zyos_model.git v0.0.4-0.20250910023150-2ede529c0221 // indirect + code.fnuoos.com/go_rely_warehouse/zyos_model.git v0.0.4-0.20250911040453-a1190e8eb8ed // indirect github.com/KyleBanks/depth v1.2.1 // indirect github.com/PuerkitoBio/goquery v1.6.1 // indirect github.com/PuerkitoBio/purell v1.1.1 // indirect