| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- const express = require('express');
- const router = express.Router();
- const Games = require('../models/GamesPs');
- // 更新比赛列表
- router.post('/update_games_list', (req, res) => {
- const { platform, mk, games } = req.body ?? {};
- Games.updateGamesList({ platform, mk, games })
- .then(() => {
- res.sendSuccess();
- })
- .catch(err => {
- res.badRequest(err.message);
- })
- });
- // 更新比赛盘口
- router.post('/update_games_events', (req, res) => {
- const { platform, mk, games, outrights, timestamp, tp } = req.body ?? {};
- Games.updateGamesEvents({ platform, mk, games, outrights, timestamp, tp })
- .then(updateCount => {
- res.sendSuccess({ updateCount });
- })
- .catch(err => {
- res.badRequest(err.message);
- })
- });
- // 更新内盘盘口
- router.post('/update_base_events', (req, res) => {
- const { games, timestamp } = req.body ?? {};
- Games.updateBaseEvents({ games, timestamp })
- .then(() => {
- res.sendSuccess();
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 更新联赛列表
- router.post('/update_leagues_list', (req, res) => {
- const { mk, leagues, platform } = req.body ?? {};
- const updateCount = Games.updateLeaguesList({ mk, leagues, platform });
- res.sendSuccess({ updateCount });
- });
- // 更新比赛结果
- router.post('/update_games_result', (req, res) => {
- const { date, list } = req.body ?? {};
- Games.updateGamesResult({ date, list })
- .then(() => {
- res.sendSuccess();
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 获取筛选过的联赛
- router.get('/get_filtered_leagues', (req, res) => {
- const { mk } = req.query;
- Games.getFilteredLeagues(mk)
- .then(filteredLeagues => {
- res.sendSuccess(filteredLeagues);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 更新OB原始数据
- router.post('/update_original_data', (req, res) => {
- const { leagues, matches, platform } = req.body ?? {};
- Games.updateOriginalData({ leagues, matches });
- res.sendSuccess();
- });
- // 获取OB原始数据
- router.get('/get_original_data', (req, res) => {
- const obOriginalData = Games.getOriginalData();
- res.sendSuccess(obOriginalData);
- });
- // 获取关联列表
- router.get('/get_games_relation', (req, res) => {
- const { mk, ids, le, lp } = req.query;
- const gamesRelation = Games.getGamesRelation({
- ids: ids?.split(',').map(item => +item.trim()).filter(item => !!item) ?? [],
- listEvents: le === 'true',
- listPC: lp === 'true',
- mk: (/^-?\d$/).test(mk) ? +mk : -1
- });
- res.sendSuccess(gamesRelation);
- });
- // 获取中单方案
- router.get('/get_solutions', (req, res) => {
- const { win_min, with_events, show_lower, mk } = req.query;
- Games.getSolutions({
- win_min: win_min ? +win_min : undefined,
- with_events: with_events === 'true',
- show_lower: show_lower === 'true',
- mk: mk ? +mk : -1
- })
- .then(({ solutions, gamesEvents, mkCount }) => {
- res.sendSuccess({ solutions, gamesEvents, mkCount });
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 获取中单方案并按照比赛分组
- router.get('/get_games_solutions', (req, res) => {
- const { win_min, with_events, show_lower, mk, tp, sk } = req.query;
- Games.getGamesSolutions({
- win_min: win_min ? +win_min : undefined,
- with_events: with_events === 'true',
- show_lower: show_lower === 'true',
- mk: mk ? +mk : -1,
- tp: tp ? +tp : 0,
- sk: sk.trim() ? sk.trim() : undefined,
- })
- .then(gamesSolutions => {
- res.sendSuccess(gamesSolutions);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 获取单个中单方案
- router.get('/get_solution', (req, res) => {
- const { sid } = req.query;
- Games.getSolution(sid)
- .then(solution => {
- res.sendSuccess(solution);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 通过比赛 ID 获取中单方案
- router.post('/solutions_by_ids', (req, res) => {
- const { ids } = req.body ?? {};
- Games.getSolutionsByIds(ids)
- .then(solutions => {
- res.sendSuccess(solutions);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 获取综合利润方案
- router.post('/calc_total_profit', (req, res) => {
- const data = req.body;
- let sid1, sid2, inner_base, inner_rebate;
- if (Array.isArray(data)) {
- [sid1, sid2, inner_base, inner_rebate] = data;
- }
- else {
- sid1 = data.sids[0];
- sid2 = data.sids[1];
- inner_base = data.inner_base;
- inner_rebate = data.inner_rebate;
- }
- // const [sid1, sid2, inner_base, inner_rebate] = req.body;
- Games.getTotalProfitWithSid(sid1, sid2, inner_base, inner_rebate)
- .then(totalProfit => {
- res.sendSuccess(totalProfit);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 获取自定义综合利润
- router.post('/calc_custom_total_profit', (req, res) => {
- // const [bet_info_1, bet_info_2, fixed, inner_base, inner_rebate] = req.body;
- const data = req.body;
- let bet_info_1, bet_info_2, fixed, inner_base, inner_rebate;
- if (Array.isArray(data)) {
- [bet_info_1, bet_info_2, fixed, inner_base, inner_rebate] = data;
- }
- else {
- bet_info_1 = data.bet_info[0];
- bet_info_2 = data.bet_info[1];
- inner_base = data.inner_base;
- inner_rebate = data.inner_rebate;
- fixed = data.fixed;
- }
- Games.getTotalProfitWithBetInfo(bet_info_1, bet_info_2, fixed, inner_base, inner_rebate)
- .then(totalProfit => {
- res.sendSuccess(totalProfit);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 补单计算
- router.post('/calc_total_replacement', (req, res) => {
- const { event_id, inner_base, inner_rebate, inner_ior, inner_odds, outer_golds } = req.body;
- Games.getTotalReplacement(event_id, inner_base, inner_rebate, inner_ior, inner_odds, outer_golds)
- .then(totalProfit => {
- res.sendSuccess(totalProfit);
- })
- .catch(err => {
- res.badRequest(err.message);
- });
- });
- // 异常通知
- router.post('/notify_exception', (req, res) => {
- const { message } = req.body;
- Games.notifyException(message);
- res.sendSuccess();
- });
- module.exports = router;
|