gameChannel.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package typeManage
  2. import (
  3. "context"
  4. "encoding/json"
  5. "github.com/gin-gonic/gin"
  6. "go.uber.org/zap"
  7. "log-server/global"
  8. "log-server/model/common/request"
  9. "log-server/model/common/response"
  10. typeManageModel "log-server/model/typeManage"
  11. typeManageRes "log-server/model/typeManage/response"
  12. "log-server/utils"
  13. "strconv"
  14. )
  15. type GameChannelApi struct {}
  16. //添加游戏厂商
  17. func (g *GameChannelApi) CreateGameChannel(c *gin.Context) {
  18. var channel typeManageModel.GameChannel
  19. _ = c.ShouldBindJSON(&channel)
  20. if err := utils.Verify(channel, utils.GameChannelVerify); err != nil {
  21. response.FailWithMessage(err.Error(), c)
  22. return
  23. }
  24. if err := gameService.CreateGameChannel(channel);err != nil {
  25. global.GVA_LOG.Error("创建失败!", zap.Error(err))
  26. response.FailWithMessage("创建失败", c)
  27. } else {
  28. response.OkWithMessage("创建成功", c)
  29. }
  30. }
  31. //单个删除厂商信息
  32. func (g *GameChannelApi) DeleteGameChannel(c *gin.Context) {
  33. var channel typeManageModel.GameChannel
  34. _ = c.ShouldBindJSON(&channel)
  35. if err := utils.Verify(channel, utils.GameChannelVerify); err != nil {
  36. response.FailWithMessage(err.Error(), c)
  37. return
  38. }
  39. if err := gameService.DeleteGameChannel(channel); err != nil {
  40. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  41. response.FailWithMessage("删除失败", c)
  42. } else {
  43. response.OkWithMessage("删除成功", c)
  44. }
  45. }
  46. //批量删除厂商
  47. func (g *GameChannelApi) DeleteGameChannelsByIds(c *gin.Context) {
  48. var ids request.IdsReq
  49. _ = c.ShouldBindJSON(&ids)
  50. if err := gameService.DeleteGameChannelsByIds(ids); err != nil {
  51. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  52. response.FailWithMessage("删除失败", c)
  53. } else {
  54. response.OkWithMessage("删除成功", c)
  55. }
  56. }
  57. //更新厂商信息
  58. func (g *GameChannelApi) UpdateGameChannel(c *gin.Context) {
  59. var channel typeManageModel.GameChannel
  60. _ = c.ShouldBindJSON(&channel)
  61. if err := utils.Verify(channel, utils.GameChannelVerify); err != nil{
  62. response.FailWithMessage(err.Error(), c)
  63. return
  64. }
  65. if err := gameService.UpdateGameChannel(channel); err != nil {
  66. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  67. response.FailWithMessage("修改失败", c)
  68. } else {
  69. response.OkWithMessage("修改成功", c)
  70. }
  71. }
  72. //通过id获取单条数据
  73. func (g *GameChannelApi) GetGameChannelById(c *gin.Context) {
  74. var idInfo request.GetById
  75. _ = c.ShouldBindJSON(&idInfo)
  76. //verify数据校验
  77. if err := utils.Verify(idInfo, utils.IdVerify); err != nil {
  78. response.FailWithMessage(err.Error(), c)
  79. return
  80. }
  81. //查询redis
  82. ctx := context.Background()
  83. key := "typeManage:gameChannel"
  84. //读取数据
  85. redisChannel, _ := global.GVA_REDIS.HGet(ctx, key, strconv.Itoa(idInfo.ID)).Bytes()
  86. if redisChannel != nil {
  87. //反序列化
  88. objects := &typeManageModel.GameChannel{}
  89. json.Unmarshal(redisChannel, objects)
  90. //存在, 返回
  91. response.OkWithDetailed(typeManageRes.GameChannelResponse{GameChannel: *objects}, "获取成功", c)
  92. return
  93. }
  94. //不存在,查询数据库
  95. channel, err := gameService.GetGameChannelById(idInfo.ID);
  96. if err != nil {
  97. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  98. response.FailWithMessage("获取失败", c)
  99. } else {
  100. response.OkWithDetailed(typeManageRes.GameChannelResponse{GameChannel: channel}, "获取成功", c)
  101. }
  102. }
  103. //获取所有游戏厂商列表
  104. func (g *GameChannelApi) GameChannelList(c *gin.Context) {
  105. var pageInfo typeManageModel.SearchGameChannelParams
  106. _ = c.ShouldBindJSON(&pageInfo)
  107. if err := utils.Verify(pageInfo.PageInfo, utils.PageInfoVerify); err != nil {
  108. response.FailWithMessage(err.Error(), c)
  109. return
  110. }
  111. if list, total, err := gameService.GetGameChannelInfoList(pageInfo.GameChannel, pageInfo.PageInfo, pageInfo.OrderKey, pageInfo.Desc); err != nil {
  112. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  113. response.FailWithMessage("获取失败", c)
  114. } else {
  115. response.OkWithDetailed(response.PageResult{
  116. List: list,
  117. Total: total,
  118. Page: pageInfo.Page,
  119. PageSize: pageInfo.PageSize,
  120. }, "获取成功", c)
  121. }
  122. }