magic_asset_bill.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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 MagicAssetBillService struct {
  11. base.BizCommonService
  12. }
  13. func (s *MagicAssetBillService) Get(c *gin.Context) {
  14. s.SetDbAlias("app")
  15. base.NewBaseHandler(model.NewMagicAssetBill()).Get(c, s.DB())
  16. }
  17. func (s *MagicAssetBillService) 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. UserId *int64 `form:"userId"`
  25. Symbol *string `form:"symbol"`
  26. BeginTime *int64 `form:"beginTime"`
  27. EndTime *int64 `form:"endTime"`
  28. Uid *string `form:"uid"`
  29. BusinessNumber *int64 `form:"businessNumber"`
  30. }
  31. req := new(request[model.MagicAssetBill])
  32. if err := c.BindQuery(req); err != nil {
  33. response.Resp(c, err.Error())
  34. return
  35. }
  36. db := s.DB()
  37. if req.Id != nil && *req.Id != 0 {
  38. db = db.Where("id", req.Id)
  39. }
  40. if req.UserId != nil && *req.UserId != 0 {
  41. db = db.Where("user_id", req.UserId)
  42. }
  43. if req.Symbol != nil && *req.Symbol != "" {
  44. db = db.Where("symbol", req.Symbol)
  45. }
  46. if req.BeginTime != nil && *req.BeginTime > 0 && req.EndTime != nil && *req.EndTime > 0 {
  47. db = db.Where("created_at between ? and ?", *req.BeginTime, *req.EndTime)
  48. }
  49. if req.Uid != nil && *req.Uid != "" {
  50. db = db.Where("uid", req.Uid)
  51. }
  52. if req.BusinessNumber != nil && *req.BusinessNumber != 0 {
  53. db = db.Where("business_number", req.BusinessNumber)
  54. }
  55. // 导出处理
  56. fields := make([]string, 0)
  57. if req.Fields != nil {
  58. fields = strings.Split(*req.Fields, ",")
  59. }
  60. var url string
  61. colInfo := s.GetColumnCommentFromStruct(model.MagicAssetBill{})
  62. var err error
  63. if req.IsExport != nil && *req.IsExport {
  64. if len(fields) == 0 {
  65. for _, col := range colInfo {
  66. fields = append(fields, col.Field)
  67. }
  68. }
  69. core.Log.Infof("导出的字段:%s", fields)
  70. url, err = base.ExportCsv[model.MagicAssetBill](db, fields, colInfo)
  71. if err != nil {
  72. response.Resp(c, err.Error())
  73. return
  74. }
  75. }
  76. resp, err := base.NewQueryBaseHandler(model.NewMagicAssetBill()).List(db, req)
  77. if err != nil {
  78. response.Resp(c, err.Error())
  79. return
  80. }
  81. response.Resp(c, map[string]interface{}{
  82. "url": url,
  83. "cols": colInfo,
  84. "list": resp.List,
  85. "paging": resp.Paging,
  86. "businessOptions": map[string]string{
  87. //MagicAssetBsMap
  88. "101": "充值",
  89. "102": "提现申请",
  90. "103": "提现成功扣除",
  91. "104": "提现失败",
  92. "105": "系统增减资产",
  93. "106": "收益提取",
  94. "107": "质押",
  95. "108": "赎回",
  96. "109": "升级奖励",
  97. "110": "资产迁移",
  98. },
  99. })
  100. }
  101. func (s *MagicAssetBillService) Comment(c *gin.Context) {
  102. s.SetDbAlias("app")
  103. dbs, err := s.GetColumnComment("app", model.NewMagicAssetBill().TableName())
  104. if err != nil {
  105. response.Resp(c, "获取失败")
  106. return
  107. } else {
  108. response.Resp(c, gin.H{"dbs": dbs})
  109. return
  110. }
  111. }