router.go 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  1. package router
  2. import (
  3. "context"
  4. "fmt"
  5. "log"
  6. "net/http"
  7. "os"
  8. "os/signal"
  9. "syscall"
  10. "time"
  11. "bet24.com/servers/adminserver/audioroom"
  12. "bet24.com/servers/adminserver/guess"
  13. "bet24.com/servers/adminserver/matchdata"
  14. "bet24.com/servers/adminserver/rank"
  15. "bet24.com/servers/adminserver/label"
  16. "bet24.com/servers/adminserver/dot"
  17. "bet24.com/servers/adminserver/agent"
  18. "bet24.com/servers/adminserver/announce"
  19. "bet24.com/servers/adminserver/card"
  20. "bet24.com/servers/adminserver/chat"
  21. "bet24.com/servers/adminserver/config"
  22. "bet24.com/servers/adminserver/controller"
  23. "bet24.com/servers/adminserver/coupon"
  24. "bet24.com/servers/adminserver/game"
  25. "bet24.com/servers/adminserver/middleware"
  26. "bet24.com/servers/adminserver/platformconfig"
  27. "bet24.com/servers/adminserver/privateroom"
  28. "bet24.com/servers/adminserver/register"
  29. "bet24.com/servers/adminserver/report"
  30. "bet24.com/servers/adminserver/roi"
  31. "bet24.com/servers/adminserver/slot"
  32. "bet24.com/servers/adminserver/teacher"
  33. "bet24.com/servers/adminserver/video"
  34. "github.com/gin-gonic/gin"
  35. "github.com/mattn/go-colorable"
  36. )
  37. func Run() {
  38. // 强制日志颜色化
  39. gin.ForceConsoleColor()
  40. // 设置颜色输出,识别 console 色值
  41. gin.DefaultWriter = colorable.NewColorableStdout()
  42. // 设置日志模式
  43. gin.SetMode(gin.DebugMode)
  44. // 创建一个默认的路由
  45. r := gin.Default()
  46. r.Use(middleware.CheckValid(), middleware.Cors())
  47. // 创建一个默认的路由(HTTPS)
  48. //rTls := gin.Default()
  49. //rTls.Use(middleware.TlsHandler(), middleware.CheckValid(), middleware.Cors()) // 处理SSL的中间件
  50. // ------------------------------玩家------------------------------
  51. userGroup := r.Group("/user")
  52. {
  53. // 用户列表
  54. userGroup.POST("/allUserList", controller.AllUserList)
  55. // 查询用户详情信息
  56. userGroup.POST("/userDetail", controller.UserDetail)
  57. // 查询被封用户列表
  58. userGroup.POST("/forbidUserList", controller.ForbidUserList)
  59. // 封杀玩家
  60. userGroup.POST("/forbidUserAdd", controller.ForbidUserAdd)
  61. // 解除封杀
  62. userGroup.POST("/forbidUserDel", controller.ForbidUserDel)
  63. // 加金
  64. userGroup.POST("/cashSend", controller.CashSend)
  65. // 扣金
  66. userGroup.POST("/cashDel", controller.CashDel)
  67. // 用户简单信息
  68. userGroup.POST("/userSimpleInfo", controller.UserSimpleInfo)
  69. // 金币场解锁
  70. userGroup.POST("/cashUnlock", controller.CashUnlock)
  71. // 金币锁信息
  72. userGroup.POST("/cashLockInfo", controller.CashLockInfo)
  73. // 实时在线
  74. userGroup.POST("/casinoOnlineList", controller.CasinoOnlineList)
  75. // 货币统计信息
  76. userGroup.POST("/moneyStat", controller.MoneyStat)
  77. // 货币排行
  78. userGroup.POST("/currencyTop", controller.CurrencyTop)
  79. // 获取用户ID(根据昵称、手机号)
  80. userGroup.POST("/getUserID", controller.GetUserID)
  81. // 删除账号(后台)
  82. userGroup.POST("/delUser", controller.DelUser)
  83. // 后台扣减钻石
  84. userGroup.POST("/diamondDel", controller.DiamondWebReduce)
  85. // 绑定facebook
  86. userGroup.POST("/bindFacebook", controller.BindFacebook)
  87. // 个性签名列表
  88. userGroup.POST("/userWordsList", controller.UserWordsList)
  89. // 个性签名审核
  90. userGroup.POST("/userWordsSet", controller.UserWordsSet)
  91. // 银行信息
  92. userGroup.POST("/bankInfo", controller.BankInfo)
  93. // 元宝积分榜
  94. userGroup.POST("/scoreRankList", controller.ScoreRankList)
  95. // 添加元宝积分
  96. userGroup.POST("/addRankScore", controller.AddRankScore)
  97. // 用户标签列表
  98. userGroup.POST("/tags", controller.GetUserTagList)
  99. // 白名单列表
  100. userGroup.POST("/whiteList", controller.WhiteList)
  101. // 添加白名单
  102. userGroup.POST("/whiteAdd", controller.WhiteAdd)
  103. // 删除白名单
  104. userGroup.POST("/whiteDel", controller.WhiteDel)
  105. // 修改昵称
  106. userGroup.POST("/changeNickName", controller.ChangeNickName)
  107. // 修改等级
  108. userGroup.POST("/changeLevel", controller.ChangeLevel)
  109. // 个人奖池
  110. userGroup.POST("/prizePool", controller.GetUserPrizePool)
  111. // 奖池日志列表
  112. userGroup.POST("/prizePoolList", controller.GetPrizePoolList)
  113. // 发放个人奖池
  114. userGroup.POST("/sendPrizePool", controller.SendPrizePool)
  115. }
  116. // ------------------------------统计------------------------------
  117. statGroup := r.Group("/stat")
  118. {
  119. // 日常统计
  120. statGroup.POST("/dailyStat", controller.DailyStat)
  121. // 注册统计
  122. statGroup.POST("/regStat", register.StatList)
  123. // 注册统计(小时)
  124. statGroup.POST("/regStatByHour", register.StatListByHour)
  125. // 注册来源统计
  126. statGroup.POST("/regStatSourceList", register.SourceStatList)
  127. // 在线统计(每天)
  128. statGroup.POST("/onlineStatListByDay", controller.OnlineStatListByDay)
  129. // 在线统计报表(小时)
  130. statGroup.POST("/onlineStatReport", controller.OnlineStatReport)
  131. // 同时在线统计报表(小时)
  132. statGroup.POST("/onlineUserReport", controller.OnlineUserReport)
  133. // 游戏统计(小时)
  134. statGroup.POST("/gameStatHour", controller.GameStatHour)
  135. // 存量统计
  136. statGroup.POST("/moneyStatTotalList", controller.MoneyStatTotalList)
  137. // 存量统计(每天)
  138. statGroup.POST("/moneyStatTotalListByDay", controller.MoneyStatTotalListByDay)
  139. // 金币变化
  140. statGroup.POST("/getUserMoneyStatList", controller.GetUserMoneyStatList)
  141. // 金币变化详情
  142. statGroup.POST("/getMoneyStatDetail", controller.GetMoneyStatDetail)
  143. // 游戏日常统计
  144. statGroup.POST("/gameDailyStat", controller.GameDailyStat)
  145. // 后台管理--导出金币变化
  146. statGroup.POST("/moneyStatExport", controller.MoneyStatExport)
  147. // 用户日常统计
  148. statGroup.POST("/userDailyStat", controller.UserDailyStat)
  149. // 税收总计
  150. statGroup.POST("/taxStatList", controller.TaxStatList)
  151. // 游戏记录报表(局数、时长)
  152. statGroup.POST("/gameRecordReport", game.RecordIndexStat)
  153. // 游戏记录报表详情
  154. statGroup.POST("/gameRecordReportDetail", controller.GameRecordReportDetail)
  155. // 注册用户转化报表
  156. statGroup.POST("/regConvertReport", controller.RegConvertReport)
  157. // 登录用户转化报表
  158. statGroup.POST("/loginConvertReport", controller.LoginConvertReport)
  159. // 留存统计
  160. statGroup.POST("/liveStatList", controller.LiveStatList)
  161. // 渠道留存统计
  162. statGroup.POST("/liveStatListByPartner", controller.LiveStatListByPartner)
  163. // 游戏金币流量统计
  164. statGroup.POST("/moneyFlowStat", controller.MoneyFlowStat)
  165. // Slot 统计列表
  166. statGroup.POST("/getSlotStat", slot.GetStat)
  167. // Slot 统计详情列表
  168. statGroup.POST("/getSlotDetail", slot.GetStatDetail)
  169. // 渠道登录统计
  170. statGroup.POST("/loginByPartner", controller.LoginStatByPartner)
  171. // 在线统计报表(小时)
  172. statGroup.POST("/onlineStatReportChip", controller.OnlineStatReportChip)
  173. // 同时在线统计报表(小时)
  174. statGroup.POST("/onlineUserReportChip", controller.OnlineUserReportChip)
  175. // 游戏统计(小时)
  176. statGroup.POST("/gameStatHourChip", controller.GameStatHourChip)
  177. // 在线统计(每天)
  178. statGroup.POST("/onlineStatListByDayChip", controller.OnlineStatListByDayChip)
  179. // 新用户注册统计
  180. statGroup.POST("/newUserStatList", register.NewUserStatList)
  181. // 留存统计
  182. statGroup.POST("/retentionStatList", controller.RetentionStatList)
  183. // 获取牌局统计
  184. statGroup.POST("/cardStatList", game.GetCardStatList)
  185. // 中途退出统计
  186. statGroup.POST("/midwayStatList", game.GetMidwayStatList)
  187. // 水池统计
  188. statGroup.POST("/waterPoolStatList", game.GetWaterPoolStatList)
  189. }
  190. // ------------------------------统计------------------------------
  191. trackGroup := r.Group("/track")
  192. {
  193. // 游戏轨迹记录
  194. trackGroup.POST("/userTrackList", controller.UserTrackList)
  195. // 游戏轨迹统计
  196. trackGroup.POST("/userTrackStat", controller.UserTrackStat)
  197. // 用户足迹
  198. trackGroup.POST("/trackList", controller.TrackList)
  199. }
  200. // ------------------------------投入产出------------------------------
  201. roiGroup := r.Group("/roi")
  202. {
  203. // 录入
  204. roiGroup.POST("/add", roi.Insert)
  205. // 删除
  206. roiGroup.POST("/del", roi.Del)
  207. // 列表
  208. roiGroup.POST("/list", roi.GetList)
  209. // 月列表
  210. roiGroup.POST("/listByMonth", roi.GetListByMonth)
  211. }
  212. // ------------------------------每日报表------------------------------
  213. reportGroup := r.Group("/report")
  214. {
  215. // 录入日报
  216. reportGroup.POST("/addDaily", report.InsertDaily)
  217. // 删除日报
  218. reportGroup.POST("/delDaily", report.DelDaily)
  219. // 日报列表
  220. reportGroup.POST("/dailyList", report.GetDailyList)
  221. // 挑战赛列表
  222. reportGroup.POST("/sngMatchList", report.GetSNGMatchList)
  223. // 游戏列表
  224. reportGroup.POST("/gameList", report.GetGameList)
  225. // 发行日报
  226. reportGroup.POST("/issue", report.GetIssueStatList)
  227. // 时段统计报表
  228. reportGroup.POST("/timePeriod", report.TimePeriodReport)
  229. // 时段统计列表
  230. reportGroup.POST("/timePeriodStat", report.TimePeriodStat)
  231. // 时段用户列表
  232. reportGroup.POST("/timePeriodUsers", report.TimePeriodUsers)
  233. }
  234. // ------------------------------后台账号------------------------------
  235. adminGroup := r.Group("/admin")
  236. {
  237. // 后台登陆
  238. adminGroup.POST("/login", controller.Login)
  239. // 获取页面列表
  240. adminGroup.POST("/pageList", controller.PageList)
  241. // 获取管理用户信息
  242. adminGroup.POST("/getInfo", controller.GetInfo)
  243. // 修改密码
  244. adminGroup.POST("/updatePassword", controller.UpdatePassword)
  245. // 校验页面
  246. adminGroup.POST("/verifyPage", controller.VerifyPage)
  247. // 管理用户列表
  248. adminGroup.POST("/userList", controller.UserList)
  249. // 删除后台管理用户
  250. adminGroup.POST("/userDel", controller.UserDel)
  251. // 修改备注
  252. adminGroup.POST("/updateMemo", controller.UpdateMemo)
  253. // 添加管理账号
  254. adminGroup.POST("/userAdd", controller.UserAdd)
  255. // 获取后台账号密码
  256. adminGroup.POST("/getPassword", controller.GetPassword)
  257. }
  258. // ------------------------------视频广告------------------------------
  259. videoGroup := r.Group("/video")
  260. {
  261. // 广告播放统计(按天)
  262. videoGroup.POST("/playStat", video.PlayStat)
  263. // 广告播放统计(按时段)
  264. videoGroup.POST("/playStatByHour", video.PlayStatByHour)
  265. // 广告来源统计
  266. videoGroup.POST("/sourceList", video.SourceList)
  267. // 广告分布
  268. videoGroup.POST("/regionList", video.RegionList)
  269. // 广告指标
  270. videoGroup.POST("/indexList", video.IndexList)
  271. // 广告用户统计(按天)
  272. videoGroup.POST("/userStat", video.UserStat)
  273. // 广告用户统计(按时段)
  274. videoGroup.POST("/userStatByHour", video.UserStatByHour)
  275. }
  276. // ------------------------------代理------------------------------
  277. agentGroup := r.Group("/agent")
  278. {
  279. // 配置信息
  280. agentGroup.POST("/config", agent.GetConfig)
  281. // 修改配置
  282. agentGroup.POST("/configUp", agent.UpdateConfig)
  283. // 代理列表
  284. agentGroup.POST("/list", agent.GetList)
  285. // 会员列表
  286. agentGroup.POST("/memberList", agent.GetMemberList)
  287. // 佣金日志
  288. agentGroup.POST("/commissionLog", agent.GetCommissionLog)
  289. // 佣金排行榜
  290. agentGroup.POST("/commissionRank", agent.GetCommissionRankList)
  291. // 创建代理
  292. agentGroup.POST("/create", agent.Create)
  293. // 申请列表
  294. agentGroup.POST("/applyList", agent.ApplyList)
  295. // 处理申请
  296. agentGroup.POST("/dealApply", agent.DealApply)
  297. // 设置代理状态
  298. agentGroup.POST("/setStatus", agent.SetStatus)
  299. }
  300. // ------------------------------师徒------------------------------
  301. teacherGroup := r.Group("/teacher")
  302. {
  303. // 收益排名
  304. teacherGroup.POST("/topProfit", teacher.GetTopProfit)
  305. // 收益列表
  306. teacherGroup.POST("/profitList", teacher.GetProfitList)
  307. }
  308. // ------------------------------渠道------------------------------
  309. partnerGroup := r.Group("/partner")
  310. {
  311. // 渠道列表
  312. partnerGroup.POST("/partnerList", controller.PartnerList)
  313. // 添加渠道
  314. partnerGroup.POST("/partnerAdd", controller.PartnerAdd)
  315. // 删除渠道
  316. partnerGroup.POST("/partnerDel", controller.PartnerDel)
  317. // 平台信息列表
  318. partnerGroup.POST("/platformInfoList", controller.PlatformInfoList)
  319. // 平台信息修改
  320. partnerGroup.POST("/platformInfoUp", controller.PlatformInfoUp)
  321. // 平台配置信息
  322. partnerGroup.POST("/platformConfig", controller.PlatformConfig)
  323. // 修改平台配置信息
  324. partnerGroup.POST("/platformConfigUp", controller.PlatformConfigUp)
  325. // 流量渠道
  326. partnerGroup.POST("/utmSource", controller.UTMSourceList)
  327. }
  328. // ------------------------------充值订单------------------------------
  329. payGroup := r.Group("/pay")
  330. {
  331. // 订单列表
  332. payGroup.POST("/orderList", controller.OrderList)
  333. // 获取各渠道充值列表
  334. payGroup.POST("/payList", controller.PayList)
  335. // 登录渠道充值统计
  336. payGroup.POST("/payListByPartner", controller.PayListByPartner)
  337. // 日充值总额
  338. payGroup.POST("/payListByDay", controller.PayListByDay)
  339. // 充值统计列表
  340. payGroup.POST("/payStatList", controller.PayStatList)
  341. // 苹果充值日志
  342. payGroup.POST("/appleLog", controller.AppleLog)
  343. // 苹果充值错误日志
  344. payGroup.POST("/appleErrorLog", controller.AppleErrorLog)
  345. // 充值日志
  346. payGroup.POST("/payLog", controller.PayLog)
  347. // 充值排行
  348. payGroup.POST("/payRank", controller.PayRank)
  349. // googlePay
  350. payGroup.POST("/googleLog", controller.GoogleLog)
  351. // 提现日志
  352. payGroup.POST("/withdrawLog", controller.WithdrawLog)
  353. // 提现统计
  354. payGroup.POST("/withdrawStatList", controller.WithdrawStatList)
  355. // 提现排行
  356. payGroup.POST("/withdrawRank", controller.WithdrawRank)
  357. // 提现审核列表
  358. payGroup.POST("/withdrawAuditList", controller.WithdrawAuditList)
  359. // 手动充值
  360. payGroup.POST("/manualPay", controller.ManualPay)
  361. // 手动充值列表
  362. payGroup.POST("/manualPayList", controller.ManualPayList)
  363. // 提现日志
  364. payGroup.POST("/withdrawFlashLog", controller.WithdrawFlashLog)
  365. // 充值日志
  366. payGroup.POST("/payChipLog", controller.PayChipLog)
  367. // 日充值总额
  368. payGroup.POST("/payChipListByDay", controller.PayChipListByDay)
  369. // 充值卡记录
  370. payGroup.POST("/rechargeCard/list", card.GetRechargeCardList)
  371. // 兑换卡列表
  372. payGroup.POST("/exchangeCard/list", card.GetExchangeCardList)
  373. // 生成兑换卡
  374. payGroup.POST("/exchangeCard/gen", card.GenExchangeCard)
  375. // 修改兑换卡
  376. payGroup.POST("/exchangeCard/update", card.UpdateExchangeCard)
  377. // 兑换卡日志
  378. payGroup.POST("/exchangeCard/log", card.GetExchangeCardLog)
  379. // 礼品卡列表
  380. payGroup.POST("/giftCard/list", controller.GiftCardList)
  381. // 礼品卡处理
  382. payGroup.POST("/giftCard/deal", controller.GiftCardDeal)
  383. // 付费用户列表
  384. payGroup.POST("/userList", controller.PayUserList)
  385. }
  386. // ------------------------------卡类------------------------------
  387. cardGroup := r.Group("/card")
  388. {
  389. // 充值卡记录
  390. cardGroup.POST("/recharge/list", card.GetRechargeCardList)
  391. // 兑换卡列表
  392. cardGroup.POST("/exchange/list", card.GetExchangeCardList)
  393. // 生成兑换卡
  394. cardGroup.POST("/exchange/gen", card.GenExchangeCard)
  395. // 修改兑换卡
  396. cardGroup.POST("/exchange/update", card.UpdateExchangeCard)
  397. // 兑换卡日志
  398. cardGroup.POST("/exchange/log", card.GetExchangeCardLog)
  399. // 比赛卡列表
  400. cardGroup.POST("/match/list", card.GetMatchCardList)
  401. // 生成兑换卡
  402. cardGroup.POST("/match/gen", card.GenMatchCard)
  403. // 修改兑换卡
  404. cardGroup.POST("/match/update", card.UpdateMatchCard)
  405. }
  406. // ------------------------------私人场------------------------------
  407. roomGroup := r.Group("/room")
  408. {
  409. // 历史房间
  410. roomGroup.POST("/roomHistory", privateroom.RoomHistory)
  411. // 历史椅子
  412. roomGroup.POST("/chairHistory", privateroom.ChairHistory)
  413. }
  414. // ------------------------------邮件------------------------------
  415. mailGroup := r.Group("/mail")
  416. {
  417. // 用户邮件列表
  418. mailGroup.POST("/mailList", controller.ServiceMessageList)
  419. // 获取客服留言信息
  420. mailGroup.POST("/mailInfo", controller.ServiceMessageInfo)
  421. // 客服留言翻译
  422. mailGroup.POST("/mailTranslate", controller.MsgTranslate)
  423. // 用户留言详细信息
  424. mailGroup.POST("/mailDetailList", controller.ServiceDetailList)
  425. // 客服回复
  426. mailGroup.POST("/serviceSend", controller.ServiceSend)
  427. // 留言标签列表
  428. mailGroup.POST("/msgTagList", controller.MsgTagList)
  429. // 留言标签统计
  430. mailGroup.POST("/msgTagStat", controller.MsgTagStat)
  431. // 根据标签获取列表
  432. mailGroup.POST("/mailListByTag", controller.ServiceMessageListByTag)
  433. // 用户邮件列表
  434. mailGroup.POST("/timeBroadcastList", controller.TimeBroadcastList)
  435. // 用户留言详细信息
  436. mailGroup.POST("/timeBroadcastSend", controller.TimeBroadcastSend)
  437. // 客服回复
  438. mailGroup.POST("/timeBroadcastDel", controller.TimeBroadcastDel)
  439. // 客服留言小红点提示
  440. mailGroup.POST("/tip", controller.Tip)
  441. // 发送系统消息
  442. mailGroup.POST("/sysMessageSend", controller.SysMessageSend)
  443. // 系统消息列表
  444. mailGroup.POST("/sysMessageList", controller.SysMessageList)
  445. // 道具列表
  446. mailGroup.POST("/tools", controller.GetItems)
  447. // 用户道具列表
  448. mailGroup.POST("/userTools", controller.GetUserItemList)
  449. // 删减用户道具
  450. mailGroup.POST("/reduceUserTools", controller.ReduceUserItem)
  451. // 标签统计
  452. mailGroup.POST("/TagStat", controller.ServiceMessageTagStat)
  453. // 客服反馈列表
  454. mailGroup.POST("/feedbackList", controller.FeedbackList)
  455. // 客服反馈修改
  456. mailGroup.POST("/feedbackUpdate", controller.FeedbackUpdate)
  457. }
  458. // ------------------------------游戏------------------------------
  459. gameGroup := r.Group("/game")
  460. {
  461. // 获取简单游戏信息(GameID、ChineseName)
  462. gameGroup.POST("/getSimpleGames", controller.GetSimpleGames)
  463. // 审核游戏列表
  464. gameGroup.POST("/gameRequestList", controller.GameRequestList)
  465. // 添加审核
  466. gameGroup.POST("/gameRequestAdd", controller.GameRequestAdd)
  467. // 删除审核
  468. gameGroup.POST("/gameRequestDel", controller.GameRequestDel)
  469. // 所有游戏列表
  470. gameGroup.POST("/getAllGames", controller.GetAllGames)
  471. // 游戏信息修改
  472. gameGroup.POST("/allGameUpd", controller.AllGameUpd)
  473. // 获取系统返还比率
  474. gameGroup.POST("/getSysOdds", controller.GetSysOdds)
  475. // 设置系统返还比率
  476. gameGroup.POST("/setSysOdds", controller.SetSysOdds)
  477. // 获取游戏库存列表
  478. gameGroup.POST("/inventoryList", controller.GetGameInventoryList)
  479. // 更新或者修改单个库存列表
  480. gameGroup.POST("/inventoryUpdate", controller.UpdateGameInventory)
  481. // 排行榜榜单列表
  482. gameGroup.POST("/getRankingList", rank.GetRankingList)
  483. }
  484. // ------------------------------兑换------------------------------
  485. exchangeGroup := r.Group("/exchange")
  486. {
  487. // 兑换数值
  488. exchangeGroup.POST("/sys", controller.SysExchange)
  489. // 兑换历史
  490. exchangeGroup.POST("/history", controller.ExchangeHistory)
  491. // 兑换历史
  492. exchangeGroup.POST("/cash", controller.ExchangeCash)
  493. // 修改兑换历史
  494. exchangeGroup.POST("/history/update", controller.ExchangeHistoryUpdate)
  495. }
  496. // ------------------------------角色------------------------------
  497. roleGroup := r.Group("/role")
  498. {
  499. // 角色列表
  500. roleGroup.POST("/roleList", controller.RoleList)
  501. // 添加角色用户
  502. roleGroup.POST("/roleUserAdd", controller.RoleUserAdd)
  503. // 用户角色列表
  504. roleGroup.POST("/roleListByAdmin", controller.RoleListByAdmin)
  505. // 角色设置页面
  506. roleGroup.POST("/roleSetPage", controller.RoleSetPage)
  507. // 角色页面列表
  508. roleGroup.POST("/rolePageList", controller.RolePageList)
  509. // 角色用户列表gameStatHour
  510. roleGroup.POST("/roleUserList", controller.RoleUserList)
  511. }
  512. // ------------------------------日志------------------------------
  513. logGroup := r.Group("/log")
  514. {
  515. // 日志列表
  516. logGroup.POST("/logList", controller.LogList)
  517. // 系统日志列表
  518. logGroup.POST("/sysLogList", controller.SysLogList)
  519. // 登录日志列表
  520. logGroup.POST("/loginLogList", controller.LoginLogList)
  521. // 注册日志列表
  522. logGroup.POST("/registerLogList", controller.RegisterLogList)
  523. // 注册日志列表
  524. logGroup.POST("/registerLogList_V2", controller.RegisterLogList_V2)
  525. // 金币日志
  526. logGroup.POST("/getCashLog", controller.GetCashLog)
  527. // 钻石日志
  528. logGroup.POST("/getDiamondLog", controller.GetDiamondLog)
  529. // 后台钻石日志
  530. logGroup.POST("/getDiamondAdminLog", controller.GetDiamondAdminLog)
  531. // 投注日志
  532. logGroup.POST("/getBetLog", controller.GetBetLog)
  533. // 投注详情
  534. logGroup.POST("/getBetDetail", controller.GetBetDetail)
  535. // 流水排行
  536. logGroup.POST("/dailyBetRank", controller.DailyBetRank)
  537. // 流水列表
  538. logGroup.POST("/dailyBetList", controller.DailyBetList)
  539. // 贈送日誌
  540. logGroup.POST("/sendLog", controller.SendLog)
  541. // 道具日志
  542. logGroup.POST("/itemLog", controller.ItemLog)
  543. // 签到日志
  544. logGroup.POST("/signList", controller.SignList)
  545. // 赠送日志
  546. logGroup.POST("/transferLog", controller.CashTransferLog)
  547. }
  548. // ------------------------------筹码------------------------------
  549. chipGroup := r.Group("/chip")
  550. {
  551. // 筹码统计
  552. chipGroup.POST("/stat", controller.ChipStat)
  553. // 金币变化
  554. chipGroup.POST("/getUserStatList", controller.GetUserChipStatList)
  555. // 金币变化详情
  556. chipGroup.POST("/getStatDetail", controller.GetChipStatDetail)
  557. // 后台管理--导出金币变化
  558. chipGroup.POST("/statExport", controller.ChipStatExport)
  559. // 金币日志
  560. chipGroup.POST("/getLog", controller.GetChipLog)
  561. // 税收总计
  562. chipGroup.POST("/taxStatList", controller.ChipTaxStatList)
  563. // 投注日志
  564. chipGroup.POST("/getBetLog", controller.GetChipBetLog)
  565. // 发放筹码
  566. chipGroup.POST("/send", controller.ChipSend)
  567. // 扣减筹码
  568. chipGroup.POST("/del", controller.ChipDel)
  569. // 货币排行
  570. chipGroup.POST("/top", controller.ChipTop)
  571. // 存量统计
  572. chipGroup.POST("/statTotalList", controller.ChipStatTotalList)
  573. // 存量统计(每天)
  574. chipGroup.POST("/statTotalListByDay", controller.ChipStatTotalListByDay)
  575. // 赠送日志
  576. chipGroup.POST("/transferLog", controller.ChipTransferLog)
  577. // Slot 统计列表
  578. chipGroup.POST("/getSlotStat", slot.GetChipStat)
  579. // Slot 统计详情列表
  580. chipGroup.POST("/getSlotDetail", slot.GetChipStatDetail)
  581. // 元宝大厅登录统计
  582. chipGroup.POST("/loginStat", controller.ChipLoginStat)
  583. // 行为列表
  584. chipGroup.POST("/behaviorList", controller.BehaviorList)
  585. }
  586. // ------------------------------红包券(任务)------------------------------
  587. couponGroup := r.Group("/coupon")
  588. {
  589. // 红包券排行榜
  590. couponGroup.POST("/rank", coupon.CouponRank)
  591. // 红包券日志
  592. couponGroup.POST("/log", coupon.CouponLog)
  593. // 天统计
  594. couponGroup.POST("/dayStat", coupon.DayStat)
  595. // 小时统计
  596. couponGroup.POST("/hourStat", coupon.HourStat)
  597. }
  598. // ------------------------------公告------------------------------
  599. announceGroup := r.Group("/announce")
  600. {
  601. // 公告列表
  602. announceGroup.POST("/list", announce.GetList)
  603. // 发送公告
  604. announceGroup.POST("/send", announce.Send)
  605. // 修改公告
  606. announceGroup.POST("/update", announce.Update)
  607. // 删除公告
  608. announceGroup.POST("/del", announce.Del)
  609. }
  610. // ------------------------------配置------------------------------
  611. cfgGroup := r.Group("/cfg")
  612. {
  613. // 获取配置列表
  614. cfgGroup.POST("/list", platformconfig.GetConfigList)
  615. // 获取配置信息
  616. cfgGroup.POST("/info", platformconfig.GetConfig)
  617. // 设置配置
  618. cfgGroup.POST("/set", platformconfig.SetConfig)
  619. // 获取操作记录
  620. cfgGroup.POST("/log", platformconfig.GetConfigLog)
  621. }
  622. // ------------------------------聊天------------------------------
  623. chatGroup := r.Group("/chat")
  624. {
  625. // 获取机器人聊天列表
  626. chatGroup.POST("/list", chat.GetList)
  627. // 获取机器人聊天信息
  628. chatGroup.POST("/info", chat.GetInfo)
  629. // 添加机器人聊天信息
  630. chatGroup.POST("/add", chat.AddInfo)
  631. // 修改机器人聊天信息
  632. chatGroup.POST("/update", chat.UpdateInfo)
  633. // 删除机器人聊天信息
  634. chatGroup.POST("/del", chat.DelInfo)
  635. }
  636. // ------------------------------打点统计------------------------------
  637. dotGroup := r.Group("/dot")
  638. {
  639. // 打点列表
  640. dotGroup.POST("/list", dot.GetConfigListNotTask)
  641. // 获取打点统计
  642. dotGroup.POST("/statList", dot.GetStatList)
  643. // 获取任务打点统计
  644. dotGroup.POST("/taskStatList", dot.GetTaskStatList)
  645. }
  646. // ------------------------------标签------------------------------
  647. labelGroup := r.Group("/label")
  648. {
  649. // 配置列表
  650. labelGroup.POST("/configList", label.GetConfigList)
  651. // 留存统计
  652. labelGroup.POST("/liveStatList", label.GetLiveStatList)
  653. }
  654. // ------------------------------语聊房------------------------------
  655. audioRoomGroup := r.Group("/audioRoom")
  656. {
  657. // 获取语聊房列表
  658. audioRoomGroup.POST("/getRoomList", audioroom.GetRoomList)
  659. // 获取语聊房详细信息
  660. audioRoomGroup.POST("/getRoomDetail", audioroom.GetRoomDetail)
  661. // 获取语聊房成员
  662. audioRoomGroup.POST("/getRoomMember", audioroom.GetRoomMember)
  663. // 获取语聊房房间的在线用户
  664. audioRoomGroup.POST("/getRoomOnlineUsers", audioroom.GetRoomOnlineUsers)
  665. // 获取语聊房麦位
  666. audioRoomGroup.POST("/getRoomMic", audioroom.GetRoomMic)
  667. // 获取房间黑名单列表
  668. audioRoomGroup.POST("/getBlackList", audioroom.GetBlackList)
  669. // 获取房内操作日志
  670. audioRoomGroup.POST("/getRoomLogRecord", audioroom.GetRoomLogRecord)
  671. // 获取房间任务列表
  672. audioRoomGroup.POST("/getRoomTask", audioroom.GetRoomTask)
  673. // 获取用户的房间任务
  674. audioRoomGroup.POST("/getUserRoomTask", audioroom.GetUserRoomTask)
  675. // 获取房间上下麦日志
  676. audioRoomGroup.POST("/getRoomMicLog", audioroom.GetRoomMicLog)
  677. }
  678. // ------------------------------赛事数据管理------------------------------
  679. matchData := r.Group("/matchdata")
  680. {
  681. // 获取赛事列表
  682. matchData.POST("/getMatchList", matchdata.GetMatchList)
  683. // 获取加入的名单
  684. matchData.POST("/getJoinList", matchdata.GetJoinList)
  685. // 根据类型获取名单
  686. matchData.POST("/getTypeList", matchdata.GetTypeList)
  687. // 获取加入的总费用
  688. matchData.POST("/getJoinTotalFee", matchdata.GetJoinTotalFee)
  689. // 竞猜 获取赛事列表
  690. matchData.POST("/guess/getMatchList", guess.GetGuessMatchList)
  691. // 竞猜 获取赛事信息(添加成功后,获取赛事写入内存 或 查数据)
  692. matchData.POST("/guess/getMatchInfo", guess.GetGuessMatchInfo)
  693. // 竞猜 刷新赛事信息(添加成功后,获取赛事写入内存)
  694. matchData.POST("/guess/refreshMatchInfo", guess.RefreshGuessMatchInfo)
  695. // 竞猜 添加赛事
  696. matchData.POST("/guess/addMatch", guess.AddGuessMatch)
  697. // 竞猜 编辑赛事
  698. matchData.POST("/guess/editMatch", guess.EditGuessMatch)
  699. // 竞猜 设置赛事状态
  700. matchData.POST("/guess/setMatchOpen", guess.SetGuessMatchOpen)
  701. // 竞猜 派奖
  702. matchData.POST("/guess/award", guess.GuessMatchAward)
  703. // 竞猜 设置结果
  704. matchData.POST("/guess/setResult", guess.GuessSetResult)
  705. // 竞猜 添加赛事球队
  706. matchData.POST("/guess/addMatchTeam", guess.AddGuessMatchTeam)
  707. // 竞猜 修改赛事球队
  708. matchData.POST("/guess/editMatchTeam", guess.EditGuessMatchTeam)
  709. // 竞猜 添加赛事投注选项
  710. matchData.POST("/guess/addMatchBet", guess.AddGuessMatchBet)
  711. // 竞猜 修改赛事投注选项
  712. matchData.POST("/guess/editMatchBet", guess.EditGuessMatchBet)
  713. // 竞猜 获取球队列表
  714. matchData.POST("/guess/getTeamList", guess.GetGuessTeamList)
  715. // 竞猜 添加球队
  716. matchData.POST("/guess/addTeam", guess.AddGuessTeam)
  717. // 竞猜 获取球队信息
  718. matchData.POST("/guess/getTeamInfo", guess.GetGuessTeamInfo)
  719. // 竞猜 编辑球队
  720. matchData.POST("/guess/editTeam", guess.EditGuessTeam)
  721. }
  722. // ------------------------------作业------------------------------
  723. jobGroup := r.Group("/job")
  724. {
  725. // 作业列表
  726. jobGroup.POST("/jobList", controller.JobList)
  727. // 作业简单列表
  728. jobGroup.POST("/jobSimpleList", controller.JobSimpleList)
  729. // 作业历史列表
  730. jobGroup.POST("/jobHistoryList", controller.JobHistoryList)
  731. }
  732. // ------------------------------404错误------------------------------
  733. // 404错误
  734. r.NoRoute(controller.NotFoundRoute)
  735. r.NoMethod(controller.NotFoundMethod)
  736. r.NoRoute(controller.NotFoundRoute)
  737. r.NoMethod(controller.NotFoundMethod)
  738. // 启动HTTPS服务(gin默认启动服务)
  739. go r.RunTLS(fmt.Sprintf(":%d", config.Server.TlsPort), config.Server.TlsCert, config.Server.TlsKey)
  740. // 启动HTTP服务(gin默认启动服务)
  741. r.Run(fmt.Sprintf(":%d", config.Server.WebPort))
  742. // ------------------------------优雅关机------------------------------
  743. // 实现优雅的关机
  744. srv := &http.Server{
  745. Addr: fmt.Sprintf(":%d", config.Server.WebPort),
  746. Handler: r,
  747. }
  748. go func() {
  749. fmt.Printf("Listening and serving HTTP on %v\n", srv.Addr)
  750. // 启动HTTP服务
  751. if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
  752. log.Fatalf("listen: %s\n", err)
  753. }
  754. }()
  755. // 等待中断信号来优雅地关闭服务器,为关闭服务器操作设置一个超时时长
  756. quit := make(chan os.Signal, 1) // 创建一个接收信号的通道
  757. // kill 默认会发送 syscall.SIGTERM 信号
  758. // kill -2 发送 syscall.SIGINT 信号,我们常用的 Ctrl+C 就是触发系统SIGINT信号
  759. // kill -9 发送 syscall.SIGKILL 信号,但是不能被捕获,所以不需要添加它
  760. // signal.Notify 把收到的 syscall.SIGINT 或 syscall.SIGTERM 信号转发给 quit
  761. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) // 此处不会阻塞
  762. <-quit // 阻塞在此,当接收到上述两种信号时才会往下执行
  763. fmt.Println("Shutdown Server!")
  764. // 创建一个30秒超时的context
  765. ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
  766. defer cancel()
  767. // 优雅关闭服务(将未处理完的请求处理完再关闭服务),超时就退出
  768. if err := srv.Shutdown(ctx); err != nil {
  769. log.Fatal("Server Shutdown:", err)
  770. }
  771. fmt.Println("adminserver server closed ...")
  772. }