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

svc_index.go 5.1 KiB

3 weeks ago
2 weeks ago
4 days ago
6 days ago
4 days ago
6 days ago
2 weeks ago
3 weeks ago
4 days ago
4 days ago
3 weeks ago
4 days ago
3 weeks ago
4 days ago
3 weeks ago
4 days ago
2 weeks ago
3 weeks ago
4 days ago
3 weeks ago
4 days ago
3 weeks ago
4 days ago
3 weeks ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  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. user := store
  14. if store.Pid > 0 {
  15. NewCampTaskStoreUserDb := implement.NewCampTaskStoreUserDb(svc.MasterDb(c))
  16. user, _ = NewCampTaskStoreUserDb.GetCampTaskStoreUser(store.Pid)
  17. } else {
  18. role = append(role, "director")
  19. }
  20. if user.IsShowProject == 1 {
  21. role = append(role, "project")
  22. }
  23. res := map[string]interface{}{
  24. "role": role,
  25. "phone": store.Phone,
  26. }
  27. e.OutSuc(c, res, nil)
  28. return
  29. }
  30. func Index(c *gin.Context) {
  31. storeId := svc.GetCampStoreId(c)
  32. //TODO 要根据账号
  33. store := svc.GetCampStore(c)
  34. taskIds := make([]int, 0)
  35. contact := 0
  36. if store.Pid > 0 {
  37. var task = make([]models.CampTaskList, 0)
  38. svc.MasterDb(c).Where("store_id=? and is_delete=0 and contact=?", storeId, store.Id).Find(&task)
  39. for _, v := range task {
  40. taskIds = append(taskIds, v.Id)
  41. }
  42. contact = store.Id
  43. }
  44. taskSee := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId)
  45. if contact > 0 {
  46. taskSee.And("contact=?", contact)
  47. }
  48. allTaskCount, _ := taskSee.Count(&models.CampTaskList{})
  49. orderSee := svc.MasterDb(c).Where("store_id=? and state=1", storeId)
  50. if store.Pid > 0 {
  51. orderSee.In("task_id", taskIds)
  52. }
  53. orderCount, _ := orderSee.Count(&models.CampTaskUserPromotionOrder{})
  54. settleSee := svc.MasterDb(c).Where("store_id=? and settle_time is not null", storeId)
  55. if store.Pid > 0 {
  56. settleSee.In("task_id", taskIds)
  57. }
  58. settleCount, _ := settleSee.Sum(&models.CampTaskUserPromotionOrder{}, "payment")
  59. totalList := []map[string]string{
  60. {"name": "发布总的任务数", "value": utils.Int64ToStr(allTaskCount), "unit": "(个)"},
  61. {"name": "已完成的订单总数", "value": utils.Int64ToStr(orderCount), "unit": "(单)"},
  62. {"name": "已结算的总金额", "value": utils.Float64ToStr(settleCount), "unit": "(元)"},
  63. }
  64. myTask := make([]map[string]string, 0)
  65. var myTaskList []models.CampTaskList
  66. sess := svc.MasterDb(c).Where("store_id=?", storeId)
  67. if contact > 0 {
  68. sess.And("contact=?", contact)
  69. }
  70. sess.Limit(5).OrderBy("apply_time desc,id desc").Find(&myTaskList)
  71. for _, v := range myTaskList {
  72. tmp := map[string]string{
  73. "id": utils.IntToStr(v.Id),
  74. "name": v.Name,
  75. "icon": svc.ImageFormat(c, v.Logo),
  76. }
  77. myTask = append(myTask, tmp)
  78. }
  79. hotTask := make([]map[string]string, 0)
  80. NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c))
  81. hotTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "1", 1, 5, "success_num desc,id desc")
  82. if hotTaskList != nil {
  83. for _, v := range *hotTaskList {
  84. tmp := map[string]string{
  85. "id": utils.IntToStr(v.Id),
  86. "name": v.Name,
  87. "price": v.Price,
  88. "num": utils.IntToStr(v.Num),
  89. "icon": svc.ImageFormat(c, v.Logo),
  90. "timer": v.StartTime.Format("2006-01-02") + "至" + v.EndTime.Format("2006-01-02"),
  91. }
  92. hotTask = append(hotTask, tmp)
  93. }
  94. }
  95. res := map[string]interface{}{
  96. "total_list": totalList,
  97. "my_task_count": utils.Int64ToStr(allTaskCount),
  98. "my_task": myTask,
  99. "hot_task": hotTask,
  100. }
  101. e.OutSuc(c, res, nil)
  102. return
  103. }
  104. func StoreIndex(c *gin.Context) {
  105. storeId := svc.GetCampStoreId(c)
  106. store := svc.GetCampStore(c)
  107. taskIds := make([]int, 0)
  108. contact := 0
  109. if store.Pid > 0 {
  110. var task = make([]models.CampTaskList, 0)
  111. svc.MasterDb(c).Where("store_id=? and is_delete=0 and contact=?", storeId, store.Id).Find(&task)
  112. for _, v := range task {
  113. taskIds = append(taskIds, v.Id)
  114. }
  115. contact = store.Id
  116. }
  117. taskSee := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId)
  118. if contact > 0 {
  119. taskSee.And("contact=?", contact)
  120. }
  121. allTaskCount, _ := taskSee.Count(&models.CampTaskList{})
  122. orderSee := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId)
  123. if store.Pid > 0 {
  124. orderSee.In("task_id", taskIds)
  125. }
  126. orderCount, _ := orderSee.Count(&models.CampTaskUserPromotionOrder{})
  127. orderMoney, _ := orderSee.Sum(&models.CampTaskUserPromotionOrder{}, "payment")
  128. settleCount, _ := svc.MasterDb(c).Where("store_id=?", storeId).Sum(&models.CampTaskStoreUserAmount{}, "amount")
  129. totalList := []map[string]string{
  130. {"name": "当前待结算订单", "value": utils.Int64ToStr(orderCount)},
  131. {"name": "当前待结算金额", "value": "¥" + utils.Float64ToStr(orderMoney)},
  132. {"name": "当前剩余预存金额", "value": "¥" + utils.Float64ToStr(settleCount)},
  133. }
  134. myTask := make([]map[string]string, 0)
  135. var myTaskList []models.CampTaskList
  136. sess := svc.MasterDb(c).Where("store_id=?", storeId)
  137. if contact > 0 {
  138. sess.And("contact=?", contact)
  139. }
  140. sess.Limit(5).OrderBy("apply_time desc,id desc").Find(&myTaskList)
  141. for _, v := range myTaskList {
  142. tmp := map[string]string{
  143. "id": utils.IntToStr(v.Id),
  144. "name": v.Name,
  145. "icon": svc.ImageFormat(c, v.Logo),
  146. }
  147. myTask = append(myTask, tmp)
  148. }
  149. res := map[string]interface{}{
  150. "total_list": totalList,
  151. "my_task_count": utils.Int64ToStr(allTaskCount),
  152. "my_task": myTask,
  153. }
  154. e.OutSuc(c, res, nil)
  155. return
  156. }