order.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. package forms
  2. import (
  3. "errors"
  4. "github.com/spf13/cast"
  5. "strings"
  6. "time"
  7. )
  8. type OrderUserStatisticsReq struct {
  9. Playerid int64 `form:"playerid" json:"playerid" binding:"required"`
  10. }
  11. type OrderUserStatisticsRes struct {
  12. Playerid int64 `json:"playerid"`
  13. OrderPlatform int32 `json:"orderPlatform"`
  14. RechargeCount int64 `json:"rechargeCount"`
  15. RechargeAmount float64 `json:"rechargeAmount"`
  16. RechargeDiamondCount int64 `json:"rechargeDiamondCount"`
  17. ConsumptionCoinCount int64 `json:"consumptionCoinCount"`
  18. ConsumptionDiamondCount int64 `json:"consumptionDiamondCount"`
  19. FirstChargeAt int64 `json:"firstChargeAt"`
  20. LastChargeAt int64 `json:"lastChargeAt"`
  21. }
  22. type RechargeRankingReq struct {
  23. ListReq
  24. Platform int32 `json:"platform" form:"platform"`
  25. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  26. CreatedAt2 string `json:"created_at2" form:"created_at"`
  27. Time []time.Time
  28. ServerId int32 `json:"server_id" form:"server_id"`
  29. }
  30. func (req *RechargeRankingReq) Check() error {
  31. // get导出时字段格式不一样
  32. if len(req.CreatedAt) == 0 && req.CreatedAt2 != "" {
  33. createdAt2 := strings.Split(req.CreatedAt2, ",")
  34. for _, v := range createdAt2 {
  35. req.CreatedAt = append(req.CreatedAt, cast.ToInt64(v))
  36. }
  37. }
  38. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  39. return errors.New("时间必须选择一个区间或者留空")
  40. }
  41. if len(req.CreatedAt) == 2 {
  42. if req.CreatedAt[0] > req.CreatedAt[1] {
  43. return errors.New("时间选择的区间值不合理")
  44. }
  45. // 默认是毫秒
  46. req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0))
  47. req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0))
  48. }
  49. // 只显示前100
  50. req.Page = 1
  51. req.PerPage = 100
  52. return nil
  53. }
  54. type OrderDailyStatisticsListReq struct {
  55. ListReq
  56. ChannelId string `json:"channel_id" form:"channel_id"`
  57. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  58. CreatedAt2 string `json:"created_at2" form:"created_at"`
  59. Time []time.Time
  60. IsExport int32 `json:"is_export" form:"is_export"`
  61. ServerId int32 `json:"server_id" form:"server_id"`
  62. Flag int32 `json:"flag" form:"flag"`
  63. }
  64. func (req *OrderDailyStatisticsListReq) Check() error {
  65. // get导出时字段格式不一样
  66. if len(req.CreatedAt) == 0 && req.CreatedAt2 != "" {
  67. createdAt2 := strings.Split(req.CreatedAt2, ",")
  68. for _, v := range createdAt2 {
  69. req.CreatedAt = append(req.CreatedAt, cast.ToInt64(v))
  70. }
  71. }
  72. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  73. return errors.New("时间必须选择一个区间或者留空")
  74. }
  75. if len(req.CreatedAt) == 2 {
  76. if req.CreatedAt[0] > req.CreatedAt[1] {
  77. return errors.New("时间选择的区间值不合理")
  78. }
  79. // 默认是毫秒
  80. req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0))
  81. req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0))
  82. }
  83. return nil
  84. }
  85. type OrderSevenStatisticsListReq struct {
  86. ListReq
  87. ChannelId string `json:"channel_id" form:"channel_id"`
  88. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  89. CreatedAt2 string `json:"created_at2" form:"created_at"`
  90. Time []time.Time
  91. IsExport int32 `json:"is_export" form:"is_export"`
  92. Platform int32 `json:"platform" form:"platform"`
  93. ServerId int32 `json:"server_id" form:"server_id"`
  94. Flag int32 `json:"flag" form:"flag"`
  95. }
  96. func (req *OrderSevenStatisticsListReq) Check() error {
  97. // get导出时字段格式不一样
  98. if len(req.CreatedAt) == 0 && req.CreatedAt2 != "" {
  99. createdAt2 := strings.Split(req.CreatedAt2, ",")
  100. for _, v := range createdAt2 {
  101. req.CreatedAt = append(req.CreatedAt, cast.ToInt64(v))
  102. }
  103. }
  104. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  105. return errors.New("时间必须选择一个区间或者留空")
  106. }
  107. if len(req.CreatedAt) == 2 {
  108. if req.CreatedAt[0] > req.CreatedAt[1] {
  109. return errors.New("时间选择的区间值不合理")
  110. }
  111. // 默认是毫秒
  112. req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0))
  113. req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0))
  114. }
  115. return nil
  116. }
  117. type OrderListReq struct {
  118. ListReq
  119. Platform int32 `json:"platform" form:"platform"`
  120. PlayerID int64 `json:"player_id" form:"player_id"`
  121. GoodsID int32 `json:"goods_id" form:"goods_id"`
  122. OrderSn string `json:"order_sn" form:"order_sn"`
  123. OutTradeNo string `json:"out_trade_no" form:"out_trade_no"`
  124. Status int32 `json:"status" form:"status"`
  125. ChannelId string `json:"channel_id" form:"channel_id"`
  126. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  127. CreatedAt2 string `json:"created_at2" form:"created_at"`
  128. Time []time.Time
  129. IsExport int32 `json:"is_export" form:"is_export"`
  130. ServerId int32 `json:"server_id" form:"server_id"`
  131. Flag int32 `json:"flag" form:"flag"`
  132. }
  133. func (req *OrderListReq) Check() error {
  134. // get导出时字段格式不一样
  135. if len(req.CreatedAt) == 0 && req.CreatedAt2 != "" {
  136. createdAt2 := strings.Split(req.CreatedAt2, ",")
  137. for _, v := range createdAt2 {
  138. req.CreatedAt = append(req.CreatedAt, cast.ToInt64(v))
  139. }
  140. }
  141. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  142. return errors.New("创建时间必须选择一个区间或者留空")
  143. }
  144. if len(req.CreatedAt) == 2 {
  145. if req.CreatedAt[0] > req.CreatedAt[1] {
  146. return errors.New("注册时间选择的区间值不合理")
  147. }
  148. // 默认是毫秒
  149. req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0))
  150. req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0))
  151. }
  152. return nil
  153. }
  154. type OrderListRes struct {
  155. ListRes
  156. SuccessfulOrder int64 `json:"successful_order"`
  157. TransactionMoney float64 `json:"transaction_money"`
  158. }
  159. type AbnormalOrderListReq struct {
  160. ListReq
  161. PlayerID int64 `json:"player_id" form:"player_id"`
  162. GoodsID int32 `json:"goods_id" form:"goods_id"`
  163. OrderID string `json:"order_id" form:"order_id"`
  164. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  165. Time []time.Time
  166. IsExport int32 `json:"is_export" form:"is_export"`
  167. ServerId int32 `json:"server_id" form:"server_id"`
  168. }
  169. func (req *AbnormalOrderListReq) Check() error {
  170. // get导出时字段格式不一样
  171. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  172. return errors.New("创建时间必须选择一个区间或者留空")
  173. }
  174. if len(req.CreatedAt) == 2 {
  175. if req.CreatedAt[0] > req.CreatedAt[1] {
  176. return errors.New("注册时间选择的区间值不合理")
  177. }
  178. // 默认是毫秒
  179. req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0))
  180. req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0))
  181. }
  182. if req.ServerId <= 0 {
  183. return errors.New("未选择服务器")
  184. }
  185. return nil
  186. }
  187. type AbnormalOrderReissueReq struct {
  188. OrderId string `json:"orderId" form:"orderId"`
  189. ServerId int `json:"serverId" form:"serverId"`
  190. }
  191. func (req *AbnormalOrderReissueReq) Check() error {
  192. // get导出时字段格式不一样
  193. if req.OrderId == "" {
  194. return errors.New("订单ID不能为空")
  195. }
  196. if req.ServerId <= 0 {
  197. return errors.New("服务器ID不能为空")
  198. }
  199. return nil
  200. }