|
|
@@ -25,23 +25,23 @@ const GLOBAL_DATA = {
|
|
|
lastChangeTime: 0,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * 获取有效联赛
|
|
|
- * @param {*} marketsList
|
|
|
- * @param {*} soccerSports
|
|
|
- * @returns {Array}
|
|
|
- */
|
|
|
-const getLeagues = (marketsList, soccerSports) => {
|
|
|
- const soccerSportsMap = new Map(soccerSports.map(item => [+item.series, item]));
|
|
|
- const leaguesList = marketsList.map(item => {
|
|
|
- const { leagueId: id, leagueName: name } = item;
|
|
|
- const sport = soccerSportsMap.get(+id)?.sport;
|
|
|
- return { id, name, sport };
|
|
|
- });
|
|
|
- // 去重并排序
|
|
|
- const leaguesMap = new Map(leaguesList.map(item => [item.id, item]));
|
|
|
- return Array.from(leaguesMap.values()).sort((a, b) => a.id - b.id);
|
|
|
-}
|
|
|
+// /**
|
|
|
+// * 获取有效联赛
|
|
|
+// * @param {*} marketsList
|
|
|
+// * @param {*} soccerSports
|
|
|
+// * @returns {Array}
|
|
|
+// */
|
|
|
+// const getLeagues = (marketsList, soccerSports) => {
|
|
|
+// const soccerSportsMap = new Map(soccerSports.map(item => [+item.series, item]));
|
|
|
+// const leaguesList = marketsList.map(item => {
|
|
|
+// const { leagueId: id, leagueName: name } = item;
|
|
|
+// const sport = soccerSportsMap.get(+id)?.sport;
|
|
|
+// return { id, name, sport };
|
|
|
+// });
|
|
|
+// // 去重并排序
|
|
|
+// const leaguesMap = new Map(leaguesList.map(item => [item.id, item]));
|
|
|
+// return Array.from(leaguesMap.values()).sort((a, b) => a.id - b.id);
|
|
|
+// }
|
|
|
|
|
|
// /**
|
|
|
// * 获取足球联赛
|
|
|
@@ -58,65 +58,65 @@ const getLeagues = (marketsList, soccerSports) => {
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
-/**
|
|
|
- * 提交联赛和比赛数据
|
|
|
- * @param {string} platform - 平台名称
|
|
|
- * @param {string} url - 请求地址
|
|
|
- * @param {Object} data - 请求数据
|
|
|
- * @returns {Promise}
|
|
|
- */
|
|
|
-const submitLeaguesAndGames = async ({ leagues, games }) => {
|
|
|
- const submitLeagues = platformPost('/api/platforms/update_leagues', { platform: 'polymarket', leagues });
|
|
|
- const submitGames = platformPost('/api/platforms/update_games', { platform: 'polymarket', games });
|
|
|
- return Promise.all([submitLeagues, submitGames]);
|
|
|
-}
|
|
|
+// /**
|
|
|
+// * 提交联赛和比赛数据
|
|
|
+// * @param {string} platform - 平台名称
|
|
|
+// * @param {string} url - 请求地址
|
|
|
+// * @param {Object} data - 请求数据
|
|
|
+// * @returns {Promise}
|
|
|
+// */
|
|
|
+// const submitLeaguesAndGames = async ({ leagues, games }) => {
|
|
|
+// const submitLeagues = platformPost('/api/platforms/update_leagues', { platform: 'polymarket', leagues });
|
|
|
+// const submitGames = platformPost('/api/platforms/update_games', { platform: 'polymarket', games });
|
|
|
+// return Promise.all([submitLeagues, submitGames]);
|
|
|
+// }
|
|
|
|
|
|
-/**
|
|
|
- * 更新联赛和比赛数据
|
|
|
- */
|
|
|
-const updateLeaguesAndGames = (marketsData) => {
|
|
|
- const marketsList = Object.values(marketsData);
|
|
|
- getSoccerSports()
|
|
|
- .then(soccerSports => {
|
|
|
- const leagues = getLeagues(marketsList, soccerSports);
|
|
|
- const games = marketsList.map(game => {
|
|
|
- const { marketsData, ...rest } = game;
|
|
|
- return rest;
|
|
|
- }).sort((a, b) => a.timestamp - b.timestamp);
|
|
|
- return { leagues, games };
|
|
|
- })
|
|
|
- .then(data => {
|
|
|
- Logs.outDev('update leagues and games list', data.leagues.length, data.games.length);
|
|
|
- return submitLeaguesAndGames(data);
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- Logs.outDev('leagues and games list updated');
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- Logs.out('failed to update leagues and games list', error.message);
|
|
|
- });
|
|
|
-}
|
|
|
+// /**
|
|
|
+// * 更新联赛和比赛数据
|
|
|
+// */
|
|
|
+// const updateLeaguesAndGames = (marketsData) => {
|
|
|
+// const marketsList = Object.values(marketsData);
|
|
|
+// getSoccerSports()
|
|
|
+// .then(soccerSports => {
|
|
|
+// const leagues = getLeagues(marketsList, soccerSports);
|
|
|
+// const games = marketsList.map(game => {
|
|
|
+// const { marketsData, ...rest } = game;
|
|
|
+// return rest;
|
|
|
+// }).sort((a, b) => a.timestamp - b.timestamp);
|
|
|
+// return { leagues, games };
|
|
|
+// })
|
|
|
+// .then(data => {
|
|
|
+// Logs.outDev('update leagues and games list', data.leagues.length, data.games.length);
|
|
|
+// return submitLeaguesAndGames(data);
|
|
|
+// })
|
|
|
+// .then(() => {
|
|
|
+// Logs.outDev('leagues and games list updated');
|
|
|
+// })
|
|
|
+// .catch(error => {
|
|
|
+// Logs.out('failed to update leagues and games list', error.message);
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
-/**
|
|
|
- * 获取过滤后的比赛数据
|
|
|
- * @returns
|
|
|
- */
|
|
|
-const updateRelatedGames = () => {
|
|
|
- platformGet('/api/platforms/get_related_games', { platform: 'polymarket' })
|
|
|
- .then(res => {
|
|
|
- const { data: relatedGames } = res;
|
|
|
- Logs.outDev('relatedGames updated', relatedGames.length);
|
|
|
- GLOBAL_DATA.relatedGames = relatedGames.map(item => item.id);
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- Logs.out('failed to update related games', error.message);
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- setTimeout(() => {
|
|
|
- updateRelatedGames();
|
|
|
- }, 1000 * 10);
|
|
|
- });
|
|
|
-}
|
|
|
+// /**
|
|
|
+// * 获取过滤后的比赛数据
|
|
|
+// * @returns
|
|
|
+// */
|
|
|
+// const updateRelatedGames = () => {
|
|
|
+// platformGet('/api/platforms/get_related_games', { platform: 'polymarket' })
|
|
|
+// .then(res => {
|
|
|
+// const { data: relatedGames } = res;
|
|
|
+// Logs.outDev('relatedGames updated', relatedGames.length);
|
|
|
+// GLOBAL_DATA.relatedGames = relatedGames.map(item => item.id);
|
|
|
+// })
|
|
|
+// .catch(error => {
|
|
|
+// Logs.out('failed to update related games', error.message);
|
|
|
+// })
|
|
|
+// .finally(() => {
|
|
|
+// setTimeout(() => {
|
|
|
+// updateRelatedGames();
|
|
|
+// }, 1000 * 10);
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 获取赛事数据
|
|
|
@@ -148,7 +148,7 @@ const getMarketsData = async () => {
|
|
|
})
|
|
|
.then(marketsData => {
|
|
|
|
|
|
- updateLeaguesAndGames(marketsData);
|
|
|
+ // updateLeaguesAndGames(marketsData);
|
|
|
|
|
|
const { marketsData: oldMarketsData } = GLOBAL_DATA;
|
|
|
const newMarketsData = marketsData;
|
|
|
@@ -247,7 +247,7 @@ const syncMarketsData = () => {
|
|
|
*/
|
|
|
const getGamesEvents = () => {
|
|
|
const { marketsData, lastChangeTime } = GLOBAL_DATA;
|
|
|
- Logs.outDev('getGamesEvents', marketsData, lastChangeTime);
|
|
|
+ // Logs.outDev('getGamesEvents', marketsData, lastChangeTime);
|
|
|
const games = Object.values(marketsData).map(item => {
|
|
|
const { marketsData, ...rest } = item;
|
|
|
const odds = parseOdds(marketsData);
|
|
|
@@ -265,6 +265,7 @@ const updateOdds = async () => {
|
|
|
if (!games.length || timestamp < expireTime ) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
+ // Logs.outDev('updateOdds', games, timestamp);
|
|
|
return platformPost('/api/platforms/update_odds', { platform: 'polymarket', games, timestamp });
|
|
|
}
|
|
|
|
|
|
@@ -331,7 +332,7 @@ const main = () => {
|
|
|
GLOBAL_DATA.marketWsClient = marketWsClient;
|
|
|
marketWsClient.connect();
|
|
|
marketWsClient.on('open', () => {
|
|
|
- updateRelatedGames();
|
|
|
+ // updateRelatedGames();
|
|
|
updateGamesMarkets();
|
|
|
syncMarketsData();
|
|
|
updateOddsLoop();
|