|
@@ -38,7 +38,6 @@ const BASE_API_URL = IS_DEV ? 'https://api.qboss.vip/api' : 'http://172.17.222.3
|
|
|
const GAMES = {
|
|
const GAMES = {
|
|
|
Leagues: {},
|
|
Leagues: {},
|
|
|
Baselist: {},
|
|
Baselist: {},
|
|
|
- BaseMatches: [],
|
|
|
|
|
Relations: {},
|
|
Relations: {},
|
|
|
Solutions: {},
|
|
Solutions: {},
|
|
|
UpdateTimestamp: {},
|
|
UpdateTimestamp: {},
|
|
@@ -176,14 +175,14 @@ const syncBaseList = ({ marketType, games }) => {
|
|
|
/**
|
|
/**
|
|
|
* 清理基准比赛列表
|
|
* 清理基准比赛列表
|
|
|
*/
|
|
*/
|
|
|
-const cleanupBaseList = () => {
|
|
|
|
|
- const baseList = GAMES.Baselist;
|
|
|
|
|
- const nowTime = Date.now();
|
|
|
|
|
- const expireTime = nowTime - 1000*60*60*3;
|
|
|
|
|
- Object.keys(baseList).forEach(marketType => {
|
|
|
|
|
- baseList[marketType] = baseList[marketType].filter(item => item.timestamp < expireTime);
|
|
|
|
|
- });
|
|
|
|
|
-}
|
|
|
|
|
|
|
+// const cleanupBaseList = () => {
|
|
|
|
|
+// const baseList = GAMES.Baselist;
|
|
|
|
|
+// const nowTime = Date.now();
|
|
|
|
|
+// const expireTime = nowTime - 1000*60*60*3;
|
|
|
|
|
+// Object.keys(baseList).forEach(marketType => {
|
|
|
|
|
+// baseList[marketType] = baseList[marketType].filter(item => item.timestamp < expireTime);
|
|
|
|
|
+// });
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 更新比赛列表
|
|
* 更新比赛列表
|
|
@@ -298,6 +297,8 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ game.matches = matches; // matches 也记录下来
|
|
|
|
|
+
|
|
|
let uptime = evtime ?? 0;
|
|
let uptime = evtime ?? 0;
|
|
|
return { ...gameInfo, matches, uptime };
|
|
return { ...gameInfo, matches, uptime };
|
|
|
});
|
|
});
|
|
@@ -306,7 +307,6 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
|
|
|
// if (mk == 2) {
|
|
// if (mk == 2) {
|
|
|
// Logs.out('syncBaseEvents', JSON.stringify({ mk, gamesList }, null, 2));
|
|
// Logs.out('syncBaseEvents', JSON.stringify({ mk, gamesList }, null, 2));
|
|
|
// }
|
|
// }
|
|
|
- GAMES.BaseMatches = gamesList;
|
|
|
|
|
submitOdds({ platform: 'ps', mk, games: gamesList });
|
|
submitOdds({ platform: 'ps', mk, games: gamesList });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -827,8 +827,9 @@ const getSolution = async (sid) => {
|
|
|
* 通过比赛 ID 获取中单方案
|
|
* 通过比赛 ID 获取中单方案
|
|
|
*/
|
|
*/
|
|
|
const getSolutionsByIds = async (ids) => {
|
|
const getSolutionsByIds = async (ids) => {
|
|
|
- const baseMatches = GAMES.BaseMatches;
|
|
|
|
|
- const baseMap = new Map(baseMatches.map(item => [item.eventId, item]));
|
|
|
|
|
|
|
+ const baseList = Object.values(GAMES.Baselist).flat();
|
|
|
|
|
+ Logs.out('baseList', baseList);
|
|
|
|
|
+ const baseMap = new Map(baseList.map(item => [item.eventId, item]));
|
|
|
const result = {};
|
|
const result = {};
|
|
|
ids.forEach(id => {
|
|
ids.forEach(id => {
|
|
|
const baseGame = baseMap.get(id);
|
|
const baseGame = baseMap.get(id);
|
|
@@ -877,7 +878,7 @@ const solutionsCleanup = () => {
|
|
|
* 定时清理盘口信息
|
|
* 定时清理盘口信息
|
|
|
*/
|
|
*/
|
|
|
setInterval(() => {
|
|
setInterval(() => {
|
|
|
- cleanupBaseList();
|
|
|
|
|
|
|
+ // cleanupBaseList();
|
|
|
solutionsCleanup();
|
|
solutionsCleanup();
|
|
|
gamesRelationCleanup();
|
|
gamesRelationCleanup();
|
|
|
}, 1000*30);
|
|
}, 1000*30);
|
|
@@ -1034,7 +1035,11 @@ const saveGamesToCache = () => {
|
|
|
*/
|
|
*/
|
|
|
const loadGamesFromCache = () => {
|
|
const loadGamesFromCache = () => {
|
|
|
const gamesCacheData = Cache.getData(GamesCacheFile, true);
|
|
const gamesCacheData = Cache.getData(GamesCacheFile, true);
|
|
|
- Object.assign(GAMES, gamesCacheData);
|
|
|
|
|
|
|
+ Object.keys(GAMES).forEach(key => {
|
|
|
|
|
+ if (gamesCacheData[key]) {
|
|
|
|
|
+ GAMES[key] = gamesCacheData[key];
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
Logs.out('Games cache loaded successfully');
|
|
Logs.out('Games cache loaded successfully');
|
|
|
}
|
|
}
|
|
|
|
|
|