loginType.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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 LoginTypeApi struct{}
  16. //创建登录类型
  17. func (l *LoginTypeApi) CreateLoginType(c *gin.Context) {
  18. var login typeManage.LoginType
  19. _ = c.ShouldBindJSON(&login)
  20. if err := utils.Verify(login, utils.LoginTypeVerify);err != nil{
  21. response.FailWithMessage(err.Error(), c)
  22. return
  23. }
  24. if err := loginTypeService.CreateLoginType(login);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 (l *LoginTypeApi) DeleteLoginType(c *gin.Context) {
  33. var login typeManage.LoginType
  34. _ = c.ShouldBindJSON(&login)
  35. if err := utils.Verify(login, utils.LoginTypeVerify);err != nil{
  36. response.FailWithMessage(err.Error(), c)
  37. return
  38. }
  39. if err := loginTypeService.DeleteLoginType(login);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 (l *LoginTypeApi) DeleteLoginTypesByIds(c *gin.Context) {
  48. var ids request.IdsReq
  49. _ = c.ShouldBindJSON(&ids)
  50. if err := loginTypeService.DeleteLoginTypesByIds(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 (l *LoginTypeApi) UpdateLoginType(c *gin.Context) {
  59. var login typeManage.LoginType
  60. _ = c.ShouldBindJSON(&login)
  61. if err := utils.Verify(login, utils.LoginTypeVerify);err != nil{
  62. response.FailWithMessage(err.Error(), c)
  63. return
  64. }
  65. if err := loginTypeService.UpdateLoginType(login);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 (l *LoginTypeApi) GetLoginTypeById(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. //查询redis
  81. ctx := context.Background()
  82. key := "typeManage:loginType"
  83. //读取缓存
  84. bytes, _ := global.GVA_REDIS.HGet(ctx, key, strconv.Itoa(idInfo.ID)).Bytes()
  85. //找到记录,反序列化
  86. if bytes != nil {
  87. objects := &typeManage.LoginType{}
  88. json.Unmarshal(bytes, objects)
  89. response.OkWithDetailed(&typeManageRes.LoginTypeResponse {LoginType:*objects}, "获取成功", c)
  90. //返回
  91. return
  92. }
  93. //没找到,查询数据库
  94. loginType, err := loginTypeService.GetLoginTypeById(idInfo.ID)
  95. if err != nil {
  96. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  97. response.FailWithMessage("获取失败", c)
  98. } else {
  99. response.OkWithDetailed(&typeManageRes.LoginTypeResponse {LoginType:loginType}, "获取成功", c)
  100. }
  101. }
  102. //条件查询登录类型
  103. func (l *LoginTypeApi) GetLoginType(c *gin.Context) {
  104. //传入查询信息
  105. var pageInfo typeManage.SearchLoginTypeParams
  106. _ = c.ShouldBindJSON(&pageInfo)
  107. //格式校验
  108. if err := utils.Verify(pageInfo.PageInfo, utils.PageInfoVerify); err != nil {
  109. response.FailWithMessage(err.Error(), c)
  110. return
  111. }
  112. //访问service
  113. list, total, err := loginTypeService.GetLoginType(pageInfo.LoginType, pageInfo.PageInfo, pageInfo.OrderKey, pageInfo.Desc)
  114. if err != nil {
  115. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  116. response.FailWithMessage("获取失败", c)
  117. } else {
  118. //响应结果
  119. response.OkWithDetailed(response.PageResult{
  120. List: list,
  121. Total: total,
  122. Page: pageInfo.Page,
  123. PageSize: pageInfo.PageSize,
  124. }, "获取成功", c)
  125. }
  126. }