pstery.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. const express = require('express');
  2. const router = express.Router();
  3. const Games = require('../models/GamesPs');
  4. // 更新比赛列表
  5. router.post('/update_games_list', (req, res) => {
  6. const { platform, mk, games } = req.body ?? {};
  7. Games.updateGamesList({ platform, mk, games })
  8. .then(() => {
  9. res.sendSuccess();
  10. })
  11. .catch(err => {
  12. res.badRequest(err.message);
  13. })
  14. });
  15. // 更新比赛盘口
  16. router.post('/update_games_events', (req, res) => {
  17. const { platform, mk, games, outrights, timestamp, tp } = req.body ?? {};
  18. Games.updateGamesEvents({ platform, mk, games, outrights, timestamp, tp })
  19. .then(updateCount => {
  20. res.sendSuccess({ updateCount });
  21. })
  22. .catch(err => {
  23. res.badRequest(err.message);
  24. })
  25. });
  26. // 更新联赛列表
  27. router.post('/update_leagues_list', (req, res) => {
  28. const { mk, leagues } = req.body ?? {};
  29. const updateCount = Games.updateLeaguesList({ mk, leagues });
  30. res.sendSuccess({ updateCount });
  31. });
  32. // 更新比赛结果
  33. router.post('/update_games_result', (req, res) => {
  34. const { date, list } = req.body ?? {};
  35. Games.updateGamesResult({ date, list })
  36. .then(() => {
  37. res.sendSuccess();
  38. })
  39. .catch(err => {
  40. res.badRequest(err.message);
  41. });
  42. });
  43. // 获取筛选过的联赛
  44. router.get('/get_filtered_leagues', (req, res) => {
  45. const { mk } = req.query;
  46. Games.getFilteredLeagues(mk)
  47. .then(filteredLeagues => {
  48. res.sendSuccess(filteredLeagues);
  49. })
  50. .catch(err => {
  51. res.badRequest(err.message);
  52. });
  53. });
  54. // 获取关联列表
  55. router.get('/get_games_relation', (req, res) => {
  56. const { mk, id, le } = req.query;
  57. const gamesRelation = Games.getGamesRelation({
  58. ids: id?.split(',').map(item => +item.trim()).filter(item => !!item) ?? [],
  59. listEvents: le === 'true',
  60. mk: mk ? +mk : -1
  61. });
  62. res.sendSuccess(gamesRelation);
  63. });
  64. // 获取中单方案
  65. router.get('/get_solutions', (req, res) => {
  66. const { win_min, with_events, mk } = req.query;
  67. Games.getSolutions({
  68. win_min: win_min ? +win_min : undefined,
  69. with_events: with_events === 'true',
  70. mk: mk ? +mk : -1
  71. })
  72. .then(({ solutions, gamesEvents, mkCount }) => {
  73. res.sendSuccess({ solutions, gamesEvents, mkCount });
  74. })
  75. .catch(err => {
  76. res.badRequest(err.message);
  77. });
  78. });
  79. // 获取中单方案并按照比赛分组
  80. router.get('/get_games_solutions', (req, res) => {
  81. const { win_min, with_events, mk } = req.query;
  82. Games.getGamesSolutions({
  83. win_min: win_min ? +win_min : undefined,
  84. with_events: with_events === 'true',
  85. mk: mk ? +mk : -1
  86. })
  87. .then(gamesSolutions => {
  88. res.sendSuccess(gamesSolutions);
  89. })
  90. .catch(err => {
  91. res.badRequest(err.message);
  92. });
  93. });
  94. // 获取单个中单方案
  95. router.get('/get_solution', (req, res) => {
  96. const { sid } = req.query;
  97. Games.getSolution(sid)
  98. .then(solution => {
  99. res.sendSuccess(solution);
  100. })
  101. .catch(err => {
  102. res.badRequest(err.message);
  103. });
  104. });
  105. // 通过比赛 ID 获取中单方案
  106. router.post('/solutions_by_ids', (req, res) => {
  107. const { ids } = req.body ?? {};
  108. Games.getSolutionsByIds(ids)
  109. .then(solutions => {
  110. res.sendSuccess(solutions);
  111. })
  112. .catch(err => {
  113. res.badRequest(err.message);
  114. });
  115. });
  116. // 获取综合利润方案
  117. router.post('/calc_total_profit', (req, res) => {
  118. const [sid1, sid2, inner_base, inner_rebate] = req.body;
  119. Games.getTotalProfitWithSid(sid1, sid2, inner_base, inner_rebate)
  120. .then(totalProfit => {
  121. res.sendSuccess(totalProfit);
  122. })
  123. .catch(err => {
  124. res.badRequest(err.message);
  125. });
  126. });
  127. // 获取自定义综合利润
  128. router.post('/calc_custom_total_profit', (req, res) => {
  129. const [betInfo1, betInfo2, fixed, inner_base, inner_rebate] = req.body;
  130. Games.getTotalProfitWithBetInfo(betInfo1, betInfo2, fixed, inner_base, inner_rebate)
  131. .then(totalProfit => {
  132. res.sendSuccess(totalProfit);
  133. })
  134. .catch(err => {
  135. res.badRequest(err.message);
  136. });
  137. });
  138. // 异常通知
  139. router.post('/notify_exception', (req, res) => {
  140. const { message } = req.body;
  141. Games.notifyException(message);
  142. res.sendSuccess();
  143. });
  144. module.exports = router;