game_task.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. package task
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go.uber.org/zap"
  5. "log-server/global"
  6. "log-server/model/common/response"
  7. "log-server/model/task/request"
  8. taskResponse "log-server/model/task/response"
  9. "log-server/utils"
  10. "net/http"
  11. "time"
  12. )
  13. type GameTaskApi struct {
  14. }
  15. // @Tags gameTask
  16. // @Summary 创建游戏任务
  17. // @Security ApiKeyAuth
  18. // @accept application/json
  19. // @Produce application/json
  20. // @Param data body request.GameTaskRequest true
  21. // @Success 200 {object} response.Response{msg=string} "创建游戏任务"
  22. // @Router /gameTask/create [post]
  23. func (s *GameTaskApi) CreateGameTask(c *gin.Context) {
  24. var api request.GameTaskRequest
  25. _ = c.ShouldBindJSON(&api)
  26. if err := utils.Verify(api, utils.GameTaskVerify); err != nil {
  27. response.FailWithMessage(err.Error(), c)
  28. return
  29. }
  30. if err := taskService.CreateGameTask(api); err != nil {
  31. global.GVA_LOG.Error("创建失败!", zap.Error(err))
  32. response.FailWithMessage("创建失败 "+err.Error(), c)
  33. } else {
  34. response.OkWithMessage("创建成功", c)
  35. }
  36. }
  37. // @Tags gameTask
  38. // @Summary 游戏任务列表
  39. // @Security ApiKeyAuth
  40. // @accept application/json
  41. // @Produce application/json
  42. // @Param data body request.GetCardListRequest true "游戏任务列表"
  43. // @Success 200 {object} response.Response{data=response.GetGameTaskListReply,msg=string} "分页游戏任务列表,返回包括列表,总数,页码,每页数量"
  44. // @Router /gameTask/getGameTaskList [post]
  45. func (s *GameTaskApi) GetGameTaskList(c *gin.Context) {
  46. var paramsInfo request.GetGameTaskListRequest
  47. _ = c.ShouldBindJSON(&paramsInfo)
  48. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  49. response.FailWithMessage(err.Error(), c)
  50. return
  51. }
  52. if list, option, total, err := taskService.GetGameTaskInfoList(paramsInfo.GameTask, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc); err != nil {
  53. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  54. response.FailWithMessage("获取失败"+err.Error(), c)
  55. } else {
  56. response.OkWithDetailed(taskResponse.GameTaskPageResult{
  57. List: list,
  58. OptionList: option,
  59. Total: total,
  60. Page: paramsInfo.Page,
  61. PageSize: paramsInfo.PageSize,
  62. }, "获取成功", c)
  63. }
  64. }
  65. // @Tags gameTask
  66. // @Summary 根据id获取游戏任务信息
  67. // @Security ApiKeyAuth
  68. // @accept application/json
  69. // @Produce application/json
  70. // @Param data body request.GetById true "根据id获取游戏任务信息"
  71. // @Success 200 {object} response.Response{data=systemRes.GameTaskRequest} "根据id获取游戏任务信息,返回包括游戏任务信息详情"
  72. // @Router /gameTask/getGameTaskById [post]
  73. func (s *GameTaskApi) GetGameTaskById(c *gin.Context) {
  74. var idInfo request.GetById
  75. _ = c.ShouldBindJSON(&idInfo)
  76. if err := utils.Verify(idInfo, utils.IdVerify); err != nil {
  77. response.FailWithMessage(err.Error(), c)
  78. return
  79. }
  80. api, err := taskService.GetGameTaskById(idInfo.ID)
  81. if err != nil {
  82. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  83. response.FailWithMessage("获取失败 "+err.Error(), c)
  84. } else {
  85. response.OkWithDetailed(api, "获取成功", c)
  86. }
  87. }
  88. // @Tags GameTask
  89. // @Summary 游戏任务信息状态
  90. // @Security ApiKeyAuth
  91. // @accept application/json
  92. // @Produce application/json
  93. // @Param data body request.UpdateGameTaskStatusRequest true "id, 状态"
  94. // @Success 200 {object} response.Response{msg=string} "修改游戏任务信息状态"
  95. // @Router /gameTask/statusOperation [post]
  96. func (s *GameTaskApi) StatusOperation(c *gin.Context) {
  97. var paramsInfo request.UpdateGameTaskStatusRequest
  98. _ = c.ShouldBindJSON(&paramsInfo)
  99. if paramsInfo.TaskId == 0 {
  100. response.FailWithMessage("Id不能为空", c)
  101. return
  102. }
  103. if paramsInfo.Status == 0 {
  104. response.FailWithMessage("状态值不能为空", c)
  105. return
  106. }
  107. if err := taskService.UpdateGameTaskStatus(paramsInfo); err != nil {
  108. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  109. response.FailWithMessage(err.Error(), c)
  110. } else {
  111. response.OkWithMessage("修改成功", c)
  112. }
  113. }
  114. // @Tags gameTask
  115. // @Summary 更新游戏任务
  116. // @Security ApiKeyAuth
  117. // @accept application/json
  118. // @Produce application/json
  119. // @Param data body request.GameTaskRequest true
  120. // @Success 200 {object} response.Response{msg=string} "更新游戏任务"
  121. // @Router /gameTask/update [post]
  122. func (s *GameTaskApi) UpdateGameTask(c *gin.Context) {
  123. var api request.GameTaskRequest
  124. _ = c.ShouldBindJSON(&api)
  125. if err := utils.Verify(api, utils.GameTaskVerify); err != nil {
  126. response.FailWithMessage(err.Error(), c)
  127. return
  128. }
  129. if err := taskService.UpdateGameTask(api); err != nil {
  130. global.GVA_LOG.Error("更新失败!", zap.Error(err))
  131. response.FailWithMessage("更新失败 "+err.Error(), c)
  132. } else {
  133. response.OkWithMessage("更新成功", c)
  134. }
  135. }
  136. // @Tags gameTask
  137. // @Summary 删除gameTask
  138. // @Security ApiKeyAuth
  139. // @accept application/json
  140. // @Produce application/json
  141. // @Param data body task.GameTask true "ID"
  142. // @Success 200 {object} response.Response{msg=string} "删除gameTask"
  143. // @Router /gameTask/delete [post]
  144. func (s *GameTaskApi) DeleteGameTask(c *gin.Context) {
  145. var api request.GameTaskRequest
  146. _ = c.ShouldBindJSON(&api)
  147. if err := utils.Verify(api, utils.TaskIdVerify); err != nil {
  148. response.FailWithMessage(err.Error(), c)
  149. return
  150. }
  151. if err := taskService.DeleteGameTask(api); err != nil {
  152. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  153. response.FailWithMessage("删除失败 "+err.Error(), c)
  154. } else {
  155. response.OkWithMessage("删除成功", c)
  156. }
  157. }
  158. // @Tags gameTask
  159. // @Summary 游戏任务列表
  160. // @Security ApiKeyAuth
  161. // @accept application/json
  162. // @Produce application/json
  163. // @Param data body request.GetCardListRequest true "游戏任务列表"
  164. // @Success 200 {object} response.Response{data=response.GetGameTaskListReply,msg=string} "分页游戏任务列表,返回包括列表,总数,页码,每页数量"
  165. // @Router /gameTask/getGameTaskTargetList [post]
  166. func (s *GameTaskApi) GetGameTaskTargetList(c *gin.Context) {
  167. var paramsInfo request.GetGameTaskListTargetRequest
  168. _ = c.ShouldBindJSON(&paramsInfo)
  169. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  170. response.FailWithMessage(err.Error(), c)
  171. return
  172. }
  173. if list, total, err := taskService.GetGameTaskTargetInfoList(paramsInfo.GameTargetCompleteRequest, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc, false); err != nil {
  174. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  175. response.FailWithMessage("获取失败 "+err.Error(), c)
  176. } else {
  177. response.OkWithDetailed(response.PageResult{
  178. List: list,
  179. Total: total,
  180. Page: paramsInfo.Page,
  181. PageSize: paramsInfo.PageSize,
  182. }, "获取成功", c)
  183. }
  184. }
  185. // @Tags gameTask
  186. // @Summary 腾讯游戏任务列表
  187. // @Security ApiKeyAuth
  188. // @accept application/json
  189. // @Produce application/json
  190. // @Param data body request.GetCardListRequest true "腾讯游戏任务列表"
  191. // @Success 200 {object} response.Response{data=response.GetGameTaskListReply,msg=string} "分页游戏任务列表,返回包括列表,总数,页码,每页数量"
  192. // @Router /gameTask/getGameTxTaskList [post]
  193. func (s *GameTaskApi) GetGameTxTaskList(c *gin.Context) {
  194. var paramsInfo request.GetGameTaskListTargetRequest
  195. _ = c.ShouldBindJSON(&paramsInfo)
  196. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  197. response.FailWithMessage(err.Error(), c)
  198. return
  199. }
  200. if list, total, err := taskService.GetGameTaskTargetInfoList(paramsInfo.GameTargetCompleteRequest, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc, true); err != nil {
  201. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  202. response.FailWithMessage("获取失败 "+err.Error(), c)
  203. } else {
  204. response.OkWithDetailed(response.PageResult{
  205. List: list,
  206. Total: total,
  207. Page: paramsInfo.Page,
  208. PageSize: paramsInfo.PageSize,
  209. }, "获取成功", c)
  210. }
  211. }
  212. // @Tags gameTask
  213. // @Summary 根据id获取游戏任务信息
  214. // @Security ApiKeyAuth
  215. // @accept application/json
  216. // @Produce application/json
  217. // @Param data body request.GetById true "根据id获取游戏任务目标信息"
  218. // @Success 200 {object} response.Response{data=response.GetGameTargetComplete} "根据id获取游戏任务信息,返回包括游戏任务信息详情"
  219. // @Router /gameTask/getGameTaskTargetById [post]
  220. func (s *GameTaskApi) GetGameTaskTargetById(c *gin.Context) {
  221. var idInfo request.GetGameTaskTargetByIdRequest
  222. _ = c.ShouldBindJSON(&idInfo)
  223. if err := utils.Verify(idInfo, utils.IdVerify); err != nil {
  224. response.FailWithMessage(err.Error(), c)
  225. return
  226. }
  227. date := time.Now().Format("2006-01-02")
  228. if idInfo.CreateDate != date {
  229. response.FailWithMessage("只能修改当天的任务", c)
  230. return
  231. }
  232. api, err := taskService.GetGameTaskTargetById(idInfo.ID, date)
  233. if err != nil {
  234. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  235. response.FailWithMessage("获取失败 "+err.Error(), c)
  236. } else {
  237. response.OkWithDetailed(api, "获取成功", c)
  238. }
  239. }
  240. // @Tags gameTask
  241. // @Summary 更新游戏任务目标
  242. // @Security ApiKeyAuth
  243. // @accept application/json
  244. // @Produce application/json
  245. // @Param data body request.GameTaskRequest true
  246. // @Success 200 {object} response.Response{msg=string} "更新游戏任务目标"
  247. // @Router /gameTask/updateTarget [post]
  248. func (s *GameTaskApi) UpdateGameTaskTarget(c *gin.Context) {
  249. var api request.UpdateGameTaskTargetRequest
  250. _ = c.ShouldBindJSON(&api)
  251. if err := utils.Verify(api, utils.UpdateTargetVerify); err != nil {
  252. response.FailWithMessage(err.Error(), c)
  253. return
  254. }
  255. if err := taskService.UpdateGameTaskTarget(api); err != nil {
  256. global.GVA_LOG.Error("更新失败!", zap.Error(err))
  257. response.FailWithMessage("更新失败 "+err.Error(), c)
  258. } else {
  259. response.OkWithMessage("更新成功", c)
  260. }
  261. }
  262. // @Tags gameTask
  263. // @Summary 群控任务目标
  264. // @Security ApiKeyAuth
  265. // @accept application/json
  266. // @Produce application/json
  267. // @Param data Query new_date true
  268. // @Success 200 {object} []control.TargetStatisticsReply "更新游戏任务目标"
  269. // @Router /gameTask/targetStatistics [get]
  270. func (s *GameTaskApi) TargetStatistics(c *gin.Context) {
  271. date := c.Query("new_date")
  272. if date == "" {
  273. response.FailWithMessage("获取失败!参数错误!", c)
  274. return
  275. }
  276. if list, err := taskService.TargetStatistics(date); err != nil {
  277. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  278. response.FailWithMessage("获取失败 "+err.Error(), c)
  279. } else {
  280. c.JSON(http.StatusOK, response.ControlResult{
  281. Data: list,
  282. Message: "获取成功",
  283. Code: 1000,
  284. Date: date,
  285. })
  286. return
  287. }
  288. }
  289. // @Tags gameTask
  290. // @Summary 数优每日统计
  291. // @Security ApiKeyAuth
  292. // @accept application/json
  293. // @Produce application/json
  294. // @Param data Query create_date true
  295. // @Success 200 {object} []response.GameTargetStatistics "数优每日统计数据"
  296. // @Router /gameTask/everyDayStatistics [post]
  297. func (s *GameTaskApi) EveryDayStatistics(c *gin.Context) {
  298. var paramsInfo request.GameTaskStatisticsRequest
  299. _ = c.ShouldBindJSON(&paramsInfo)
  300. if data, err := taskService.DayStatisticsData(paramsInfo); err != nil {
  301. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  302. response.FailWithMessage("获取失败 "+err.Error(), c)
  303. } else {
  304. response.OkWithDetailed(response.PageResult{
  305. List: data,
  306. Total: 0,
  307. Page: 1,
  308. PageSize: 10,
  309. }, "获取成功", c)
  310. }
  311. }
  312. // @Tags gameTask
  313. // @Summary 数优每月统计
  314. // @Security ApiKeyAuth
  315. // @accept application/json
  316. // @Produce application/json
  317. // @Param data Query create_date true
  318. // @Success 200 {object} []response.GameTargetStatistics "数优每月统计数据"
  319. // @Router /gameTask/monthStatistics [post]
  320. func (s *GameTaskApi) MonthStatistics(c *gin.Context) {
  321. if data, err := taskService.MonthStatisticsData(); err != nil {
  322. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  323. response.FailWithMessage("获取失败 "+err.Error(), c)
  324. } else {
  325. response.OkWithDetailed(response.PageResult{
  326. List: data,
  327. Total: 0,
  328. Page: 1,
  329. PageSize: 10,
  330. }, "获取成功", c)
  331. }
  332. }
  333. // @Tags gameTask
  334. // @Summary 数优游戏统计
  335. // @Security ApiKeyAuth
  336. // @accept application/json
  337. // @Produce application/json
  338. // @Param data Query create_date true
  339. // @Success 200 {object} []response.GameTargetStatistics "数优游戏统计数据"
  340. // @Router /gameTask/gameStatistics [post]
  341. func (s *GameTaskApi) GameStatistics(c *gin.Context) {
  342. var paramsInfo request.CreateDateReply
  343. _ = c.ShouldBindJSON(&paramsInfo)
  344. if data, err := taskService.GameStatisticsData(paramsInfo.CreateDate); err != nil {
  345. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  346. response.FailWithMessage("获取失败 "+err.Error(), c)
  347. } else {
  348. response.OkWithDetailed(response.PageResult{
  349. List: data,
  350. Total: 10,
  351. Page: 1,
  352. PageSize: 10,
  353. }, "获取成功", c)
  354. }
  355. }
  356. // @Tags gameTask
  357. // @Summary 负责人端口游戏列表
  358. // @Security ApiKeyAuth
  359. // @accept application/json
  360. // @Produce application/json
  361. // @Param data Query create_date true
  362. // @Success 200 {object} []response.GameTargetStatistics "负责人端口游戏列表"
  363. // @Router /gameTask/gameList [post]
  364. func (s *GameTaskApi) GameList(c *gin.Context) {
  365. var paramsInfo request.GameListRequest
  366. _ = c.ShouldBindJSON(&paramsInfo)
  367. if data, err := taskService.GameStatisticsList(paramsInfo); err != nil {
  368. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  369. response.FailWithMessage("获取失败 "+err.Error(), c)
  370. } else {
  371. response.OkWithDetailed(response.PageResult{
  372. List: data,
  373. Total: 10,
  374. Page: 1,
  375. PageSize: 10,
  376. }, "获取成功", c)
  377. }
  378. }