WIN-2308041133\Administrator 4 months ago
parent
commit
5da3d287d4
1 changed files with 27 additions and 22 deletions
  1. 27 22
      app/common/repositories/user/UserRepository.php

+ 27 - 22
app/common/repositories/user/UserRepository.php

@@ -2839,29 +2839,34 @@ class UserRepository extends BaseRepository
                     //积分兑换完就清空额度
                     $all_price = $info['award_range'];
 
-                //用户失去$all_price的收益额度
-                $userBillRepository->decBill($uid, 'award_range', 'extract_award', [
-                    'link_id' => 0,
-                    'status' => 1,
-                    'title' => '提取分红积分扣除分红额度',
-                    'number' => $all_price,
-                    'mark' => $info['nickname'] . '提取分红积分为奖金,减少分红额度',
-                    'balance' => bcsub($info['award_range'], $all_price, 2)
-                ]);
-                $userRepository->decField($uid, 'award_range', $all_price);
-                //若用户失去所有收益额度,清空用户的分红积分
-                if ($info['award_range'] == $all_price) {
-                    $num = $info['award_integral'];
+                if ($all_price > 0){
+                    //用户失去$all_price的收益额度
+                    $userBillRepository->decBill($uid, 'award_range', 'extract_award', [
+                        'link_id' => 0,
+                        'status' => 1,
+                        'title' => '提取分红积分扣除分红额度',
+                        'number' => $all_price,
+                        'mark' => $info['nickname'] . '提取分红积分为奖金,减少分红额度',
+                        'balance' => bcsub($info['award_range'], $all_price, 2)
+                    ]);
+                    $userRepository->decField($uid, 'award_range', $all_price);
                 }
-                $userBillRepository->decBill($uid, 'award_integral', 'extract_award', [
-                    'link_id' => 0,
-                    'status' => 1,
-                    'title' => '提取分红积分',
-                    'number' => $num,
-                    'mark' => $info['nickname'] . '提取' . floatval($num) . '分红积分',
-                    'balance' => bcsub($info['award_integral'], $num, 2)
-                ]);
-                $userRepository->decField($uid, 'award_integral', $num);
+                if ($num>0){
+                    //若用户失去所有收益额度,清空用户的分红积分
+                    if ($info['award_range'] == $all_price) {
+                        $num = $info['award_integral'];
+                    }
+                    $userBillRepository->decBill($uid, 'award_integral', 'extract_award', [
+                        'link_id' => 0,
+                        'status' => 1,
+                        'title' => '提取分红积分',
+                        'number' => $num,
+                        'mark' => $info['nickname'] . '提取' . floatval($num) . '分红积分',
+                        'balance' => bcsub($info['award_integral'], $num, 2)
+                    ]);
+                    $userRepository->decField($uid, 'award_integral', $num);
+                }
+
 
             }
         }