Quellcode durchsuchen

佣金逻辑修改

Kirin vor 3 Jahren
Ursprung
Commit
769d44de70
1 geänderte Dateien mit 21 neuen und 13 gelöschten Zeilen
  1. 21 13
      app/models/mining/UserMiningMachine.php

+ 21 - 13
app/models/mining/UserMiningMachine.php

@@ -55,6 +55,7 @@ class UserMiningMachine extends BaseModel
 
     public static function dayMining()
     {
+        $p = file_get_contents('day.txt');
         //今日已发放矿机
         BaseModel::beginTrans();
         self::dayMiningStatusEnd();
@@ -92,8 +93,10 @@ class UserMiningMachine extends BaseModel
                         $day_get = bcmul($machine['day_get'] > 0 ? $machine['day_get'] : $day_gets[$machine['get_money_type']], $v['num'], 8);
                         if ($v['get_money_type'] == 'XCH')
                             $day_get = bcmul($day_get, 0.84, 8);
-                        if ($v['get_money_type'] == 'MASS')
-                            $day_get = bcmul($day_get, 1.35, 8);
+                        if ($v['get_money_type'] == 'MASS') {
+                            if ($p > 35) $p = 35;
+                            $day_get = bcmul($day_get, 1.35 - ($p * 0.01), 8);
+                        }
                         $send_stand = bcdiv($v['stand_money'], $machine['third_step_time'], 8);
                         $day_unlock = 0;
                         $locks = UserMining::where('umid', $v['id'])->where('add_date', '<>', strtotime('Y-m-d'))->where('lock_money', '>', 0)->select();
@@ -141,8 +144,10 @@ class UserMiningMachine extends BaseModel
                         $day_get = bcmul($machine['day_get'] > 0 ? $machine['day_get'] : $day_gets[$machine['get_money_type']], $v['num'], 8);
                         if ($v['get_money_type'] == 'XCH')
                             $day_get = bcmul($day_get, 0.84, 8);
-                        if ($v['get_money_type'] == 'MASS')
-                            $day_get = bcmul($day_get, 1.35, 8);
+                        if ($v['get_money_type'] == 'MASS') {
+                            if ($p > 35) $p = 35;
+                            $day_get = bcmul($day_get, 1.35 - ($p * 0.01), 8);
+                        }
                         $service_ratio = $machine['service_ratio'];
                         $service_ratio = UserMiningService::where('uid', $v['uid'])->where('mid', $machine['id'])->value('ratio') ?: $service_ratio;
                         $service_ratio = bcsub(1, bcdiv($service_ratio, 100, 4), 4);
@@ -173,8 +178,11 @@ class UserMiningMachine extends BaseModel
 //                        var_dump($day_get);
                         if ($v['get_money_type'] == 'XCH')
                             $day_get = bcmul($day_get, 0.84, 8);
-                        if ($v['get_money_type'] == 'MASS')
-                            $day_get = bcmul($day_get, 1.35, 8);
+                        if ($v['get_money_type'] == 'MASS') {
+
+                            if ($p > 35) $p = 35;
+                            $day_get = bcmul($day_get, 1.35 - ($p * 0.01), 8);
+                        }
                         $service_ratio = $machine['service_ratio'];
                         $service_ratio = UserMiningService::where('uid', $v['uid'])->where('mid', $machine['id'])->value('ratio') ?: $service_ratio;
                         $service_ratio = bcsub(1, bcdiv($service_ratio, 100, 4), 4);
@@ -206,7 +214,7 @@ class UserMiningMachine extends BaseModel
             }
 //            var_dump($res);
             if ($res) {
-
+                file_put_contents('day.txt', $p + 1);
                 BaseModel::commitTrans();
                 return true;
             } else
@@ -222,18 +230,18 @@ class UserMiningMachine extends BaseModel
         $spread = User::getUserInfo($user['spread_uid']);
         $ratio = UserMiningService::where('uid', $uid)->where('mid', $mid)->value('ratio');
         if (!$ratio) $ratio = MiningMachine::where('id', $mid)->value('service_ratio');
-        $num = bcdiv($num, bcsub(1, bcdiv($ratio, 100, 4), 4),8);
+        $num = bcdiv($num, bcsub(1, bcdiv($ratio, 100, 4), 4), 8);
         $res = true;
-      //var_dump($ratio);
-      //var_dump($num);
-      //var_dump($user);
-      //var_dump($spread);
+        //var_dump($ratio);
+        //var_dump($num);
+        //var_dump($user);
+        //var_dump($spread);
 //        $send = 0;
         $v = 0;
         while ($spread) {
             $ratio2 = UserMiningService::where('uid', $spread['uid'])->where('mid', $mid)->value('ratio');
             if (!$ratio2) $ratio2 = MiningMachine::where('id', $mid)->value('service_ratio');
-          //var_dump($ratio2);
+            //var_dump($ratio2);
             if ($ratio2 >= $ratio) {
                 $spread = User::getUserInfo($spread['spread_uid']);
             } else {