劲创营---任务项目
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

85 Zeilen
3.2 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 Index(c *gin.Context) {
  13. user := svc.GetUser(c)
  14. sum, _ := svc.MasterDb(c).Where("form_uid=?", user.Info.Uid).Sum(&models.CampTaskUserPromotionOrder{}, "payment")
  15. count, _ := svc.MasterDb(c).Where("form_uid=?", user.Info.Uid).Count(&models.CampTaskUserPromotionOrder{})
  16. allTaskCount, _ := svc.MasterDb(c).Where("uid=?", user.Info.Uid).Count(&models.CampTaskOperatorTask{})
  17. sql := `SELECT SUM(ctupor.amount) as amount,SUM(IF(ctupor.uid=%d,ctupor.amount,0)) as own_amount,ctupor.level FROM camp_task_user_promotion_order_relate ctupor
  18. LEFT JOIN camp_task_user_promotion_order ctupo on ctupo.oid=ctupor.oid
  19. WHERE ctupo.form_uid=%d GROUP BY ctupor.level`
  20. sql = fmt.Sprintf(sql, user.Info.Uid, user.Info.Uid)
  21. nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql)
  22. var firstAmount float64 = 0
  23. var secondAmount float64 = 0
  24. var ownAmount float64 = 0
  25. for _, v := range nativeString {
  26. if v["level"] == "0" {
  27. firstAmount += utils.StrToFloat64(v["amount"])
  28. }
  29. if v["level"] == "1" {
  30. secondAmount += utils.StrToFloat64(v["amount"])
  31. }
  32. ownAmount += utils.StrToFloat64(v["own_amount"])
  33. }
  34. totalList := []map[string]string{
  35. {"name": "佣金总金额", "value": utils.Float64ToStr(sum), "unit": "¥"},
  36. {"name": "推广总订单数", "value": utils.Int64ToStr(count), "unit": ""},
  37. {"name": "用户所得", "value": utils.Float64ToStr(firstAmount), "unit": "¥"},
  38. {"name": "团长所得", "value": utils.Float64ToStr(secondAmount), "unit": "¥"},
  39. {"name": "我的分成", "value": utils.Float64ToStr(ownAmount), "unit": "¥"},
  40. }
  41. myTask := make([]map[string]string, 0)
  42. NewCampTaskOperatorTaskDb := implement.NewCampTaskOperatorTaskDb(svc.MasterDb(c))
  43. myTaskList, _, _ := NewCampTaskOperatorTaskDb.FindCampTaskOperatorTaskGroup(user.Info.Uid, 1, 5, "")
  44. if myTaskList != nil {
  45. for _, v := range myTaskList {
  46. tmp := map[string]string{
  47. "id": utils.IntToStr(v.CampTaskOperatorTask.TaskId),
  48. "name": v.Name,
  49. "icon": svc.ImageFormat(c, v.Logo),
  50. }
  51. myTask = append(myTask, tmp)
  52. }
  53. }
  54. hotTask := make([]map[string]string, 0)
  55. NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c))
  56. hotTaskList, _ := NewCampTaskListDb.FindCampTaskList("", "", "1", 1, 5, "success_num desc,id desc")
  57. if hotTaskList != nil {
  58. for _, v := range *hotTaskList {
  59. tmp := map[string]string{
  60. "id": utils.IntToStr(v.Id),
  61. "is_check": "0",
  62. "name": v.Name,
  63. "price": v.Price,
  64. "num": utils.IntToStr(v.Num),
  65. "icon": svc.ImageFormat(c, v.Logo),
  66. "timer": v.StartTime.Format("2006-01-02") + "至" + v.EndTime.Format("2006-01-02"),
  67. }
  68. counts, _ := svc.MasterDb(c).Where("uid=? and task_id=?", user.Info.Uid, v.Id).Count(&models.CampTaskOperatorTask{})
  69. if counts > 0 {
  70. tmp["is_check"] = "1"
  71. }
  72. hotTask = append(hotTask, tmp)
  73. }
  74. }
  75. res := map[string]interface{}{
  76. "total_list": totalList,
  77. "my_task_count": utils.Int64ToStr(allTaskCount),
  78. "hot_task": hotTask,
  79. }
  80. e.OutSuc(c, res, nil)
  81. return
  82. }