shawenguan 1 năm trước cách đây
mục cha
commit
8eb503c10b
2 tập tin đã thay đổi với 20 bổ sung0 xóa
  1. 3 0
      Scripts/wubian/wubianHelper.js
  2. 17 0
      Scripts/wubian/wubianSynthesis.js

+ 3 - 0
Scripts/wubian/wubianHelper.js

@@ -38,6 +38,7 @@ const WuBianConstKey = {
 
     SynthesisConcurrentMode: 'WubianSynthesisConcurrentMode',
     SynthesisRunsPerSecond: 'WubianSynthesisRunsPerSecond',
+    SynthesisAmount: 'WubianSynthesisAmount',
     SynthesisActivityDisabled: 'WubianSynthesisActivityDisabled',
 
     FirstOrderCaptureEnabled: 'WubianFirstOrderCaptureEnabled',
@@ -664,6 +665,7 @@ function handleCvtGoodsList() {
         activityId = activityInfo.activityId;
         magicJS.data.write(WuBianConstKey.ActivityId, activityId);
         magicJS.data.write(WuBianConstKey.ActivityIndexName, activityInfo.name);
+        magicJS.data.write(WuBianConstKey.SynthesisAmount, 10);
         activityInfo.type = 1;
         setActivityDisabled(activityId, false);
 
@@ -690,6 +692,7 @@ function handleCompositeGoodsList() {
         activityId = activityInfo.activityId;
         magicJS.data.write(WuBianConstKey.ActivityId, activityId);
         magicJS.data.write(WuBianConstKey.ActivityIndexName, activityInfo.name);
+        magicJS.data.write(WuBianConstKey.SynthesisAmount, 10);
         activityInfo.type = 0;
         setActivityDisabled(activityId, false);
 

+ 17 - 0
Scripts/wubian/wubianSynthesis.js

@@ -17,6 +17,7 @@ const WuBianConstKey = {
     ActivityId: 'WubianActivityId',
     SynthesisConcurrentMode: 'WubianSynthesisConcurrentMode',
     SynthesisRunsPerSecond: 'WubianSynthesisRunsPerSecond',
+    SynthesisAmount: 'WubianSynthesisAmount',
 
     SynthesisCompositeGoodsListReqTime: 'WubianSynthesisCompositeGoodsListReqTime',
     SynthesisConvertGoodsListReqTime: 'WubianSynthesisConvertGoodsListReqTime',
@@ -266,6 +267,15 @@ function setActivityDisabled(activityId, bDisabled = true) {
     magicJS.data.write(key, bDisabled);
 }
 
+function getSynthesisAmount() {
+    let amount = magicJS.data.read(WuBianConstKey.SynthesisAmount, 10);
+    return Number(amount);
+}
+
+function setSynthesisAmount(amount) {
+    magicJS.data.write(WuBianConstKey.SynthesisAmount, amount);
+}
+
 async function trySynthesize() {
     let activityData = await getWillActivityData();
     magicJS.logger.info(`activityData=${JSON.stringify(activityData)}`);
@@ -288,6 +298,7 @@ async function trySynthesize() {
         return;
     }
     let willCount = getActivityWillCount();
+    willCount = getSynthesisAmount();
     let combinationLst = getSynthesizeCombination(retCvtData);
     magicJS.logger.info(`combinationLst=${JSON.stringify(combinationLst)}`);
     let nExcuteCount = Math.min(willCount, combinationLst.length);
@@ -330,6 +341,12 @@ async function trySynthesize() {
             tipsText += `成功兑换次数:${nSuccCount}\n`;
             tipsText += `失败兑换次数:${nFailCount}\n`;
             tipsText += `未知结果次数:${nExcuteCount * nRuns - nSuccCount - nFailCount}\n`;
+            if (nSuccCount >= willCount) {
+                tipsText += `由于兑换次数已达到配置的次数,该活动自动禁用\n`;
+                setActivityDisabled(activityId, true);
+            } else {
+                setSynthesisAmount(willCount - nSuccCount);
+            }
         } else {
             for (let n = 0; n < nRuns; n++) {
                 let startTime = Date.now();