flyzto vor 5 Tagen
Ursprung
Commit
d6a901de61
2 geänderte Dateien mit 47 neuen und 26 gelöschten Zeilen
  1. 44 25
      server/models/GamesPs.js
  2. 3 1
      server/routes/pstery.js

+ 44 - 25
server/models/GamesPs.js

@@ -677,9 +677,9 @@ const fetchGamesRelation = async (mk='') => {
           hg_event_id, hg_league_id,
           hg_team_home_name,
           hg_team_away_name,
-          im_event_id, im_league_id,
-          im_team_home_name,
-          im_team_away_name,
+          // im_event_id, im_league_id,
+          // im_team_home_name,
+          // im_team_away_name,
           updated,
           timestamp,
         } = item;
@@ -708,14 +708,14 @@ const fetchGamesRelation = async (mk='') => {
             teamAwayName: hg_team_away_name,
             timestamp
           } : null,
-          im: im_event_id ? {
-            eventId: +im_event_id,
-            leagueId: +im_league_id,
-            leagueName: league_name,
-            teamHomeName: im_team_home_name,
-            teamAwayName: im_team_away_name,
-            timestamp
-          } : null
+          // im: im_event_id ? {
+          //   eventId: +im_event_id,
+          //   leagueId: +im_league_id,
+          //   leagueName: league_name,
+          //   teamHomeName: im_team_home_name,
+          //   teamAwayName: im_team_away_name,
+          //   timestamp
+          // } : null
         };
         const rels = [];
         rels.push({ id: ps_event_id, mk, rel, timestamp, updated });
@@ -785,7 +785,14 @@ const getPCData = (id) => {
  * @property {boolean} listPC
  * @returns {object[]}
  */
-const getGamesRelation = ({ mk=-1, ids, listEvents=false, listPC=false, listOdds=false } = {}) => {
+const getGamesRelation = ({
+  mk=-1, ids,
+  listEvents=false,
+  listPC=false,
+  listOdds=false,
+  hideBase=false,
+  hideHalf=false,
+} = {}) => {
 
   let relations;
   if (ids?.length) {
@@ -795,9 +802,20 @@ const getGamesRelation = ({ mk=-1, ids, listEvents=false, listPC=false, listOdds
     relations = Object.values(GAMES.Relations);
   }
 
-  relations = relations.filter(item => !!item && (mk == -1 || item.mk == mk)).sort((a, b) => a.timestamp - b.timestamp);
+  relations = relations.filter(item => {
+    if (!item) {
+      return false;
+    }
+    if (hideHalf && item.id < 0) {
+      return false;
+    }
+    if (mk >= 0 && item.mk != mk) {
+      return false;
+    }
+    return true;
+  }).sort((a, b) => a.timestamp - b.timestamp);
 
-  if (listEvents && !listPC) {
+  if (listEvents && !listPC && !hideBase && !hideHalf) {
     return relations;
   }
 
@@ -808,18 +826,19 @@ const getGamesRelation = ({ mk=-1, ids, listEvents=false, listPC=false, listOdds
     if (listPC) {
       tempRel.pc = getPCData(id);
     }
-    if (!listEvents) {
-      Object.keys(tempRel).forEach(platform => {
-        const { events, evtime, special, sptime, ...gameInfo } = tempRel[platform] ?? {};
-        if (listOdds) {
-          const { odds, evExpire, spExpire } = extractOdds({ platform, evtime, events, sptime, special });
-          tempRel[platform] = { ...gameInfo, odds, evExpire, spExpire };
-        }
-        else {
-          tempRel[platform] = gameInfo;
-        }
-      });
+    if (hideBase) {
+      delete tempRel.ps;
     }
+    Object.keys(tempRel).forEach(platform => {
+      const { events, evtime, special, sptime, ...gameInfo } = tempRel[platform] ?? {};
+      if (!listEvents) {
+        tempRel[platform] = gameInfo;
+      }
+      if (listOdds) {
+        const { odds, evExpire, spExpire } = extractOdds({ platform, evtime, events, sptime, special });
+        tempRel[platform] = { ...tempRel[platform], odds, evExpire, spExpire };
+      }
+    });
     return { ...relationInfo, rel: tempRel };
   });
 }

+ 3 - 1
server/routes/pstery.js

@@ -104,12 +104,14 @@ router.get('/get_original_data', (req, res) => {
  * 获取关联列表
  */
 router.get('/get_games_relation', (req, res) => {
-  const { mk, ids, le, lp, lo } = req.query;
+  const { mk, ids, le, lp, lo, hb, hh } = req.query;
   const gamesRelation = Games.getGamesRelation({
     ids: ids?.split(',').map(item => +item.trim()).filter(item => !!item) ?? [],
     listEvents: le === 'true',
     listPC: lp === 'true',
     listOdds: lo === 'true',
+    hideBase: hb === 'true',
+    hideHalf: hh === 'true',
     mk: (/^-?\d$/).test(mk) ? +mk : -1
   });
   res.sendSuccess(gamesRelation);