flyzto 3 hete
szülő
commit
9c46ac8d68
1 módosított fájl, 12 hozzáadás és 8 törlés
  1. 12 8
      server/models/GamesPs.js

+ 12 - 8
server/models/GamesPs.js

@@ -738,7 +738,7 @@ const getGamesRelation = ({ mk=-1, ids, listEvents=false, listPC=false } = {}) =
     relations = Object.values(GAMES.Relations);
   }
 
-  relations = relations.filter(item => mk == -1 || item.mk == mk).sort((a, b) => a.timestamp - b.timestamp);
+  relations = relations.filter(item => !!item && (mk == -1 || item.mk == mk)).sort((a, b) => a.timestamp - b.timestamp);
 
   if (listEvents && !listPC) {
     return relations;
@@ -1247,22 +1247,21 @@ const getTotalProfitWithBetInfo = async (betInfo1, betInfo2, fixed=false, inner_
  * 计算补单综合利润
  */
 const getTotalReplacement = async (data) => {
-  Logs.out('getTotalReplacement', data);
   const { event_id, inner_ior, inner_odds, pre_bet_info } = data;
   if (!event_id) {
-    Logs.out('getTotalReplacement event_id 无效');
+    Logs.out('getTotalReplacement event_id 无效', data);
     return Promise.reject(new Error('event_id 无效'));
   }
   if (!inner_ior) {
-    Logs.out('getTotalReplacement inner_ior 无效');
+    Logs.out('getTotalReplacement inner_ior 无效', data);
     return Promise.reject(new Error('inner_ior 无效'));
   }
   if (isNaN(+inner_odds)) {
-    Logs.out('getTotalReplacement inner_odds 无效');
+    Logs.out('getTotalReplacement inner_odds 无效', data);
     return Promise.reject(new Error('inner_odds 无效'));
   }
   if (!pre_bet_info || typeof(pre_bet_info) !== 'object') {
-    Logs.out('getTotalReplacement pre_bet_info 无效');
+    Logs.out('getTotalReplacement pre_bet_info 无效', data);
     return Promise.reject(new Error('pre_bet_info 无效'));
   }
 
@@ -1282,15 +1281,20 @@ const getTotalReplacement = async (data) => {
     return { ...relationInfo, rel: tempRel };
   });
 
+  if (!relation?.length) {
+    Logs.out('getTotalReplacement 没有找到对应的比赛 data %o, relation %o', data, relation);
+    return Promise.reject(new Error('没有找到对应的比赛'));
+  }
+
   const passableEvents = getPassableEvents(relation, null);
   const solutions = eventsCombination(passableEvents, inner_base, inner_rebate);
 
   if (!solutions?.length) {
-    Logs.out('getTotalReplacement 没有可用的解决方案 relation %j, passableEvents %j, solutions %j', relation, passableEvents, solutions);
+    Logs.out('getTotalReplacement 没有可用的解决方案 data %o, relation %o, passableEvents %o, solutions %o', data, relation, passableEvents, solutions);
     return Promise.reject(new Error('没有可用的解决方案'));
   }
 
-  Logs.out('getTotalReplacement solutions length %d', solutions.length);
+  Logs.out('getTotalReplacement, event_id[%d], inner_ior[%s], solutions[%d]', event_id, inner_ior, solutions.length);
 
   // 过滤 .filter(solution => !solution.lower)
   return solutions.map(solution => {