magic_user.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package app
  2. import (
  3. "go_server/base/core"
  4. model "go_server/model/biz_modules/app"
  5. "go_server/model/common/response"
  6. "go_server/service/base"
  7. "strings"
  8. "github.com/gin-gonic/gin"
  9. )
  10. type MagicUserService struct {
  11. base.BizCommonService
  12. }
  13. func (s *MagicUserService) Get(c *gin.Context) {
  14. s.SetDbAlias("app")
  15. base.NewBaseHandler(model.NewMagicUser()).Get(c, s.DB())
  16. }
  17. func (s *MagicUserService) Find(c *gin.Context) {
  18. s.SetDbAlias("app")
  19. type request[T any] struct {
  20. base.ListRequest[T]
  21. Id *int64 `form:"id"`
  22. IsExport *bool `form:"isExport"`
  23. Fields *string `form:"fields"` // 指定返回字段 , 分割
  24. Uid *string `form:"uid"`
  25. Code *string `form:"code"`
  26. Enable *int8 `form:"enable"`
  27. BeginTime *int64 `form:"beginTime"`
  28. EndTime *int64 `form:"endTime"`
  29. SubsLockWithdraw *int8 `form:"subsLockWithdraw"`
  30. LockRedeem *int8 `form:"lockRedeem"`
  31. WithoutStakeRanking *int8 `form:"withoutStakeRanking"`
  32. WithoutFewRegionRanking *int8 `form:"withoutFewRegionRanking"`
  33. LockStake *int8 `form:"lockStake"`
  34. LockStakeProfit *int8 `form:"lockStakeProfit"`
  35. UnCollection *int8 `form:"unCollection"`
  36. }
  37. req := new(request[model.MagicUser])
  38. if err := c.BindQuery(req); err != nil {
  39. response.Resp(c, err.Error())
  40. return
  41. }
  42. db := s.DB()
  43. if req.Id != nil && *req.Id != 0 {
  44. db = db.Where("id", req.Id)
  45. }
  46. if req.Uid != nil && *req.Uid != "" {
  47. db = db.Where("uid", req.Uid)
  48. }
  49. if req.Code != nil && *req.Code != "" {
  50. db = db.Where("code", req.Code)
  51. }
  52. if req.Enable != nil {
  53. db = db.Where("enable", req.Enable)
  54. }
  55. if req.SubsLockWithdraw != nil {
  56. db = db.Where("subs_lock_withdraw", req.SubsLockWithdraw)
  57. }
  58. if req.LockRedeem != nil {
  59. db = db.Where("lock_redeem", req.LockRedeem)
  60. }
  61. if req.WithoutStakeRanking != nil {
  62. db = db.Where("without_stake_ranking", req.WithoutStakeRanking)
  63. }
  64. if req.WithoutFewRegionRanking != nil {
  65. db = db.Where("without_few_region_ranking", req.WithoutFewRegionRanking)
  66. }
  67. if req.LockStake != nil {
  68. db = db.Where("lock_stake", req.LockStake)
  69. }
  70. if req.LockStakeProfit != nil {
  71. db = db.Where("lock_stake_profit", req.LockStakeProfit)
  72. }
  73. if req.UnCollection != nil {
  74. db = db.Where("un_collection", req.UnCollection)
  75. }
  76. if req.BeginTime != nil && *req.BeginTime > 0 && req.EndTime != nil && *req.EndTime > 0 {
  77. db = db.Where("created_at between ? and ?", *req.BeginTime, *req.EndTime)
  78. }
  79. // 导出处理
  80. fields := make([]string, 0)
  81. if req.Fields != nil {
  82. fields = strings.Split(*req.Fields, ",")
  83. }
  84. var url string
  85. colInfo := s.GetColumnCommentFromStruct(model.MagicUser{})
  86. var err error
  87. if req.IsExport != nil && *req.IsExport {
  88. if len(fields) == 0 {
  89. for _, col := range colInfo {
  90. fields = append(fields, col.Field)
  91. }
  92. }
  93. core.Log.Infof("导出的字段:%s", fields)
  94. url, err = base.ExportCsv[model.MagicUser](db, fields, colInfo)
  95. if err != nil {
  96. response.Resp(c, err.Error())
  97. return
  98. }
  99. }
  100. resp, err := base.NewQueryBaseHandler(model.NewMagicUser()).List(db, req)
  101. if err != nil {
  102. response.Resp(c, err.Error())
  103. return
  104. }
  105. response.Resp(c, map[string]interface{}{
  106. "url": url,
  107. "cols": colInfo,
  108. "list": resp.List,
  109. "paging": resp.Paging,
  110. })
  111. }
  112. func (s *MagicUserService) Comment(c *gin.Context) {
  113. s.SetDbAlias("app")
  114. dbs, err := s.GetColumnComment("app", model.NewMagicUser().TableName())
  115. if err != nil {
  116. response.Resp(c, "获取失败")
  117. return
  118. } else {
  119. response.Resp(c, gin.H{"dbs": dbs})
  120. return
  121. }
  122. }