|
|
@@ -1105,7 +1105,36 @@ function getPlanFixCost(pksPlanListData, turnOneCost, planKey, ranking = 1) {
|
|
|
if (continuousNumTotalCnt > 0) {
|
|
|
turnOneCost = Math.ceil(turnOneCost / (continuousNumTotalCnt * 2));
|
|
|
}
|
|
|
- magicJS.logger.info(`getPlanFixCost#3: ${turnOneCost} ${continuousNumTotalCnt}`);
|
|
|
+
|
|
|
+ let numCountDict = {};
|
|
|
+ for (let i = 1; i < pksPlanListData.length; i++) {
|
|
|
+ const element = pksPlanListData[i];
|
|
|
+ if (preItem && preItem.preDrawIssue - element.preDrawIssue > 1) {
|
|
|
+ // 非连续期数
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (checkHitPrize(element.preDrawCode, element[planKey], 0)) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ const numArr = element.preDrawCode.split(',');
|
|
|
+ tmpDrawNum = numArr[posIndex];
|
|
|
+ if (!numCountDict[tmpDrawNum]) {
|
|
|
+ numCountDict[tmpDrawNum] = 1;
|
|
|
+ } else {
|
|
|
+ numCountDict[tmpDrawNum] += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let divisorNum = 1;
|
|
|
+ for (let k in numCountDict) {
|
|
|
+ if (numCountDict[k] >= 3) {
|
|
|
+ divisorNum += (numCountDict[k] - 2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ turnOneCost = Math.ceil(turnOneCost / divisorNum);
|
|
|
+
|
|
|
+ magicJS.logger.info(`continuousNumTotalCnt: ${continuousNumTotalCnt}`);
|
|
|
+ magicJS.logger.info(`divisorNum: ${divisorNum}`);
|
|
|
+ magicJS.logger.info(`getPlanFixCost#3: ${turnOneCost}`);
|
|
|
return turnOneCost;
|
|
|
}
|
|
|
|