|
|
@@ -0,0 +1,481 @@ |
|
|
|
package hdl |
|
|
|
|
|
|
|
import ( |
|
|
|
"applet/app/comm/db" |
|
|
|
"applet/app/comm/e" |
|
|
|
"applet/app/comm/svc" |
|
|
|
"applet/app/comm/utils" |
|
|
|
md2 "applet/app/operator/md" |
|
|
|
"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" |
|
|
|
"fmt" |
|
|
|
"github.com/gin-gonic/gin" |
|
|
|
"time" |
|
|
|
) |
|
|
|
|
|
|
|
func CenterBase(c *gin.Context) { |
|
|
|
user := svc.GetUser(c) |
|
|
|
allTaskCount, _ := svc.MasterDb(c).Where("uid=?", user.Info.Uid).Count(&models.CampTaskOperatorTask{}) |
|
|
|
sql := `SELECT SUM(ctupor.amount) as amount,SUM(IF(ctupor.uid=%d,ctupo.payment,0)) as own_payment,SUM(IF(ctupor.uid=%d,1,0)) as own_count,SUM(IF(ctupor.uid=%d,ctupor.amount,0)) as own_amount,ctupor.level FROM camp_task_user_promotion_order_relate ctupor |
|
|
|
LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid |
|
|
|
WHERE ctupor.oid in(select oid from camp_task_user_promotion_order_relate where uid=%d ) GROUP BY ctupor.level` |
|
|
|
sql = fmt.Sprintf(sql, user.Info.Uid, user.Info.Uid, user.Info.Uid, user.Info.Uid) |
|
|
|
nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql) |
|
|
|
var firstAmount float64 = 0 |
|
|
|
var secondAmount float64 = 0 |
|
|
|
var ownAmount float64 = 0 |
|
|
|
var count = 0 |
|
|
|
var sum float64 = 0 |
|
|
|
for _, v := range nativeString { |
|
|
|
if v["level"] == "0" { |
|
|
|
firstAmount += utils.StrToFloat64(v["amount"]) |
|
|
|
} |
|
|
|
if v["level"] == "1" { |
|
|
|
secondAmount += utils.StrToFloat64(v["amount"]) |
|
|
|
} |
|
|
|
ownAmount += utils.StrToFloat64(v["own_amount"]) |
|
|
|
sum += utils.StrToFloat64(v["own_payment"]) |
|
|
|
count += utils.StrToInt(v["own_count"]) |
|
|
|
} |
|
|
|
firstLv := "0" |
|
|
|
secondLv := "0" |
|
|
|
thirdLv := "0" |
|
|
|
sql1 := `SELECT COUNT(*) as count,u.level FROM user_relate ur |
|
|
|
LEFT JOIN user u on u.uid=ur.uid |
|
|
|
WHERE ur.parent_uid=%d GROUP BY u.level` |
|
|
|
sql1 = fmt.Sprintf(sql1, user.Info.Uid) |
|
|
|
nativeString1, _ := db.QueryNativeString(svc.MasterDb(c), sql) |
|
|
|
for _, v := range nativeString1 { |
|
|
|
if v["level"] == "0" { |
|
|
|
firstLv = v["count"] |
|
|
|
} |
|
|
|
if v["level"] == "1" { |
|
|
|
secondLv = v["count"] |
|
|
|
} |
|
|
|
if v["level"] == "2" { |
|
|
|
thirdLv = v["count"] |
|
|
|
} |
|
|
|
} |
|
|
|
totalList := []map[string]string{ |
|
|
|
{"name": "名下团长", "value": secondLv, "unit": "人", "type": "", "is_light": "0"}, |
|
|
|
{"name": "名下普通用户", "value": firstLv, "unit": "人", "type": "", "is_light": "0"}, |
|
|
|
{"name": "佣金总金额", "value": utils.Float64ToStr(sum), "unit": "¥", "type": "", "is_light": "1"}, |
|
|
|
{"name": "推广总订单数", "value": utils.IntToStr(count), "unit": "", "type": "", "is_light": "0"}, |
|
|
|
{"name": "我的分成", "value": utils.Float64ToStr(ownAmount), "unit": "¥", "type": "", "is_light": "1"}, |
|
|
|
} |
|
|
|
if user.Info.Level == 3 { |
|
|
|
totalList = []map[string]string{ |
|
|
|
{"name": "名下运营商", "value": thirdLv, "unit": "人", "type": "operator_detail", "is_light": "0"}, |
|
|
|
{"name": "佣金总金额", "value": utils.Float64ToStr(sum), "unit": "¥", "type": "", "is_light": "1"}, |
|
|
|
{"name": "推广总订单数", "value": utils.IntToStr(count), "unit": "", "type": "", "is_light": "0"}, |
|
|
|
{"name": "我的分成", "value": utils.Float64ToStr(ownAmount), "unit": "¥", "type": "", "is_light": "1"}, |
|
|
|
{"name": "项目数据", "value": "", "unit": "", "type": "project_detail", "is_light": "0"}, |
|
|
|
} |
|
|
|
} |
|
|
|
myTask := make([]map[string]string, 0) |
|
|
|
NewCampTaskOperatorTaskDb := implement.NewCampTaskOperatorTaskDb(svc.MasterDb(c)) |
|
|
|
myTaskList, _, _ := NewCampTaskOperatorTaskDb.FindCampTaskOperatorTaskGroup(user.Info.Uid, 1, 5, "") |
|
|
|
if myTaskList != nil { |
|
|
|
for _, v := range myTaskList { |
|
|
|
tmp := map[string]string{ |
|
|
|
"id": utils.IntToStr(v.CampTaskOperatorTask.TaskId), |
|
|
|
"name": v.Name, |
|
|
|
"icon": svc.ImageFormat(c, v.Logo), |
|
|
|
} |
|
|
|
myTask = append(myTask, tmp) |
|
|
|
} |
|
|
|
} |
|
|
|
res := map[string]interface{}{ |
|
|
|
"total_list": totalList, |
|
|
|
"my_task_count": utils.Int64ToStr(allTaskCount), |
|
|
|
"my_task": myTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterList(c *gin.Context) { |
|
|
|
var args md2.OperatorTaskReq |
|
|
|
if err := c.ShouldBindJSON(&args); err != nil { |
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS) |
|
|
|
return |
|
|
|
} |
|
|
|
user := svc.GetUser(c) |
|
|
|
where := "" |
|
|
|
if args.SettleStateType != "" { |
|
|
|
where += " and ctupo.settle_state=" + args.SettleStateType |
|
|
|
} |
|
|
|
if args.Cid != "" { |
|
|
|
where += " and ctl.first_cid=" + args.Cid |
|
|
|
} |
|
|
|
if args.TaskId != "" { |
|
|
|
where += " and ctupo.task_id=" + args.TaskId |
|
|
|
} |
|
|
|
if args.ApplyType != "" { |
|
|
|
where += " and ctupo.state=" + args.ApplyType |
|
|
|
} |
|
|
|
if args.StartTime != "" { |
|
|
|
where += " and ctupo.create_time>='" + args.StartTime + "'" |
|
|
|
} |
|
|
|
if args.EndTime != "" { |
|
|
|
where += " and ctupo.create_time<>>='" + args.EndTime + "'" |
|
|
|
} |
|
|
|
sqlCount := `select count(*) as count from 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` |
|
|
|
|
|
|
|
sqlCount = fmt.Sprintf(sqlCount, user.Info.Uid, where) |
|
|
|
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,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 |
|
|
|
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` |
|
|
|
sql = fmt.Sprintf(sql, user.Info.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{"审核中", "审核通过", "审核拒绝"} |
|
|
|
settleStateType := []string{"未结算", "结算成功", "结算失败"} |
|
|
|
for _, v := range nativeString { |
|
|
|
tmp := map[string]string{ |
|
|
|
"task_name": v["task_name"], |
|
|
|
"level_name": v["level_name"], |
|
|
|
"cate_name": v["cate_name"], |
|
|
|
"oid": v["oid"], |
|
|
|
"user_name": v["user_name"], |
|
|
|
"user_phone": v["user_phone"], |
|
|
|
"state": v["state"], |
|
|
|
"state_str": stateType[utils.StrToInt(v["state"])], |
|
|
|
"settle_state_str": settleStateType[utils.StrToInt(v["settle_state"])], |
|
|
|
"settle_state": v["settle_state"], |
|
|
|
"create_time": v["create_time"], |
|
|
|
"amount": v["amount"], |
|
|
|
} |
|
|
|
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{}{ |
|
|
|
"cate_list": taskCate, |
|
|
|
"task_cate_list": task, |
|
|
|
"settle_state_type": []map[string]string{ |
|
|
|
{"name": "未结算", "value": "0"}, |
|
|
|
{"name": "已结算", "value": "1"}, |
|
|
|
{"name": "结算拒绝", "value": "2"}, |
|
|
|
}, |
|
|
|
"state_type": []map[string]string{ |
|
|
|
{"name": "未审核", "value": "0"}, |
|
|
|
{"name": "审核成功", "value": "1"}, |
|
|
|
{"name": "审核拒绝", "value": "2"}, |
|
|
|
}, |
|
|
|
"total": total, "list": hotTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterOperatorList(c *gin.Context) { |
|
|
|
var args md2.OperatorTaskReq |
|
|
|
if err := c.ShouldBindJSON(&args); err != nil { |
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS) |
|
|
|
return |
|
|
|
} |
|
|
|
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 |
|
|
|
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` |
|
|
|
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 { |
|
|
|
timer := "0天" |
|
|
|
leave := utils.TimeStdParseUnix(v["level_expire_at"]) - time.Now().Unix() |
|
|
|
if leave > 0 { |
|
|
|
timer = utils.Int64ToStr(leave/86400) + "天" |
|
|
|
} |
|
|
|
if v["level_expire_at"] == v["level_arrive_at"] { |
|
|
|
timer = "永久" |
|
|
|
} |
|
|
|
commission, _ := svc.MasterDb(c).Where("uid=?", v["uid"]).Sum(&models.CampTaskUserPromotionOrderRelate{}, "amount") |
|
|
|
orderCount, _ := svc.MasterDb(c).Where("uid=?", v["uid"]).Count(&models.CampTaskUserPromotionOrderRelate{}) |
|
|
|
tmp := map[string]string{ |
|
|
|
"uid": v["uid"], |
|
|
|
"nickname": v["nickname"], |
|
|
|
"timer": timer, |
|
|
|
"first_lv_count": v["firstLv"], |
|
|
|
"second_lv_count": v["secondLv"], |
|
|
|
"order_count": utils.Int64ToStr(orderCount), |
|
|
|
"commission": utils.Float64ToStr(commission), |
|
|
|
} |
|
|
|
hotTask = append(hotTask, tmp) |
|
|
|
} |
|
|
|
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=2` |
|
|
|
sqlCount = fmt.Sprintf(sqlCount, user.Info.Uid) |
|
|
|
nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sql) |
|
|
|
for _, v := range nativeStringCount { |
|
|
|
total = utils.StrToInt(v["count"]) |
|
|
|
} |
|
|
|
res := map[string]interface{}{ |
|
|
|
"total": total, "list": hotTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterOperatorDetailList(c *gin.Context) { |
|
|
|
var args md2.OperatorTaskReq |
|
|
|
if err := c.ShouldBindJSON(&args); err != nil { |
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS) |
|
|
|
return |
|
|
|
} |
|
|
|
total := 0 |
|
|
|
hotTask := make([]map[string]string, 0) |
|
|
|
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` |
|
|
|
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 { |
|
|
|
tmp := map[string]string{ |
|
|
|
"uid": v["uid"], |
|
|
|
"nickname": v["nickname"], |
|
|
|
"phone": v["phone"], |
|
|
|
"create_time": v["create_at"], |
|
|
|
} |
|
|
|
hotTask = append(hotTask, tmp) |
|
|
|
} |
|
|
|
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` |
|
|
|
sqlCount = fmt.Sprintf(sqlCount, args.Uid, args.Level) |
|
|
|
nativeStringCount, _ := db.QueryNativeString(svc.MasterDb(c), sql) |
|
|
|
for _, v := range nativeStringCount { |
|
|
|
total = utils.StrToInt(v["count"]) |
|
|
|
} |
|
|
|
res := map[string]interface{}{ |
|
|
|
"total": total, "list": hotTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterOperatorDetailTaskList(c *gin.Context) { |
|
|
|
var args md2.OperatorTaskReq |
|
|
|
if err := c.ShouldBindJSON(&args); err != nil { |
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS) |
|
|
|
return |
|
|
|
} |
|
|
|
where := "" |
|
|
|
if args.SettleStateType != "" { |
|
|
|
where += " and ctupo.settle_state=" + args.SettleStateType |
|
|
|
} |
|
|
|
if args.Cid != "" { |
|
|
|
where += " and ctl.first_cid=" + args.Cid |
|
|
|
} |
|
|
|
if args.TaskId != "" { |
|
|
|
where += " and ctupo.task_id=" + args.TaskId |
|
|
|
} |
|
|
|
if args.ApplyType != "" { |
|
|
|
where += " and ctupo.state=" + args.ApplyType |
|
|
|
} |
|
|
|
if args.StartTime != "" { |
|
|
|
where += " and ctupo.create_time>='" + args.StartTime + "'" |
|
|
|
} |
|
|
|
if args.EndTime != "" { |
|
|
|
where += " and ctupo.create_time<>>='" + args.EndTime + "'" |
|
|
|
} |
|
|
|
sqlCount := `select count(*) as count from 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` |
|
|
|
|
|
|
|
sqlCount = fmt.Sprintf(sqlCount, args.Uid, where) |
|
|
|
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,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 |
|
|
|
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` |
|
|
|
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{"审核中", "审核通过", "审核拒绝"} |
|
|
|
settleStateType := []string{"未结算", "结算成功", "结算失败"} |
|
|
|
for _, v := range nativeString { |
|
|
|
tmp := map[string]string{ |
|
|
|
"task_name": v["task_name"], |
|
|
|
"level_name": v["level_name"], |
|
|
|
"cate_name": v["cate_name"], |
|
|
|
"oid": v["oid"], |
|
|
|
"user_name": v["user_name"], |
|
|
|
"user_phone": v["user_phone"], |
|
|
|
"state": v["state"], |
|
|
|
"state_str": stateType[utils.StrToInt(v["state"])], |
|
|
|
"settle_state_str": settleStateType[utils.StrToInt(v["settle_state"])], |
|
|
|
"settle_state": v["settle_state"], |
|
|
|
"create_time": v["create_time"], |
|
|
|
"amount": v["amount"], |
|
|
|
} |
|
|
|
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{}{ |
|
|
|
"cate_list": taskCate, |
|
|
|
"task_cate_list": task, |
|
|
|
"settle_state_type": []map[string]string{ |
|
|
|
{"name": "未结算", "value": "0"}, |
|
|
|
{"name": "已结算", "value": "1"}, |
|
|
|
{"name": "结算拒绝", "value": "2"}, |
|
|
|
}, |
|
|
|
"state_type": []map[string]string{ |
|
|
|
{"name": "未审核", "value": "0"}, |
|
|
|
{"name": "审核成功", "value": "1"}, |
|
|
|
{"name": "审核拒绝", "value": "2"}, |
|
|
|
}, |
|
|
|
"total": total, "list": hotTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterOperatorProjectList(c *gin.Context) { |
|
|
|
var args md2.OperatorTaskReq |
|
|
|
if err := c.ShouldBindJSON(&args); err != nil { |
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS) |
|
|
|
return |
|
|
|
} |
|
|
|
user := svc.GetUser(c) |
|
|
|
where := "" |
|
|
|
if args.ApplyType != "" { |
|
|
|
where += " and ctpul.state=" + args.ApplyType |
|
|
|
} |
|
|
|
if args.StartTime != "" { |
|
|
|
where += " and ctpul.create_time>='" + args.StartTime + "'" |
|
|
|
} |
|
|
|
if args.EndTime != "" { |
|
|
|
where += " and ctpul.create_time<>>='" + args.EndTime + "'" |
|
|
|
} |
|
|
|
sqlCount := `select count(*) as count from 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) |
|
|
|
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 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 |
|
|
|
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` |
|
|
|
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{"审核中", "审核通过", "审核拒绝"} |
|
|
|
for _, v := range nativeString { |
|
|
|
tmp := map[string]string{ |
|
|
|
"project_name": v["project_name"], |
|
|
|
"id": v["id"], |
|
|
|
"user_name": v["nickname"], |
|
|
|
"user_phone": v["phone"], |
|
|
|
"state": v["state"], |
|
|
|
"state_str": stateType[utils.StrToInt(v["state"])], |
|
|
|
"create_time": v["create_time"], |
|
|
|
"remark": v["remark"], |
|
|
|
} |
|
|
|
hotTask = append(hotTask, tmp) |
|
|
|
} |
|
|
|
res := map[string]interface{}{ |
|
|
|
"state_type": []map[string]string{ |
|
|
|
{"name": "未审核", "value": "0"}, |
|
|
|
{"name": "审核成功", "value": "1"}, |
|
|
|
{"name": "审核拒绝", "value": "2"}, |
|
|
|
}, |
|
|
|
"total": total, "list": hotTask, |
|
|
|
} |
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
func CenterOperatorProjectDel(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.CampTaskProjectUserLike{}) |
|
|
|
e.OutSuc(c, "success", nil) |
|
|
|
return |
|
|
|
} |
|
|
|
func CenterOperatorProjectRemark(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).Cols("remark").Update(&models.CampTaskProjectUserLike{Remark: args.Remark}) |
|
|
|
e.OutSuc(c, "success", nil) |
|
|
|
return |
|
|
|
} |