|
@@ -59,117 +59,4 @@ console.log = function (...args) {
|
|
|
|
|
|
|
|
|
splitAndPrintString(combinedString, maxChunkSize);
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-var OptionInfo = { option: 0, odds: 1, totalBet: 0 }
|
|
|
-
|
|
|
-var betInfoMap = new Map();
|
|
|
-
|
|
|
-var totalProfit = 0;
|
|
|
-
|
|
|
-function dealMsg(msgType,data) {
|
|
|
- switch(msgType){
|
|
|
- case "GameDataSynNotify":
|
|
|
- betInfoMap.clear();
|
|
|
-
|
|
|
- data.optionInfo.forEach((info) => {
|
|
|
- if (betInfoMap.has(info.option)) {
|
|
|
-
|
|
|
-
|
|
|
- let existingInfo = betInfoMap.get(info.option);
|
|
|
- existingInfo.totalBet += info.totalBet;
|
|
|
- existingInfo.option = info.option;
|
|
|
- existingInfo.odds = info.odds;
|
|
|
-
|
|
|
- betInfoMap.set(info.option, existingInfo);
|
|
|
- } else {
|
|
|
-
|
|
|
-
|
|
|
- betInfoMap.set(info.option, {
|
|
|
- odds: info.odds,
|
|
|
- totalBet: info.totalBet,
|
|
|
- option: info.option
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- console.log("====>>>>同步后自己的数据",[...betInfoMap]);
|
|
|
- break;
|
|
|
-
|
|
|
- case "BetNotify":
|
|
|
- var detail = data.detail;
|
|
|
- var option = detail.option;
|
|
|
- var betAmount = detail.betAmount;
|
|
|
- if (betInfoMap.has(option)) {
|
|
|
-
|
|
|
- let existingInfo = betInfoMap.get(option);
|
|
|
- existingInfo.totalBet += betAmount;
|
|
|
- existingInfo.option = info.option;
|
|
|
- existingInfo.odds = info.odds;
|
|
|
- betInfoMap.set(option, existingInfo);
|
|
|
- } else {
|
|
|
-
|
|
|
- betInfoMap.set(option, {
|
|
|
- odds: detail.odds,
|
|
|
- totalBet: betAmount,
|
|
|
- limitRed: 0
|
|
|
- });
|
|
|
- };
|
|
|
-
|
|
|
-
|
|
|
- break;
|
|
|
- case "StopBetNotify":
|
|
|
- break;
|
|
|
- case "StartSettlementNotify":
|
|
|
- break;
|
|
|
- case "GameRoundEndNotify":
|
|
|
-
|
|
|
- let totalPayAmount = 0;
|
|
|
-
|
|
|
-
|
|
|
- data.playerSettle.forEach(player => {
|
|
|
-
|
|
|
- player.settle.forEach(settleItem => {
|
|
|
-
|
|
|
- totalPayAmount += settleItem.winAmount;
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- if (data.otherPlayers && data.otherPlayers.settle) {
|
|
|
- data.otherPlayers.settle.forEach(settleItem => {
|
|
|
-
|
|
|
- totalPayAmount += settleItem.winAmount;
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- let totalBetSum = 0;
|
|
|
-
|
|
|
-
|
|
|
- betInfoMap.forEach((value, key) => {
|
|
|
-
|
|
|
- totalBetSum += value.totalBet;
|
|
|
- });
|
|
|
- var curentRoundProfit = totalBetSum-totalPayAmount;
|
|
|
- totalProfit += curentRoundProfit;
|
|
|
-
|
|
|
- console.log(`====>>>>同步后:总盈亏:${totalProfit/100}¥,\t本局总收入是:${totalBetSum/100}¥,\t庄家总付出金额: ${totalPayAmount/100}¥,\t本局利润是:${(curentRoundProfit)/100}¥`);
|
|
|
- betInfoMap.clear();
|
|
|
- break;
|
|
|
- case "ReadyGameNotify":
|
|
|
- break;
|
|
|
- case "DealNotify":
|
|
|
- break;
|
|
|
- case "ShowOddsNotify":
|
|
|
- break;
|
|
|
- case "StartBetNotify":
|
|
|
- break;
|
|
|
- case "MergeAutoBetNotify":
|
|
|
- break;
|
|
|
- default:
|
|
|
-
|
|
|
- }
|
|
|
-}
|
|
|
+};
|