shawenguan 1 tahun lalu
induk
melakukan
c6a402b906
1 mengubah file dengan 34 tambahan dan 26 penghapusan
  1. 34 26
      Scripts/elife/ofpayGrab.js

+ 34 - 26
Scripts/elife/ofpayGrab.js

@@ -88,25 +88,32 @@ async function all() {
                 lk.log('#用户token数据已失效');
                 lk.appendNotifyInfo(`❌用户token刷新失败,请登录app采集`);
             }else {
-                let cateItems = getMarketItemsFromCache(marketId, eventVisitorId);
-                if(!cateItems){
+                let cateItemsList = getMarketItemsFromCache(marketId, eventVisitorId);
+                if(!cateItemsList){
                     lk.log('#使用即时商品列表数据');
-                    cateItems = await getMarketItemsFromSvr(marketId, eventVisitorId);
+                    cateItemsList = await getMarketItemsFromSvr(marketId, eventVisitorId);
                 }else{
                     lk.log('#使用商品列表缓存数据');
                 }
-                if(cateItems){
-                    let cateCount = cateItems.length;
-                    let allBuyList = getWillMarketBuyListAll();
-                    // lk.log("#############allBuyList#############");
-                    // lk.log(JSON.stringify(allBuyList));
-                    let allRetList = [];
+                if(cateItemsList){
+                    let cateItemDict = {};
+                    let cateCount = cateItemsList.length;
                     for (let i = 0; i < cateCount; i++) {
-                        const buyList = allBuyList[i];
+                        const cateActivityData = cateItemsList[i];
+                        const outActivityCode = cateActivityData.outActivityCode;
+                        cateItemDict[outActivityCode] = cateActivityData;
+                    }
+                    let allBuyDict = getWillMarketBuyListAll();
+                    let allRetList = [];
+                    for(let cateType in allBuyDict){
+                        const buyList = allBuyDict[cateType];
                         if(!buyList){
                             continue;
                         }
-                        const activityData = cateItems[i];
+                        const activityData = cateItemDict[cateType];
+                        if(!activityData){
+                            return;
+                        }
                         const buyRetList = await checkToBuyAll(buyList, activityData);
                         allRetList = allRetList.concat(buyRetList);
                     }
@@ -248,24 +255,25 @@ function checkParamsExists(){
 
 function getWillMarketBuyListAll() {
     let key = `${OfPayConstKey.marketBuyList}`;
-    let defVal = '星巴克|霸王茶姬|百果园|京东E卡|滴滴快车';
-    let nameArr = [];
-    let nameStr = lk.getVal(key, defVal);
-    if (!lk.isEmpty(nameStr)) {
-        let segments = nameStr.trim().split('|');
-        nameArr = [];
-        for (let vstr of segments) {
-            if(lk.isEmpty(vstr)){
-                nameArr.push(null);
-            } else {
-                const vlist = vstr.trim().split(',');
-                nameArr.push(vlist);
+    let defVal = 'eSupermarket#京东E卡|eTravel#滴滴快车|eCoffee#星巴克|eFood#百果园|eTea#霸王茶姬|eMovie#|eBicycle#|eOffice#';
+    let buyRetDict = {};
+    let buyConfStr = lk.getVal(key, defVal);
+    if (!lk.isEmpty(buyConfStr)) {
+        buyRetDict = {};
+        let items = buyConfStr.trim().split('|');
+        for (let vstr of items) {
+            if(!lk.isEmpty(vstr)){
+                let cateItem = vstr.trim().split('#');
+                let cateTypeKey = cateItem[0];
+                let cateItemVal = cateItem[1];
+                if(cateItemVal && cateItemVal.length > 0){
+                    const vlist = cateItemVal.trim().split('+');
+                    buyRetDict[cateTypeKey] = vlist.map(istr => istr.trim());
+                }
             }
         }
-    } else {
-        nameArr = [];
     }
-    return nameArr;
+    return buyRetDict;
 }
 
 async function checkToBuyAll(buyList, activityData){