flyzto 2 ay önce
ebeveyn
işleme
d8c3263e19
2 değiştirilmiş dosya ile 22 ekleme ve 16 silme
  1. 17 4
      server/models/GamesPs.js
  2. 5 12
      server/triangle/eventsMatch.js

+ 17 - 4
server/models/GamesPs.js

@@ -218,7 +218,8 @@ const submitOdds = ({ platform, mk, games }) => {
  */
 const syncBaseEvents = ({ mk, games, outrights }) => {
 
-  const { expireTimeEvents, expireTimeSpecial } = getSetting();
+  const { expireTimeEvents, expireTimeSpecial, subsidyTime, subsidyAmount } = getSetting();
+  const nowTime = Date.now();
 
   const marketType = getMarketType(mk);
   const baseList = GAMES.Baselist;
@@ -246,6 +247,17 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
     const { parentId, sptime, special } = outright;
     const baseGame = baseMap.get(parentId);
     if (baseGame) {
+      const { timestamp } = baseGame;
+      const isSubsidy = timestamp > nowTime && timestamp < nowTime + 1000*60*60*subsidyTime;
+      if (isSubsidy) {
+      Object.keys(special).forEach(ior => {
+        if (ior.startsWith('ior_ot')) {
+          const sourceOdds = special[ior].v;
+            special[ior].v = fixFloat(sourceOdds + subsidyAmount, 3);
+            special[ior].s = sourceOdds
+          }
+        });
+      }
       baseGame.sptime = sptime;
       baseGame.special = special;
     }
@@ -262,8 +274,8 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
   if (games?.length) {
     const gamesList = baseList[marketType]?.map(game => {
       const { evtime, events, sptime, special, ...gameInfo } = game;
-      const expireTimeEv = Date.now() - expireTimeEvents;
-      const expireTimeSP = Date.now() - expireTimeSpecial;
+      const expireTimeEv = nowTime - expireTimeEvents;
+      const expireTimeSP = nowTime - expireTimeSpecial;
       let odds = {};
       if (evtime > expireTimeEv) {
         odds = { ...odds, ...events };
@@ -276,7 +288,8 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
           return {
             key,
             value: odds[key]?.v ?? 0,
-            origin: odds[key]?.r
+            origin: odds[key]?.r,
+            source: odds[key]?.s,
           }
         });
         if (label == 'jqs') {

+ 5 - 12
server/triangle/eventsMatch.js

@@ -75,13 +75,11 @@ const updateSolutions = (solutions, eventsLogsMap) => {
   postDataToParent('updateSolutions', { solutions, eventsLogsMap });
 }
 
-const extractOdds = ({ evtime, events, sptime, special, platform, timestamp }) => {
-  const { subsidyTime, subsidyAmount } = getSetting();
+const extractOdds = ({ evtime, events, sptime, special }) => {
+  const { expireTimeEvents, expireTimeSpecial } = getSetting();
   const nowTime = Date.now();
-  const isSubsidy = platform == 'ps' && timestamp > nowTime && timestamp < nowTime + 1000*60*60*subsidyTime;
-  const setting = getSetting();
-  const expireTimeEv = Date.now() - setting.expireTimeEvents;
-  const expireTimeSP = Date.now() - setting.expireTimeSpecial;
+  const expireTimeEv = nowTime - expireTimeEvents;
+  const expireTimeSP = nowTime - expireTimeSpecial;
   const extractData = {
     odds: null,
     evExpire: false,
@@ -106,11 +104,6 @@ const extractOdds = ({ evtime, events, sptime, special, platform, timestamp }) =
       delete odds[ior];
       extractData.removeCount++;
     }
-    else if (isSubsidy && ior.startsWith('ior_ot')) {
-      const sourceOdds = odds[ior].v;
-      odds[ior].v = fixFloat(sourceOdds + subsidyAmount, 3);
-      odds[ior].s = sourceOdds
-    }
   });
   extractData.odds = odds;
   return extractData;
@@ -150,7 +143,7 @@ const eventMatch = () => {
         if (platform == 'ps') {
           eventsMap.info = { leagueName, teamHomeName, teamAwayName, id, timestamp, stage, score };
         }
-        const { odds, evExpire, spExpire, removeCount } = extractOdds({ evtime, events, sptime, special, platform, timestamp });
+        const { odds, evExpire, spExpire, removeCount } = extractOdds({ evtime, events, sptime, special });
 
         /** 日志 盘口过期 */
         if (evExpire || spExpire) {