synthesis.go 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/mhaya/game/game_cluster/internal/code"
  5. "github.com/mhaya/game/game_cluster/nodes/webadmin/common"
  6. "github.com/mhaya/game/game_cluster/nodes/webadmin/entity"
  7. "github.com/mhaya/game/game_cluster/nodes/webadmin/service"
  8. )
  9. type Synthesis struct {
  10. nodeId string
  11. sev *service.Synthesis
  12. }
  13. func NewSynthesis(nodeId string) *Synthesis {
  14. return &Synthesis{
  15. nodeId: nodeId,
  16. sev: service.NewSynthesis(nodeId),
  17. }
  18. }
  19. // 统计用户相关信息
  20. func (s *Synthesis) UserList(ctx *gin.Context) {
  21. var req entity.UserListReq
  22. if err := ctx.ShouldBindJSON(&req); err != nil {
  23. common.PackOkResult(ctx, code.ParamError)
  24. return
  25. }
  26. resp, err := s.sev.UserList(req)
  27. if err != nil {
  28. common.PackOkResult(ctx, err.Code)
  29. return
  30. }
  31. common.PackOkResult(ctx, code.OK, resp)
  32. }
  33. // FindUserLogDaily 查询用户日活跃
  34. func (s *Synthesis) FindUserLogDaily(ctx *gin.Context) {
  35. var req entity.UserLogDailyReq
  36. if err := ctx.ShouldBindJSON(&req); err != nil {
  37. common.PackOkResult(ctx, code.ParamError)
  38. return
  39. }
  40. resp, err := s.sev.FindMDBUserLogDaily(req)
  41. if err != nil {
  42. common.PackOkResult(ctx, err.Code)
  43. return
  44. }
  45. common.PackOkResult(ctx, code.OK, resp)
  46. }
  47. // FindUserLogTotal 查询总提现数量,总注册人数,
  48. func (s *Synthesis) FindUserLogTotal(ctx *gin.Context) {
  49. resp, err := s.sev.FindMDBUserLogTotal()
  50. if err != nil {
  51. common.PackOkResult(ctx, code.ParamError)
  52. return
  53. }
  54. common.PackOkResult(ctx, code.OK, resp)
  55. }
  56. // FindUserRetention 查询用户留存
  57. func (s *Synthesis) FindUserRetention(ctx *gin.Context) {
  58. var req entity.UserRetentionReq
  59. if err := ctx.ShouldBindJSON(&req); err != nil {
  60. common.PackOkResult(ctx, code.ParamError)
  61. return
  62. }
  63. resp, err := s.sev.FindUserRetention(req)
  64. if err != nil {
  65. common.PackOkResult(ctx, err.Code)
  66. return
  67. }
  68. common.PackOkResult(ctx, code.OK, resp)
  69. }
  70. // FindUserCountryCount 查询用户国家分布
  71. func (s *Synthesis) FindUserCountryCount(ctx *gin.Context) {
  72. resp, err := s.sev.FindUserCountryCount()
  73. if err != nil {
  74. common.PackOkResult(ctx, err.Code)
  75. return
  76. }
  77. common.PackOkResult(ctx, code.OK, resp)
  78. }
  79. // FindWithdrawal 查询提现记录
  80. func (s *Synthesis) FindWithdrawal(ctx *gin.Context) {
  81. var req entity.UserWithdrawalReq
  82. if err := ctx.ShouldBindJSON(&req); err != nil {
  83. common.PackOkResult(ctx, code.ParamError)
  84. return
  85. }
  86. resp, err := s.sev.FindWithdrawal(req)
  87. if err != nil {
  88. common.PackOkResult(ctx, err.Code)
  89. return
  90. }
  91. common.PackOkResult(ctx, code.OK, resp)
  92. }
  93. // 导出提现记录
  94. func (s *Synthesis) WithdrawalExport(ctx *gin.Context) {
  95. var req entity.UserWithdrawalExportReq
  96. if err := ctx.ShouldBindJSON(&req); err != nil {
  97. common.PackOkResult(ctx, code.ParamError)
  98. return
  99. }
  100. resp, err := s.sev.WithdrawalExport(req)
  101. if err != nil {
  102. common.PackOkResult(ctx, err.Code)
  103. return
  104. }
  105. common.PackOkResult(ctx, code.OK, resp)
  106. }
  107. // WithdrawalStatus 修改提现状态
  108. func (s *Synthesis) WithdrawalStatus(ctx *gin.Context) {
  109. var req entity.UserWithdrawalStatus
  110. if err := ctx.ShouldBindJSON(&req); err != nil {
  111. common.PackOkResult(ctx, code.ParamError)
  112. return
  113. }
  114. err := s.sev.WithdrawalStatus(req)
  115. if err != nil {
  116. common.PackOkResult(ctx, err.Code)
  117. return
  118. }
  119. common.PackOkResult(ctx, code.OK, nil)
  120. }
  121. // WithdrawalStatusBatch 修改提现状态批量
  122. func (s *Synthesis) WithdrawalStatusBatch(ctx *gin.Context) {
  123. var req entity.UserWithdrawalStatusBatch
  124. if err := ctx.ShouldBindJSON(&req); err != nil {
  125. common.PackOkResult(ctx, code.ParamError)
  126. return
  127. }
  128. err := s.sev.WithdrawalStatusBatch(req)
  129. if err != nil {
  130. common.PackOkResult(ctx, err.Code)
  131. return
  132. }
  133. common.PackOkResult(ctx, code.OK, nil)
  134. }
  135. // FindUserLevel 用户等级统计
  136. func (s *Synthesis) FindUserLevel(ctx *gin.Context) {
  137. resp, err := s.sev.FindUserLevel()
  138. if err != nil {
  139. common.PackOkResult(ctx, err.Code)
  140. return
  141. }
  142. common.PackOkResult(ctx, code.OK, resp)
  143. }
  144. // 综合统计
  145. func (s *Synthesis) Overview(ctx *gin.Context) {
  146. var req entity.OverviewReq
  147. if err := ctx.ShouldBindJSON(&req); err != nil {
  148. common.PackOkResult(ctx, code.ParamError)
  149. return
  150. }
  151. resp, err := s.sev.Overview(req)
  152. if err != nil {
  153. common.PackOkResult(ctx, err.Code)
  154. return
  155. }
  156. common.PackOkResult(ctx, code.OK, resp)
  157. }
  158. // 活动统计
  159. func (s *Synthesis) Activity(ctx *gin.Context) {
  160. // TODO Activity 目前没有活动模块
  161. }
  162. // 转盘统计
  163. func (s *Synthesis) Turntable(ctx *gin.Context) {
  164. var req entity.TurntableReq
  165. if err := ctx.ShouldBindJSON(&req); err != nil {
  166. common.PackOkResult(ctx, code.ParamError)
  167. return
  168. }
  169. resp, err := s.sev.Turntable(req)
  170. if err != nil {
  171. common.PackOkResult(ctx, err.Code)
  172. return
  173. }
  174. common.PackOkResult(ctx, code.OK, resp)
  175. }
  176. // 资产统计
  177. func (s *Synthesis) Assets(ctx *gin.Context) {
  178. var req entity.AssetsReq
  179. if err := ctx.ShouldBindJSON(&req); err != nil {
  180. common.PackOkResult(ctx, code.ParamError)
  181. return
  182. }
  183. resp, err := s.sev.Assets(req)
  184. if err != nil {
  185. common.PackOkResult(ctx, err.Code)
  186. return
  187. }
  188. common.PackOkResult(ctx, code.OK, resp)
  189. }
  190. // 资产变动记录
  191. func (s *Synthesis) AssetsRecord(ctx *gin.Context) {
  192. var req entity.AssetsRecordReq
  193. if err := ctx.ShouldBindJSON(&req); err != nil {
  194. common.PackOkResult(ctx, code.ParamError)
  195. return
  196. }
  197. resp, err := s.sev.AssetsRecord(req)
  198. if err != nil {
  199. common.PackOkResult(ctx, err.Code)
  200. return
  201. }
  202. common.PackOkResult(ctx, code.OK, resp)
  203. }
  204. // 邀请统计
  205. func (s *Synthesis) Invite(ctx *gin.Context) {
  206. var req entity.InviteReq
  207. if err := ctx.ShouldBindJSON(&req); err != nil {
  208. common.PackOkResult(ctx, code.ParamError)
  209. return
  210. }
  211. resp, err := s.sev.Invite(req)
  212. if err != nil {
  213. common.PackOkResult(ctx, err.Code)
  214. return
  215. }
  216. common.PackOkResult(ctx, code.OK, resp)
  217. }
  218. // 活跃统计
  219. func (s *Synthesis) Active(ctx *gin.Context) {
  220. var req entity.ActiveReq
  221. if err := ctx.ShouldBindJSON(&req); err != nil {
  222. common.PackOkResult(ctx, code.ParamError)
  223. return
  224. }
  225. resp, err := s.sev.Active(req)
  226. if err != nil {
  227. common.PackOkResult(ctx, err.Code)
  228. return
  229. }
  230. common.PackOkResult(ctx, code.OK, resp)
  231. }
  232. // 后台操作记录
  233. func (s *Synthesis) Records(ctx *gin.Context) {
  234. var req entity.RecordListReq
  235. if err := ctx.ShouldBindJSON(&req); err != nil {
  236. common.PackOkResult(ctx, code.ParamError)
  237. return
  238. }
  239. resp, err := s.sev.RecordList(req)
  240. if err != nil {
  241. common.PackOkResult(ctx, err.Code)
  242. return
  243. }
  244. common.PackOkResult(ctx, code.OK, resp)
  245. }
  246. // 用户行为检测
  247. func (s *Synthesis) BehaviorMonitoring(ctx *gin.Context) {
  248. var req entity.BehaviorMonitoringReq
  249. if err := ctx.ShouldBindJSON(&req); err != nil {
  250. common.PackOkResult(ctx, code.ParamError)
  251. return
  252. }
  253. resp, err := s.sev.BehaviorMonitoring(req)
  254. if err != nil {
  255. common.PackOkResult(ctx, err.Code)
  256. return
  257. }
  258. common.PackOkResult(ctx, code.OK, resp)
  259. }
  260. // 任务完成度统计
  261. func (s *Synthesis) TaskCompletion(ctx *gin.Context) {
  262. var req entity.TaskCompletionReq
  263. if err := ctx.ShouldBindJSON(&req); err != nil {
  264. common.PackOkResult(ctx, code.ParamError)
  265. return
  266. }
  267. resp, err := s.sev.TaskCompletion(req)
  268. if err != nil {
  269. common.PackOkResult(ctx, err.Code)
  270. return
  271. }
  272. common.PackOkResult(ctx, code.OK, resp)
  273. }