劲创营---任务项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

104 regels
3.9 KiB

  1. package svc
  2. import (
  3. "applet/app/comm/e"
  4. "applet/app/comm/svc"
  5. "applet/app/comm/utils"
  6. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/implement"
  7. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func UserInfo(c *gin.Context) {
  11. store := svc.GetCampStore(c)
  12. role := []string{"comm"}
  13. if store.IsShowProject == 1 {
  14. role = append(role, "project")
  15. }
  16. res := map[string]interface{}{
  17. "phone": store.Phone,
  18. "role": role,
  19. }
  20. e.OutSuc(c, res, nil)
  21. return
  22. }
  23. func Index(c *gin.Context) {
  24. storeId := svc.GetCampStoreId(c)
  25. allTaskCount, _ := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Count(&models.CampTaskList{})
  26. orderCount, _ := svc.MasterDb(c).Where("store_id=? and state=1", storeId).Count(&models.CampTaskUserPromotionOrder{})
  27. settleCount, _ := svc.MasterDb(c).Where("store_id=? and settle_time is not null", storeId).Sum(&models.CampTaskUserPromotionOrder{}, "payment")
  28. totalList := []map[string]string{
  29. {"name": "发布总的任务数", "value": utils.Int64ToStr(allTaskCount), "unit": "(个)"},
  30. {"name": "已完成的订单总数", "value": utils.Int64ToStr(orderCount), "unit": "(单)"},
  31. {"name": "已结算的总金额", "value": utils.Float64ToStr(settleCount), "unit": "(元)"},
  32. }
  33. myTask := make([]map[string]string, 0)
  34. NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c))
  35. myTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "", 1, 5, "apply_time desc")
  36. if myTaskList != nil {
  37. for _, v := range *myTaskList {
  38. tmp := map[string]string{
  39. "id": utils.IntToStr(v.Id),
  40. "name": v.Name,
  41. "icon": svc.ImageFormat(c, v.Logo),
  42. }
  43. myTask = append(myTask, tmp)
  44. }
  45. }
  46. hotTask := make([]map[string]string, 0)
  47. hotTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "1", 1, 5, "success_num desc,id desc")
  48. if hotTaskList != nil {
  49. for _, v := range *hotTaskList {
  50. tmp := map[string]string{
  51. "id": utils.IntToStr(v.Id),
  52. "name": v.Name,
  53. "price": v.Price,
  54. "num": utils.IntToStr(v.Num),
  55. "icon": svc.ImageFormat(c, v.Logo),
  56. "timer": v.StartTime.Format("2006-01-02") + "至" + v.EndTime.Format("2006-01-02"),
  57. }
  58. hotTask = append(hotTask, tmp)
  59. }
  60. }
  61. res := map[string]interface{}{
  62. "total_list": totalList,
  63. "my_task_count": utils.Int64ToStr(allTaskCount),
  64. "my_task": myTask,
  65. "hot_task": hotTask,
  66. }
  67. e.OutSuc(c, res, nil)
  68. return
  69. }
  70. func StoreIndex(c *gin.Context) {
  71. storeId := svc.GetCampStoreId(c)
  72. allTaskCount, _ := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Count(&models.CampTaskList{})
  73. orderCount, _ := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId).Count(&models.CampTaskUserPromotionOrder{})
  74. orderMoney, _ := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId).Sum(&models.CampTaskUserPromotionOrder{}, "payment")
  75. settleCount, _ := svc.MasterDb(c).Where("store_id=?", storeId).Sum(&models.CampTaskStoreUserAmount{}, "amount")
  76. totalList := []map[string]string{
  77. {"name": "当前待结算订单", "value": utils.Int64ToStr(orderCount)},
  78. {"name": "当前待结算金额", "value": "¥" + utils.Float64ToStr(orderMoney)},
  79. {"name": "当前剩余预存金额", "value": "¥" + utils.Float64ToStr(settleCount)},
  80. }
  81. myTask := make([]map[string]string, 0)
  82. NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c))
  83. myTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "", 1, 5, "apply_time desc")
  84. if myTaskList != nil {
  85. for _, v := range *myTaskList {
  86. tmp := map[string]string{
  87. "id": utils.IntToStr(v.Id),
  88. "name": v.Name,
  89. "icon": svc.ImageFormat(c, v.Logo),
  90. }
  91. myTask = append(myTask, tmp)
  92. }
  93. }
  94. res := map[string]interface{}{
  95. "total_list": totalList,
  96. "my_task_count": utils.Int64ToStr(allTaskCount),
  97. "my_task": myTask,
  98. }
  99. e.OutSuc(c, res, nil)
  100. return
  101. }