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, id, le } = req.query; const gamesRelation = Games.getGamesRelation({ ids: id?.split(',').map(item => +item.trim()).filter(item => !!item) ?? [], listEvents: le === 'true', mk: 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 [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 [betInfo1, betInfo2, fixed, inner_base, inner_rebate] = req.body; Games.getTotalProfitWithBetInfo(betInfo1, betInfo2, fixed, inner_base, inner_rebate) .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;