shawenguan 1 rok temu
rodzic
commit
5328611e54
2 zmienionych plików z 42 dodań i 23 usunięć
  1. 41 22
      Scripts/hbcpre/hbcpreComposite.js
  2. 1 1
      Scripts/hbcpre/hbcpreHelper.js

+ 41 - 22
Scripts/hbcpre/hbcpreComposite.js

@@ -136,33 +136,52 @@ function readMySeriesOwnCntFakeData() {
     return gItemCntRwDict;
 }
 
-function checkHandleMyOwnList(ownList){
+
+function getRandomInt(min, max) {
+    return Math.floor(Math.random() * (max - min + 1) + min);
+}
+
+function getRandomFakeWorksData(seriesId, ctrlValue){
+    return {
+        worksId: ctrlValue*100000000+getRandomInt(10000000,100000000),
+        worksNo: ctrlValue*100000+getNRandomDigits(6),
+    };
+}
+
+function addCompositeFakeWorksToSeries(ownSeriesList, needData, num){
+    let needSeriesList = needData.seriesList;
+    let seriesCntDict = readMySeriesOwnCntFakeData();
+    for(let i=0; i < needSeriesList.length; i++){
+        let nedSeries = needSeriesList[i];
+        let ownSeries = ownSeriesList[i];
+        if(!ownSeries){
+            ownSeries = shallowClone(nedSeries);
+            ownSeries.worksList = [];
+            ownSeriesList[i] = ownSeries;
+        }
+        let sCnt = seriesCntDict[ownSeries.seriesId] || seriesCntDict[ownSeries.worksName] || num;
+        while(sCnt > 0){
+            const fkWorksData = getRandomFakeWorksData(ownSeries.seriesId, num);
+            ownSeries.worksList.push({
+                worksId: fkWorksData.worksId,
+                worksNo: fkWorksData.worksNo,
+            });
+            sCnt -= 1;
+            num -= 1;
+        }
+        if(num <= 0){
+            break;
+        }
+    }
+}
+
+function checkHandleMyOwnList(ownList, needList){
     let seriesCntDict = readMySeriesOwnCntFakeData();
     magicJS.logger.error(JSON.stringify(seriesCntDict));
     for(let i=0; i < ownList.length; i++){
         let iData = ownList[i];
         let seriesList = iData.seriesList;
-        for(let j=0; j < seriesList.length; j++){
-            let ownSeries = seriesList[j];
-            let sCnt = seriesCntDict[ownSeries.seriesId] || seriesCntDict[ownSeries.worksName];
-            magicJS.logger.error(`${ownSeries.seriesId} ${ownSeries.worksName} ${sCnt}`);
-            if(!sCnt){
-                continue;
-            }
-            let worksList = ownSeries.worksList;
-            if(!worksList){
-                worksList = [];
-                ownSeries.worksList = worksList;
-            }
-            while(sCnt > 0){
-                const fkWorksData = getRandomFakeWorksData(ownSeries.seriesId, j+sCnt);
-                ownSeries.worksList.push({
-                    worksId: fkWorksData.worksId,
-                    worksNo: fkWorksData.worksNo,
-                });
-                sCnt -= 1;
-            }
-        }
+        addCompositeFakeWorksToSeries(seriesList, needList[i], needList[i].num);
     }
     return ownList;
 }

+ 1 - 1
Scripts/hbcpre/hbcpreHelper.js

@@ -1033,7 +1033,7 @@ function handlerCompositeList() {
         let ownSeriesList = iData.seriesList;
         let ownWorksCnt = getOwnSeriesWorksCount(ownSeriesList);
         if(iData.num > ownWorksCnt){
-            addCompositeFakeWorksToSeries(ownSeriesList, needList[i], iData.num - ownWorksCnt);
+            addCompositeFakeWorksToSeries(ownSeriesList, needList[i], needList[i].num - ownWorksCnt);
         }
     }
     gRetBody = rspData;