劲创营---任务项目
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.
 
 
 

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