Ver código fonte

佣金逻辑修改

Kirin 4 anos atrás
pai
commit
d47e5279ad
1 arquivos alterados com 23 adições e 17 exclusões
  1. 23 17
      app/models/mining/UserMiningMachine.php

+ 23 - 17
app/models/mining/UserMiningMachine.php

@@ -115,7 +115,7 @@ class UserMiningMachine extends BaseModel
                         }
                         if ($day_unlock > 0) {
                             $res = $res && UserMoney::incomeMoney($v['uid'], $v['get_money_type'], $day_unlock, 'mining', '挖矿', '第二阶段锁定金释放' . $day_unlock . init_money_type()[$v['get_money_type']])
-                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], $day_unlock)
+                                //&& self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], $day_unlock)
                                 && self::sendSystemAward($v['uid'], $v['get_money_type'], $day_unlock);
                         }
                         if ($send_stand > 0) {
@@ -134,7 +134,8 @@ class UserMiningMachine extends BaseModel
                             }
                         }
                         $day_get = bcmul($machine['day_get'] > 0 ? $machine['day_get'] : $day_gets[$machine['get_money_type']], $v['num'], 8);
-                        $day_get = bcmul($day_get, 0.84, 8);
+                        if ($v['get_money_type'] == 'XCH')
+                            $day_get = bcmul($day_get, 0.84, 8);
                         $service_ratio = bcsub(1, bcdiv($machine['service_ratio'], 100, 4), 4);
                         $service_ratio = UserMiningService::where('uid', $v['uid'])->where('mid', $machine['id'])->value('ratio') ?: $service_ratio;
                         $day_service_get = bcmul($service_ratio, $day_get, 8);
@@ -154,14 +155,16 @@ class UserMiningMachine extends BaseModel
                                     'step' => 2,
                                     'day_unlock_money' => bcdiv($day_lock, $machine['third_step_time'], 8),
                                 ]) && UserMoney::incomeMoney($v['uid'], $v['get_money_type'], bcadd($day_real_get, $day_unlock, 8), 'mining', '挖矿', '第二阶段每日释放' . $day_get . init_money_type()[$v['get_money_type']] . ',扣除技术服务费后实际到账' . $day_real_get . init_money_type()[$v['get_money_type']] . ($day_lock > 0 ? ',锁定' . $day_lock . init_money_type()[$v['get_money_type']] : '') . ($day_unlock > 0 ? ',解锁第二阶段锁定金' . $day_unlock . init_money_type()[$v['get_money_type']] : ''))
-                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], bcadd($day_real_get, $day_unlock, 8))
+//                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], bcadd($day_real_get, $day_unlock, 8))
+                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], $day_get)
                                 && self::sendSystemAward($v['uid'], $v['get_money_type'], bcadd($day_real_get, $day_unlock, 8));
                         }
                     } else {
 //                        var_dump($day_gets);
                         $day_get = bcmul($machine['day_get'] > 0 ? $machine['day_get'] : $day_gets[$machine['get_money_type']], $v['num'], 8);
 //                        var_dump($day_get);
-                        $day_get = bcmul($day_get, 0.84, 8);
+                        if ($v['get_money_type'] == 'XCH')
+                            $day_get = bcmul($day_get, 0.84, 8);
                         $service_ratio = bcsub(1, bcdiv($machine['service_ratio'], 100, 4), 4);
                         $service_ratio = UserMiningService::where('uid', $v['uid'])->where('mid', $machine['id'])->value('ratio') ?: $service_ratio;
                         $day_service_get = bcmul($service_ratio, $day_get, 8);
@@ -179,7 +182,8 @@ class UserMiningMachine extends BaseModel
                                     'step' => 1,
                                     'add_date' => date('Y-m-d'),
                                 ]) && UserMoney::incomeMoney($v['uid'], $v['get_money_type'], bcadd($day_real_get, 0, 8), 'mining', '挖矿', '第一阶段每日释放' . $day_get . init_money_type()[$v['get_money_type']] . ',扣除技术服务费后实际到账' . $day_real_get . init_money_type()[$v['get_money_type']] . ($day_stand > 0 ? ',质押' . $day_stand . init_money_type()[$v['get_money_type']] : ''))
-                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], bcadd($day_real_get, 0, 8))
+//                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], bcadd($day_real_get, 0, 8))
+                                && self::sendGroupAward($v['uid'], $v['mid'], $v['get_money_type'], $day_get)
                                 && self::sendSystemAward($v['uid'], $v['get_money_type'], bcadd($day_real_get, 0, 8));
                         }
                         if ($day_stand > 0) {
@@ -203,23 +207,25 @@ class UserMiningMachine extends BaseModel
     {
         $user = User::getUserInfo($uid);
         $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');
         $res = true;
-        $send = 0;
+//        $send = 0;
         $v = 0;
         while ($spread) {
-//            $ratio = UserLevel::getUserLevelInfo(UserLevel::getUserLevel($spread['uid']), 'group_creat_award_ratio');
-            $ratio = UserMiningRatio::where('uid', $uid)->where('mid', $mid)->value('ratio');
-            if (!$ratio) $ratio = 0;
-            if ($ratio <= 0) {
+            $ratio2 = UserMiningService::where('uid', $spread['uid'])->where('mid', $mid)->value('ratio');
+            if (!$ratio2) $ratio2 = MiningMachine::where('id', $mid)->value('service_ratio');
+            if ($ratio2 >= $ratio) {
                 $spread = User::getUserInfo($spread['spread_uid']);
             } else {
-                $brokerage = bcmul($num, bcdiv($ratio, 100, 4), 8);
-                if (bcsub($brokerage, $send, 8) > 0) {
-                    $v++;
-                    //$v = UserLevel::getUserLevelInfo(UserLevel::getUserLevel($spread['uid']), 'level_id');
-                    $res = $res && UserMoney::incomeMoney($spread['uid'], $money_type, bcsub($brokerage, $send, 8), 'group_create_brokerage', '分享算力', '获得分享算力V' . $v . ':' . $user['nickname'] . '(' . $user['uid'] . ')' . '今日矿机收益分红(' . $ratio . '%×' . $num . ')减去已发放级差' . $send . ',合计' . bcsub($brokerage, $send, 8) . init_money_type()[$money_type]);
-                }
-                $send = $brokerage;
+                $brokerage = bcmul($num, bcdiv(bcsub($ratio, $ratio2), 100, 4), 8);
+                //if (bcsub($brokerage, $send, 8) > 0) {
+                $v++;
+                //$v = UserLevel::getUserLevelInfo(UserLevel::getUserLevel($spread['uid']), 'level_id');
+                $res = $res && UserMoney::incomeMoney($spread['uid'], $money_type, $brokerage, 'group_create_brokerage', '分享算力', '获得分享算力V' . $v . ':' . $user['nickname'] . '(' . $user['uid'] . ')' . '今日矿机收益分红(' . bcsub($ratio, $ratio2) . '%×' . $num . ')' . ',合计' . $brokerage . init_money_type()[$money_type]);
+//                }
+//                $send = $brokerage;
+                $ratio = $ratio2;
                 $spread = User::getUserInfo($spread['spread_uid']);
             }
         }