accountType.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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. "log-server/model/typeManage"
  11. typeManageRes "log-server/model/typeManage/response"
  12. "log-server/utils"
  13. "strconv"
  14. )
  15. type AccountTypeApi struct {
  16. }
  17. //添加账号类型
  18. func (a *AccountTypeApi) CreateAccountType(c *gin.Context) {
  19. var accountType typeManage.AccountType
  20. _ = c.ShouldBind(&accountType)
  21. if err := utils.Verify(accountType, utils.AccountTypeVerify); err != nil {
  22. response.FailWithMessage(err.Error(), c)
  23. return
  24. }
  25. if err := accountTypeService.CreateAccountType(accountType); err != nil{
  26. global.GVA_LOG.Error("创建失败!", zap.Error(err))
  27. response.FailWithMessage("创建失败", c)
  28. } else {
  29. response.OkWithMessage("创建成功", c)
  30. }
  31. }
  32. //单个删除账号类型
  33. func (a *AccountTypeApi) DeleteAccountType(c *gin.Context) {
  34. var accountType typeManage.AccountType
  35. _ = c.ShouldBindJSON(&accountType)
  36. //数据校验
  37. if err := utils.Verify(accountType, utils.AccountTypeVerify); err != nil {
  38. response.FailWithMessage(err.Error(), c)
  39. return
  40. }
  41. if err := accountTypeService.DeleteAccountType(accountType); err != nil {
  42. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  43. response.FailWithMessage("删除失败", c)
  44. } else {
  45. response.OkWithMessage("删除成功", c)
  46. }
  47. }
  48. //批量删除账号类型
  49. func (a *AccountTypeApi) DeleteAccountTypesByIds(c *gin.Context) {
  50. var ids request.IdsReq
  51. _ = c.ShouldBindJSON(&ids)
  52. if err := accountTypeService.DeleteAccountTypesByIds(ids); err != nil {
  53. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  54. response.FailWithMessage("删除失败", c)
  55. } else {
  56. response.OkWithMessage("删除成功", c)
  57. }
  58. }
  59. //更改账号类型
  60. func (a *AccountTypeApi) UpdateAccountType(c *gin.Context) {
  61. var accountType typeManage.AccountType
  62. _ = c.ShouldBindJSON(&accountType)
  63. if err := utils.Verify(accountType, utils.AccountTypeVerify); err != nil{
  64. response.FailWithMessage(err.Error(), c)
  65. return
  66. }
  67. if err := accountTypeService.UpdateAccountType(accountType); err != nil{
  68. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  69. response.FailWithMessage("修改失败", c)
  70. } else {
  71. response.OkWithMessage("修改成功", c)
  72. }
  73. }
  74. //通过id获取单条数据
  75. func (a *AccountTypeApi) GetAccountTypeById(c *gin.Context) {
  76. var id request.GetById
  77. _ = c.ShouldBindJSON(&id)
  78. if err := utils.Verify(id, utils.IdVerify); err != nil {
  79. response.FailWithMessage(err.Error(), c)
  80. return
  81. }
  82. //查询redis
  83. ctx := context.Background()
  84. key := "typeManage:accountType"
  85. //读取数据
  86. bytes, _ := global.GVA_REDIS.HGet(ctx, key, strconv.Itoa(id.ID)).Bytes()
  87. //存在记录,反序列化
  88. if bytes != nil {
  89. objects := &typeManage.AccountType{}
  90. json.Unmarshal(bytes, objects)
  91. //存在,返回
  92. response.OkWithDetailed(typeManageRes.AccountTypeResponse{AccountType: *objects}, "获取成功", c)
  93. return
  94. }
  95. //不存在,查询数据库
  96. if accountType, err := accountTypeService.GetAccountTypeById(id.ID); err != nil{
  97. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  98. response.FailWithMessage("获取失败", c)
  99. } else {
  100. response.OkWithDetailed(typeManageRes.AccountTypeResponse{AccountType: accountType}, "获取成功", c)
  101. }
  102. }
  103. //获取所有账号类型列表
  104. func (a *AccountTypeApi) AccountTypeList(c *gin.Context) {
  105. //获取前端传值并校验
  106. var pageInfo typeManage.SearchAccountTypeParams
  107. _ = c.ShouldBindJSON(&pageInfo)
  108. //页面信息校验
  109. if err := utils.Verify(pageInfo.PageInfo, utils.PageInfoVerify); err != nil{
  110. response.FailWithMessage(err.Error(), c)
  111. return
  112. }
  113. if list, total, err := accountTypeService.AccountTypeList(pageInfo.AccountType, pageInfo.PageInfo, pageInfo.OrderKey, pageInfo.Desc); err != nil{
  114. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  115. response.FailWithMessage("获取失败", c)
  116. } else {
  117. response.OkWithDetailed(response.PageResult{
  118. List: list,
  119. Total: total,
  120. Page: pageInfo.Page,
  121. PageSize: pageInfo.PageSize,
  122. }, "获取成功", c)
  123. }
  124. }