flyzto 6 ماه پیش
والد
کامیت
705c5e6c33
1فایلهای تغییر یافته به همراه20 افزوده شده و 25 حذف شده
  1. 20 25
      server/triangle/totalProfitCalc.js

+ 20 - 25
server/triangle/totalProfitCalc.js

@@ -1,5 +1,3 @@
-const GOLD_BASE = 10000;
-
 const fixFloat = (number, x = 2) => {
   return parseFloat(number.toFixed(x));
 }
@@ -121,8 +119,8 @@ const HandicapCalc = function (data) {
 }
 
 const calcExternalHandicap = (data) => {
-  const { gold_side_jc: g, odds_side_a: a, odds_side_b: b, odds_side_m: c, jc_index: i, cross_type: t, win_target: w, pre_loss } = data;
-  const l = pre_loss ?? 0;
+  const { gold_side_jc: g, odds_side_a: a, odds_side_b: b, odds_side_m: c, jc_index: i, cross_type: t, win_target: w, loss_out_1 } = data;
+  const l = loss_out_1 ?? 0;
   const calc = new HandicapCalc({ i, g, a, b, c, w, l });
   const { x, y, z } = calc?.[t]() ?? {};
   return {
@@ -143,49 +141,46 @@ const calcGoldsWithWinTarget = (data) => {
     jc_index: jc_index_1
   } = calcExternalHandicap({ ...sol1, gold_side_jc, win_target });
 
-  let pre_loss = 0, jc_win_1 = 0;
+  let loss_out_1 = 0, win_jc_1 = 0;
   switch (jc_index_1) {
     case 0:
-      pre_loss = goldB1 + goldM1;
-      jc_win_1 = GOLD_BASE * (sol1.odds_side_a + 1);
+      loss_out_1 = goldB1 + goldM1;
+      win_jc_1 = gold_side_jc * (sol1.odds_side_a + 1);
       break;
     case 1:
-      pre_loss = goldA1 + goldM1;
-      jc_win_1 = GOLD_BASE * (sol1.odds_side_b + 1);
+      loss_out_1 = goldA1 + goldM1;
+      win_jc_1 = gold_side_jc * (sol1.odds_side_b + 1);
       break;
     case 2:
-      pre_loss = goldA1 + goldB1;
-      jc_win_1 = GOLD_BASE * (sol1.odds_side_m + 1)
+      loss_out_1 = goldA1 + goldB1;
+      win_jc_1 = gold_side_jc * (sol1.odds_side_m + 1)
       break;
   }
 
-  let {
+  const {
     gold_side_a: goldA2,
     gold_side_b: goldB2,
     gold_side_m: goldM2,
     jc_index: jc_index_2
-  } = calcExternalHandicap({ ...sol2, gold_side_jc, win_target, pre_loss });
+  } = calcExternalHandicap({ ...sol2, gold_side_jc, win_target, loss_out_1 });
 
-  let jc_odds_2 = 0, win_target_2 = 0;
+  let loss_out_2 = 0, win_jc_2 = 0;
   switch (jc_index_2) {
     case 0:
-      goldA2 = jc_win_1;
-      jc_odds_2 = sol2.odds_side_a + 1;
-      win_target_2 = goldA2 * jc_odds_2 - goldB2 - goldM2;
+      loss_out_2 = gold_side_jc +goldB2 + goldM2 + loss_out_1;
+      win_jc_2 = win_jc_1 * (sol2.odds_side_a + 1);
       break;
     case 1:
-      goldB2 = jc_win_1;
-      jc_odds_2 = sol2.odds_side_b + 1;
-      win_target_2 = goldB2 * jc_odds_2 - goldA2 - goldM2;
+      loss_out_2 = gold_side_jc + goldA2 + goldM2 + loss_out_1;
+      win_jc_2 = win_jc_1 * (sol2.odds_side_b + 1);
       break;
     case 2:
-      goldM2 = jc_win_1;
-      jc_odds_2 = sol2.odds_side_m + 1;
-      win_target_2 = goldM2 * jc_odds_2 - goldA2 - goldB2;
+      loss_out_2 = gold_side_jc + goldA2 + goldB2 + loss_out_1;
+      win_jc_2 = win_jc_1 * (sol2.odds_side_m + 1);
       break;
   }
 
-  const win_jc = fixFloat(win_target_2 - GOLD_BASE - goldB2 - goldM2);
+  const win_jc = fixFloat(win_jc_2 - loss_out_2);
 
   return {
     goldA1,
@@ -197,7 +192,7 @@ const calcGoldsWithWinTarget = (data) => {
     win_jc,
     jc_index_1,
     jc_index_2,
-    jc_base: GOLD_BASE,
+    jc_base: gold_side_jc,
   }
 }