stanley-king před 7 roky
rodič
revize
e852ed08f1

+ 0 - 1
data/logic/payment.logic.php

@@ -318,7 +318,6 @@ class paymentLogic
             return callback(true);
         } catch (Exception $e) {
             $trans->rollback();
-
             return callback(false, $e->getMessage());
         }
     }

+ 13 - 1
data/model/user_bonus.model.php

@@ -52,7 +52,19 @@ class user_bonusModel extends Model
 
     public function getUsableSum($member_id)
     {
-        $cond = array('user_id' => $member_id,'bonus_status' => 3,'usable_time' => array('gt',time()),'expired' => 0);
+        $cond = array('user_id' => $member_id,'bonus_status' => 3,'usable_time' => array('gt',time()),'expired' => 0,'remain_amount' => array('gt','0.00'));
+        return $this->table('user_bonus')->where($cond)->sum('remain_amount');
+    }
+
+    public function getShareableSum($member_id)
+    {
+        $cond = array('user_id' => $member_id,'bonus_status' => 3,'usable_time' => array('gt',time()),'remain_amount' => array('gt','0.00'),'can_share' => 1,'expired' => 0);
+        return $this->table('user_bonus')->where($cond)->sum('remain_amount');
+    }
+    public function getThiefableSum($member_id)
+    {
+        $cond = array('user_id' => $member_id,'bonus_status' => 3,'usable_time' => array('gt',time()),'remain_amount' => array('gt','0.00'),
+            'can_share' => 1,'bonus_rate' => array('elt',30), 'expired' => 0);
         return $this->table('user_bonus')->where($cond)->sum('remain_amount');
     }
 

+ 1 - 1
helper/account_helper.php

@@ -91,7 +91,7 @@ class account_helper
     {
         $pred_from = new predeposit_helper($from_id);
         $bonus_rate = $pred_from->find_share_bonus($amount);
-        if($bonus_rate == false) {
+        if($bonus_rate == false || $bonus_rate['rate'] > 30) {
             return false;
         }
 

+ 1 - 1
helper/bonus/parameters.php

@@ -91,7 +91,7 @@ class parameters
         $param['sender_id']   = self::admin_member_id;
         $param['sender_name'] = self::admin_name;
         $param['usable_days'] = self::usable_days;
-        $param['can_share']    = 0;
+        $param['can_share']   = 0;
 
         $param['rate_money'][] = $rate_moneys[$cur_index];
         $params[] = $param;

+ 1 - 1
helper/bonus/thief_vilator.php

@@ -35,7 +35,7 @@ class thief_vilator
         }
 
         $pred = new predeposit_helper($this->mFromID);
-        $usable_amount = $pred->total_bonus();
+        $usable_amount = $pred->share_total_bonus();
         $cents = intval($usable_amount * 100 + 0.5);
         if($cents == 0) {
             $error = ['code' => errcode::ErrBonus,'msg' => '他比你更穷,还是选择富人下手吧~'];

+ 6 - 5
helper/predeposit_helper.php

@@ -319,9 +319,15 @@ class predeposit_helper
     public function pay_bonus_rates() {
         return $this->mPayRates;
     }
+    public function total_bonus() {
+        return $this->mPayRates->total();
+    }
     public function share_bonus_rates() {
         return $this->mShareRates;
     }
+    public function share_total_bonus() {
+        return $this->mShareRates->total();
+    }
 
     static public function order_cash($goods_amount, &$rates)
     {
@@ -445,11 +451,6 @@ class predeposit_helper
         return $bonuses;
     }
 
-    public function total_bonus()
-    {
-        return $this->mPayRates->total();
-    }
-
     public function is_enough($money) {
         return intval($this->total_bonus() * 100) >= intval($money * 100);
     }

+ 1 - 1
helper/shaker_helper.php

@@ -227,7 +227,7 @@ class shaker_helper
 
             $pos = mt_rand(0,$count -1);
             $mod_bonus = Model('user_bonus');
-            $usable_amount = $mod_bonus->getUsableSum($friends[$pos]);
+            $usable_amount = $mod_bonus->getThiefableSum($friends[$pos]);
 
             if(intval($usable_amount * 100 + 0.5) > 0) {
                 return $friends[$pos];