workspace_controller.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/sirupsen/logrus"
  5. "youngee_b_api/app/service"
  6. "youngee_b_api/app/vo"
  7. )
  8. type WorkspaceController struct{}
  9. type GetTakegoodsInfoParam struct {
  10. EnterpriseId string `json:"enterprise_id"`
  11. SubAccountId int64 `json:"sub_account_id"`
  12. DateRange string `json:"days"`
  13. }
  14. func (w WorkspaceController) GetTakegoodsInfo(c *gin.Context) {
  15. search := &GetTakegoodsInfoParam{}
  16. err := c.BindJSON(&search)
  17. if err != nil {
  18. logrus.Errorf("Request bind err:%+v\n", err)
  19. returnError(c, 40000, "Parameter Error: "+err.Error())
  20. return
  21. }
  22. result := service.EnterpriseService{}.GetEnterpriseTakegoodsInfo(search.EnterpriseId, search.DateRange)
  23. returnSuccess(c, 20000, result)
  24. }
  25. // 任务待办-公开任务
  26. func (t WorkspaceController) GetPublicTask(c *gin.Context) {
  27. param := &vo.CommonParam{}
  28. err := c.BindJSON(param)
  29. if err != nil {
  30. logrus.Errorf("Request bind err:%+v\n", err)
  31. returnError(c, 40000, "Parameter Error: "+err.Error())
  32. return
  33. }
  34. selectionToDo, err1 := service.SelectionInfoService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId)
  35. if err1 != nil {
  36. logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
  37. returnError(c, 40000, err1.Error())
  38. return
  39. }
  40. projectToDo, err2 := service.ProjectService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 1)
  41. if err2 != nil {
  42. logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
  43. returnError(c, 40000, err2.Error())
  44. return
  45. }
  46. localLifeToDo, err3 := service.LocalLifeService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 1)
  47. if err3 != nil {
  48. logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err3)
  49. returnError(c, 40000, err3.Error())
  50. return
  51. }
  52. resultMap := make(map[string]*map[string]map[string]int64)
  53. resultMap["selectionToDo"] = &selectionToDo
  54. resultMap["projectToDo"] = &projectToDo
  55. resultMap["localLifeToDo"] = &localLifeToDo
  56. returnSuccess(c, 20000, resultMap)
  57. }
  58. // 任务待办-定向任务
  59. func (t WorkspaceController) GetTargetTask(c *gin.Context) {
  60. param := &vo.CommonParam{}
  61. err := c.BindJSON(param)
  62. if err != nil {
  63. logrus.Errorf("Request bind err:%+v\n", err)
  64. returnError(c, 40000, "Parameter Error: "+err.Error())
  65. return
  66. }
  67. selectionToDo, err1 := service.SelectionInfoService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId)
  68. if err1 != nil {
  69. logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
  70. returnError(c, 40000, err1.Error())
  71. return
  72. }
  73. projectToDo, err2 := service.ProjectService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 2)
  74. if err2 != nil {
  75. logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
  76. returnError(c, 40000, err2.Error())
  77. return
  78. }
  79. localLifeToDo, err3 := service.LocalLifeService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 2)
  80. if err3 != nil {
  81. logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err3)
  82. returnError(c, 40000, err3.Error())
  83. return
  84. }
  85. resultMap := make(map[string]*map[string]map[string]int64)
  86. resultMap["selectionToDo"] = &selectionToDo
  87. resultMap["projectToDo"] = &projectToDo
  88. resultMap["localLifeToDo"] = &localLifeToDo
  89. returnSuccess(c, 20000, resultMap)
  90. }
  91. // 任务待办-寄样物流
  92. func (t WorkspaceController) GetLogistics(c *gin.Context) {
  93. param := &vo.CommonParam{}
  94. err := c.BindJSON(param)
  95. if err != nil {
  96. logrus.Errorf("Request bind err:%+v\n", err)
  97. returnError(c, 40000, "Parameter Error: "+err.Error())
  98. return
  99. }
  100. selectionToDo, err1 := service.SelectionInfoService{}.GetLogisticsToDo(param.EnterpriseId, param.SubAccountId)
  101. if err1 != nil {
  102. logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
  103. returnError(c, 40000, err1.Error())
  104. return
  105. }
  106. projectToDo, err2 := service.ProjectService{}.GetLogisticsToDo(param.EnterpriseId, param.SubAccountId)
  107. if err2 != nil {
  108. logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
  109. returnError(c, 40000, err2.Error())
  110. return
  111. }
  112. resultMap := make(map[string]*map[string]map[string]int64)
  113. resultMap["selectionToDo"] = &selectionToDo
  114. resultMap["projectToDo"] = &projectToDo
  115. returnSuccess(c, 20000, resultMap)
  116. }
  117. // 任务待办-探店邀约
  118. func (t WorkspaceController) GetExplore(c *gin.Context) {
  119. param := &vo.CommonParam{}
  120. err := c.BindJSON(param)
  121. if err != nil {
  122. logrus.Errorf("Request bind err:%+v\n", err)
  123. returnError(c, 40000, "Parameter Error: "+err.Error())
  124. return
  125. }
  126. localLifeToDo, err1 := service.LocalLifeService{}.GetExploreToDo(param.EnterpriseId, param.SubAccountId)
  127. if err1 != nil {
  128. logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err1)
  129. returnError(c, 40000, err1.Error())
  130. return
  131. }
  132. resultMap := make(map[string]*map[string]map[string]int64)
  133. resultMap["localLifeToDo"] = &localLifeToDo
  134. returnSuccess(c, 20000, resultMap)
  135. }
  136. // 任务待办-违约管理
  137. func (t WorkspaceController) GetDefault(c *gin.Context) {
  138. param := &vo.CommonParam{}
  139. err := c.BindJSON(param)
  140. if err != nil {
  141. logrus.Errorf("Request bind err:%+v\n", err)
  142. returnError(c, 40000, "Parameter Error: "+err.Error())
  143. return
  144. }
  145. resultMap := make(map[string]*map[string]map[string]int64)
  146. // 公开
  147. projectToDoPublic, err1 := service.ProjectService{}.GetDefaultToDo(param.EnterpriseId, param.SubAccountId, 1)
  148. if err1 != nil {
  149. logrus.Errorf("[ProjectService] call Show err:%+v\n", err1)
  150. returnError(c, 40000, err1.Error())
  151. return
  152. }
  153. localLifeToDoPublic, err2 := service.LocalLifeService{}.GetDefaultToDo(param.EnterpriseId, param.SubAccountId, 1)
  154. if err2 != nil {
  155. logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err2)
  156. returnError(c, 40000, err2.Error())
  157. return
  158. }
  159. resPublic := make(map[string]map[string]int64)
  160. redbook1 := make(map[string]int64)
  161. redbook1["noSketch"] = projectToDoPublic["redbook"]["noSketch"] + localLifeToDoPublic["redbook"]["noSketch"]
  162. redbook1["noWork"] = projectToDoPublic["redbook"]["noWork"] + localLifeToDoPublic["redbook"]["noWork"]
  163. redbook1["noData"] = projectToDoPublic["redbook"]["noData"] + localLifeToDoPublic["redbook"]["noData"]
  164. redbook1["cooperateOver"] = projectToDoPublic["redbook"]["cooperateOver"] + localLifeToDoPublic["redbook"]["cooperateOver"]
  165. resPublic["redbook"] = redbook1
  166. douyin1 := make(map[string]int64)
  167. douyin1["noSketch"] = projectToDoPublic["douyin"]["noSketch"] + localLifeToDoPublic["douyin"]["noSketch"]
  168. douyin1["noWork"] = projectToDoPublic["douyin"]["noWork"] + localLifeToDoPublic["douyin"]["noWork"]
  169. douyin1["noData"] = projectToDoPublic["douyin"]["noData"] + localLifeToDoPublic["douyin"]["noData"]
  170. douyin1["cooperateOver"] = projectToDoPublic["douyin"]["cooperateOver"] + localLifeToDoPublic["douyin"]["cooperateOver"]
  171. resPublic["douyin"] = douyin1
  172. kuaishou1 := make(map[string]int64)
  173. kuaishou1["noSketch"] = projectToDoPublic["kuaishou"]["noSketch"] + localLifeToDoPublic["kuaishou"]["noSketch"]
  174. kuaishou1["noWork"] = projectToDoPublic["kuaishou"]["noWork"] + localLifeToDoPublic["kuaishou"]["noWork"]
  175. kuaishou1["noData"] = projectToDoPublic["kuaishou"]["noData"] + localLifeToDoPublic["kuaishou"]["noData"]
  176. kuaishou1["cooperateOver"] = projectToDoPublic["kuaishou"]["cooperateOver"] + localLifeToDoPublic["kuaishou"]["cooperateOver"]
  177. resPublic["kuaishou"] = kuaishou1
  178. weibo1 := make(map[string]int64)
  179. weibo1["noSketch"] = projectToDoPublic["weibo"]["noSketch"] + localLifeToDoPublic["weibo"]["noSketch"]
  180. weibo1["noWork"] = projectToDoPublic["weibo"]["noWork"] + localLifeToDoPublic["weibo"]["noWork"]
  181. weibo1["noData"] = projectToDoPublic["weibo"]["noData"] + localLifeToDoPublic["weibo"]["noData"]
  182. weibo1["cooperateOver"] = projectToDoPublic["weibo"]["cooperateOver"] + localLifeToDoPublic["weibo"]["cooperateOver"]
  183. resPublic["weibo"] = weibo1
  184. bilibili1 := make(map[string]int64)
  185. bilibili1["noSketch"] = projectToDoPublic["bilibili"]["noSketch"] + localLifeToDoPublic["bilibili"]["noSketch"]
  186. bilibili1["noWork"] = projectToDoPublic["bilibili"]["noWork"] + localLifeToDoPublic["bilibili"]["noWork"]
  187. bilibili1["noData"] = projectToDoPublic["bilibili"]["noData"] + localLifeToDoPublic["bilibili"]["noData"]
  188. bilibili1["cooperateOver"] = projectToDoPublic["bilibili"]["cooperateOver"] + localLifeToDoPublic["bilibili"]["cooperateOver"]
  189. resPublic["bilibili"] = bilibili1
  190. all1 := make(map[string]int64)
  191. all1["noSketch"] = resPublic["redbook"]["noSketch"] + resPublic["douyin"]["noSketch"] + resPublic["kuaishou"]["noSketch"] + resPublic["weibo"]["noSketch"] + resPublic["bilibili"]["noSketch"]
  192. all1["noWork"] = resPublic["redbook"]["noWork"] + resPublic["douyin"]["noWork"] + resPublic["kuaishou"]["noWork"] + resPublic["weibo"]["noWork"] + resPublic["bilibili"]["noWork"]
  193. all1["noData"] = resPublic["redbook"]["noData"] + resPublic["douyin"]["noData"] + resPublic["kuaishou"]["noData"] + resPublic["weibo"]["noData"] + resPublic["bilibili"]["noData"]
  194. all1["cooperateOver"] = resPublic["redbook"]["cooperateOver"] + resPublic["douyin"]["cooperateOver"] + resPublic["kuaishou"]["cooperateOver"] + resPublic["weibo"]["cooperateOver"] + resPublic["bilibili"]["cooperateOver"]
  195. resPublic["all"] = all1
  196. resultMap["resPublic"] = &resPublic
  197. // 定向
  198. projectToDoTarget, err3 := service.ProjectService{}.GetDefaultToDo(param.EnterpriseId, param.SubAccountId, 2)
  199. if err3 != nil {
  200. logrus.Errorf("[ProjectService] call Show err:%+v\n", err3)
  201. returnError(c, 40000, err3.Error())
  202. return
  203. }
  204. localLifeToDoTarget, err4 := service.LocalLifeService{}.GetDefaultToDo(param.EnterpriseId, param.SubAccountId, 2)
  205. if err4 != nil {
  206. logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err4)
  207. returnError(c, 40000, err4.Error())
  208. return
  209. }
  210. resTarget := make(map[string]map[string]int64)
  211. redbook2 := make(map[string]int64)
  212. redbook2["noSketch"] = projectToDoTarget["redbook"]["noSketch"] + localLifeToDoTarget["redbook"]["noSketch"]
  213. redbook2["noWork"] = projectToDoTarget["redbook"]["noWork"] + localLifeToDoTarget["redbook"]["noWork"]
  214. redbook2["noData"] = projectToDoTarget["redbook"]["noData"] + localLifeToDoTarget["redbook"]["noData"]
  215. redbook2["cooperateOver"] = projectToDoTarget["redbook"]["cooperateOver"] + localLifeToDoTarget["redbook"]["cooperateOver"]
  216. resTarget["redbook"] = redbook2
  217. douyin2 := make(map[string]int64)
  218. douyin2["noSketch"] = projectToDoTarget["douyin"]["noSketch"] + localLifeToDoTarget["douyin"]["noSketch"]
  219. douyin2["noWork"] = projectToDoTarget["douyin"]["noWork"] + localLifeToDoTarget["douyin"]["noWork"]
  220. douyin2["noData"] = projectToDoTarget["douyin"]["noData"] + localLifeToDoTarget["douyin"]["noData"]
  221. douyin2["cooperateOver"] = projectToDoTarget["douyin"]["cooperateOver"] + localLifeToDoTarget["douyin"]["cooperateOver"]
  222. resTarget["douyin"] = douyin2
  223. kuaishou2 := make(map[string]int64)
  224. kuaishou2["noSketch"] = projectToDoTarget["kuaishou"]["noSketch"] + localLifeToDoTarget["kuaishou"]["noSketch"]
  225. kuaishou2["noWork"] = projectToDoTarget["kuaishou"]["noWork"] + localLifeToDoTarget["kuaishou"]["noWork"]
  226. kuaishou2["noData"] = projectToDoTarget["kuaishou"]["noData"] + localLifeToDoTarget["kuaishou"]["noData"]
  227. kuaishou2["cooperateOver"] = projectToDoTarget["kuaishou"]["cooperateOver"] + localLifeToDoTarget["kuaishou"]["cooperateOver"]
  228. resTarget["kuaishou"] = kuaishou2
  229. weibo2 := make(map[string]int64)
  230. weibo2["noSketch"] = projectToDoTarget["weibo"]["noSketch"] + localLifeToDoTarget["weibo"]["noSketch"]
  231. weibo2["noWork"] = projectToDoTarget["weibo"]["noWork"] + localLifeToDoTarget["weibo"]["noWork"]
  232. weibo2["noData"] = projectToDoTarget["weibo"]["noData"] + localLifeToDoTarget["weibo"]["noData"]
  233. weibo2["cooperateOver"] = projectToDoTarget["weibo"]["cooperateOver"] + localLifeToDoTarget["weibo"]["cooperateOver"]
  234. resTarget["weibo"] = weibo2
  235. bilibili2 := make(map[string]int64)
  236. bilibili2["noSketch"] = projectToDoTarget["bilibili"]["noSketch"] + localLifeToDoTarget["bilibili"]["noSketch"]
  237. bilibili2["noWork"] = projectToDoTarget["bilibili"]["noWork"] + localLifeToDoTarget["bilibili"]["noWork"]
  238. bilibili2["noData"] = projectToDoTarget["bilibili"]["noData"] + localLifeToDoTarget["bilibili"]["noData"]
  239. bilibili2["cooperateOver"] = projectToDoTarget["bilibili"]["cooperateOver"] + localLifeToDoTarget["bilibili"]["cooperateOver"]
  240. resTarget["bilibili"] = bilibili2
  241. all2 := make(map[string]int64)
  242. all2["noSketch"] = resTarget["redbook"]["noSketch"] + resTarget["douyin"]["noSketch"] + resTarget["kuaishou"]["noSketch"] + resTarget["weibo"]["noSketch"] + resTarget["bilibili"]["noSketch"]
  243. all2["noWork"] = resTarget["redbook"]["noWork"] + resTarget["douyin"]["noWork"] + resTarget["kuaishou"]["noWork"] + resTarget["weibo"]["noWork"] + resTarget["bilibili"]["noWork"]
  244. all2["noData"] = resTarget["redbook"]["noData"] + resTarget["douyin"]["noData"] + resTarget["kuaishou"]["noData"] + resTarget["weibo"]["noData"] + resTarget["bilibili"]["noData"]
  245. all2["cooperateOver"] = resTarget["redbook"]["cooperateOver"] + resTarget["douyin"]["cooperateOver"] + resTarget["kuaishou"]["cooperateOver"] + resTarget["weibo"]["cooperateOver"] + resTarget["bilibili"]["cooperateOver"]
  246. resTarget["all"] = all2
  247. resultMap["resTarget"] = &resTarget
  248. returnSuccess(c, 20000, resultMap)
  249. }
  250. // 合作待办-任务邀约
  251. func (t WorkspaceController) GetTaskInvite(c *gin.Context) {
  252. param := &vo.CommonParam{}
  253. err := c.BindJSON(param)
  254. if err != nil {
  255. logrus.Errorf("Request bind err:%+v\n", err)
  256. returnError(c, 40000, "Parameter Error: "+err.Error())
  257. return
  258. }
  259. projectToDo, err1 := service.ProjectService{}.GetTaskInviteToDo(param.EnterpriseId, param.SubAccountId)
  260. if err1 != nil {
  261. logrus.Errorf("[ProjectService] call Show err:%+v\n", err1)
  262. returnError(c, 40000, err1.Error())
  263. return
  264. }
  265. localLifeToDo, err2 := service.LocalLifeService{}.GetTaskInviteToDo(param.EnterpriseId, param.SubAccountId)
  266. if err2 != nil {
  267. logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
  268. returnError(c, 40000, err2.Error())
  269. return
  270. }
  271. resultMap := make(map[string]*map[string]map[string]int64)
  272. resultMap["projectToDo"] = &projectToDo
  273. resultMap["localLifeToDo"] = &localLifeToDo
  274. returnSuccess(c, 20000, resultMap)
  275. }
  276. // 合作待办-入库邀约
  277. func (t WorkspaceController) GetWarehouseInvite(c *gin.Context) {
  278. param := &vo.CommonParam{}
  279. err := c.BindJSON(param)
  280. if err != nil {
  281. logrus.Errorf("Request bind err:%+v\n", err)
  282. returnError(c, 40000, "Parameter Error: "+err.Error())
  283. return
  284. }
  285. resultMap := make(map[string]int64)
  286. resultMap["inviteConfirming"] = 0
  287. returnSuccess(c, 20000, resultMap)
  288. }
  289. // 财务待办-充值与发票
  290. func (t WorkspaceController) GetFinance(c *gin.Context) {
  291. param := &vo.CommonParam{}
  292. err := c.BindJSON(param)
  293. if err != nil {
  294. logrus.Errorf("Request bind err:%+v\n", err)
  295. returnError(c, 40000, "Parameter Error: "+err.Error())
  296. return
  297. }
  298. // 充值确认中
  299. confirmingRecharge, err1 := service.RechargeService{}.GetFinance(param)
  300. if err1 != nil {
  301. logrus.Errorf("[RechargeService] call Show err:%+v\n", err1)
  302. returnError(c, 40000, err1.Error())
  303. return
  304. }
  305. // 开票中
  306. invoicingAmount, err2 := service.InvoiceService{}.GetFinance(param)
  307. if err2 != nil {
  308. logrus.Errorf("[InvoiceService] call Show err:%+v\n", err2)
  309. returnError(c, 40000, err2.Error())
  310. return
  311. }
  312. res := make(map[string]float64)
  313. res["confirmingRecharge"] = confirmingRecharge
  314. res["invoicingAmount"] = invoicingAmount
  315. returnSuccess(c, 20000, res)
  316. }