劲创营---任务项目
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

101 行
3.6 KiB

  1. package svc
  2. import (
  3. "applet/app/comm/db"
  4. "applet/app/comm/e"
  5. "applet/app/comm/svc"
  6. "applet/app/comm/utils"
  7. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/implement"
  8. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
  9. "fmt"
  10. "github.com/gin-gonic/gin"
  11. )
  12. func UserInfo(c *gin.Context) {
  13. user := svc.GetUser(c)
  14. operator := "0"
  15. if user.Info.Level == 3 {
  16. operator = "1"
  17. }
  18. res := map[string]string{
  19. "phone": user.Info.Phone,
  20. "is_operator": operator,
  21. }
  22. e.OutSuc(c, res, nil)
  23. return
  24. }
  25. func Index(c *gin.Context) {
  26. user := svc.GetUser(c)
  27. allTaskCount, _ := svc.MasterDb(c).Where("uid=?", user.Info.Uid).Count(&models.CampTaskOperatorTask{})
  28. 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
  29. LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid
  30. WHERE ctupor.oid in(select oid from camp_task_user_promotion_order_relate where uid=%d ) GROUP BY ctupor.level`
  31. sql = fmt.Sprintf(sql, user.Info.Uid, user.Info.Uid, user.Info.Uid, user.Info.Uid)
  32. nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql)
  33. var firstAmount float64 = 0
  34. var secondAmount float64 = 0
  35. var ownAmount float64 = 0
  36. var count = 0
  37. var sum float64 = 0
  38. for _, v := range nativeString {
  39. if v["level"] == "0" {
  40. firstAmount += utils.StrToFloat64(v["amount"])
  41. }
  42. if v["level"] == "1" {
  43. secondAmount += utils.StrToFloat64(v["amount"])
  44. }
  45. ownAmount += utils.StrToFloat64(v["own_amount"])
  46. sum += utils.StrToFloat64(v["own_payment"])
  47. count += utils.StrToInt(v["own_count"])
  48. }
  49. totalList := []map[string]string{
  50. {"name": "佣金总金额", "value": utils.Float64ToStr(sum), "unit": "¥"},
  51. {"name": "推广总订单数", "value": utils.IntToStr(count), "unit": ""},
  52. {"name": "用户所得", "value": utils.Float64ToStr(firstAmount), "unit": "¥"},
  53. {"name": "团长所得", "value": utils.Float64ToStr(secondAmount), "unit": "¥"},
  54. {"name": "我的分成", "value": utils.Float64ToStr(ownAmount), "unit": "¥"},
  55. }
  56. myTask := make([]map[string]string, 0)
  57. NewCampTaskOperatorTaskDb := implement.NewCampTaskOperatorTaskDb(svc.MasterDb(c))
  58. myTaskList, _, _ := NewCampTaskOperatorTaskDb.FindCampTaskOperatorTaskGroup(user.Info.Uid, 1, 5, "")
  59. if myTaskList != nil {
  60. for _, v := range myTaskList {
  61. tmp := map[string]string{
  62. "id": utils.IntToStr(v.CampTaskOperatorTask.TaskId),
  63. "name": v.Name,
  64. "icon": svc.ImageFormat(c, v.Logo),
  65. }
  66. myTask = append(myTask, tmp)
  67. }
  68. }
  69. hotTask := make([]map[string]string, 0)
  70. NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c))
  71. hotTaskList, _ := NewCampTaskListDb.FindCampTaskList("", "", "1", 1, 5, "success_num desc,id desc")
  72. if hotTaskList != nil {
  73. for _, v := range *hotTaskList {
  74. tmp := map[string]string{
  75. "id": utils.IntToStr(v.Id),
  76. "is_check": "0",
  77. "name": v.Name,
  78. "price": v.Price,
  79. "num": utils.IntToStr(v.Num),
  80. "icon": svc.ImageFormat(c, v.Logo),
  81. "timer": v.StartTime.Format("2006-01-02") + "至" + v.EndTime.Format("2006-01-02"),
  82. }
  83. counts, _ := svc.MasterDb(c).Where("uid=? and task_id=?", user.Info.Uid, v.Id).Count(&models.CampTaskOperatorTask{})
  84. if counts > 0 {
  85. tmp["is_check"] = "1"
  86. }
  87. hotTask = append(hotTask, tmp)
  88. }
  89. }
  90. res := map[string]interface{}{
  91. "total_list": totalList,
  92. "my_task_count": utils.Int64ToStr(allTaskCount),
  93. "hot_task": hotTask,
  94. "my_task": myTask,
  95. }
  96. e.OutSuc(c, res, nil)
  97. return
  98. }