game_task.go 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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); 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 根据id获取游戏任务信息
  187. // @Security ApiKeyAuth
  188. // @accept application/json
  189. // @Produce application/json
  190. // @Param data body request.GetById true "根据id获取游戏任务目标信息"
  191. // @Success 200 {object} response.Response{data=response.GetGameTargetComplete} "根据id获取游戏任务信息,返回包括游戏任务信息详情"
  192. // @Router /gameTask/getGameTaskTargetById [post]
  193. func (s *GameTaskApi) GetGameTaskTargetById(c *gin.Context) {
  194. var idInfo request.GetGameTaskTargetByIdRequest
  195. _ = c.ShouldBindJSON(&idInfo)
  196. if err := utils.Verify(idInfo, utils.IdVerify); err != nil {
  197. response.FailWithMessage(err.Error(), c)
  198. return
  199. }
  200. date := time.Now().Format("2006-01-02")
  201. if idInfo.CreateDate != date {
  202. response.FailWithMessage("只能修改当天的任务", c)
  203. return
  204. }
  205. api, err := taskService.GetGameTaskTargetById(idInfo.ID, date)
  206. if err != nil {
  207. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  208. response.FailWithMessage("获取失败 "+err.Error(), c)
  209. } else {
  210. response.OkWithDetailed(api, "获取成功", c)
  211. }
  212. }
  213. // @Tags gameTask
  214. // @Summary 更新游戏任务目标
  215. // @Security ApiKeyAuth
  216. // @accept application/json
  217. // @Produce application/json
  218. // @Param data body request.GameTaskRequest true
  219. // @Success 200 {object} response.Response{msg=string} "更新游戏任务目标"
  220. // @Router /gameTask/updateTarget [post]
  221. func (s *GameTaskApi) UpdateGameTaskTarget(c *gin.Context) {
  222. var api request.UpdateGameTaskTargetRequest
  223. _ = c.ShouldBindJSON(&api)
  224. if err := utils.Verify(api, utils.UpdateTargetVerify); err != nil {
  225. response.FailWithMessage(err.Error(), c)
  226. return
  227. }
  228. if err := taskService.UpdateGameTaskTarget(api); err != nil {
  229. global.GVA_LOG.Error("更新失败!", zap.Error(err))
  230. response.FailWithMessage("更新失败 "+err.Error(), c)
  231. } else {
  232. response.OkWithMessage("更新成功", c)
  233. }
  234. }
  235. // @Tags gameTask
  236. // @Summary 群控任务目标
  237. // @Security ApiKeyAuth
  238. // @accept application/json
  239. // @Produce application/json
  240. // @Param data Query new_date true
  241. // @Success 200 {object} []control.TargetStatisticsReply "更新游戏任务目标"
  242. // @Router /gameTask/targetStatistics [get]
  243. func (s *GameTaskApi) TargetStatistics(c *gin.Context) {
  244. date := c.Query("new_date")
  245. if date == "" {
  246. response.FailWithMessage("获取失败!参数错误!", c)
  247. return
  248. }
  249. if list, err := taskService.TargetStatistics(date); err != nil {
  250. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  251. response.FailWithMessage("获取失败 "+err.Error(), c)
  252. } else {
  253. c.JSON(http.StatusOK, response.ControlResult{
  254. Data: list,
  255. Message: "获取成功",
  256. Code: 1000,
  257. Date: date,
  258. })
  259. return
  260. }
  261. }