WIN-2308041133\Administrator 4 months ago
parent
commit
e9f7b7267c

+ 6 - 2
app/common/repositories/store/order/StoreOrderRepository.php

@@ -1288,6 +1288,7 @@ class StoreOrderRepository extends BaseRepository
                     @file_put_contents('quanju.txt', "-村上春树5\r\n", 8);
                     break;
                 case 6:  //礼包商品
+                    $user['pack_count']=bcadd($user['pack_count'],1,0);
                     $remainder = bcmod($user['pack_count'], 3);  //取余
                     $award_integral = User::where('uid',$user['spread_uid'])->value('award_integral');
                     switch ($remainder){
@@ -1352,8 +1353,10 @@ class StoreOrderRepository extends BaseRepository
 //    看看上级有没有冻结份额
     public function spreadOrder($uid,$order_id){
         $spread_uid = User::where('uid', $uid)->value('spread_uid');
-        if ($spread_uid!=0){
+        if ($spread_uid>0){
+            @file_put_contents('quanju2.txt',$spread_uid."-上级uid\r\n",8);
             $user = User::where('uid', $spread_uid)->find();
+            @file_put_contents('quanju2.txt',$user['unclaimed_range']."-冻结额度\r\n",8);
             if ($user['unclaimed_range']>0){
                 $after=bcadd($user['award_range'], $user['unclaimed_range'], 2);
                 $make = app()->make(UserBillRepository::class);
@@ -1373,7 +1376,8 @@ class StoreOrderRepository extends BaseRepository
                     'link_id' => $order_id,
                     'mark' => '下级用户'.$user['nickname'] . '成功消费,解冻上级分红份额' . $user['unclaimed_range'],
                 ]);
-                User::where('uid', $spread_uid)->update(['award_range' => $after,'unclaimed_range' => 0]);
+                $res= User::where('uid', $spread_uid)->update(['award_range' => $after,'unclaimed_range' => 0]);
+                @file_put_contents('quanju2.txt',$res."-冻结额度处理\r\n",8);
                 //        解冻冻结奖金
                 $UserRepository = app()->make(UserRepository::class);
                 $UserRepository->extractBrokerage($spread_uid);

+ 21 - 6
app/common/repositories/user/UserRepository.php

@@ -2724,6 +2724,9 @@ class UserRepository extends BaseRepository
         if ($info['freeze_brokerage'] <= 0) {
             return true;
         }
+        $integral_prcie =app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();   //获取积分价格
+        $integral_prcie = $integral_prcie['price'];
+
         $freeze_brokerage = $info['freeze_brokerage'];
         if ($info['award_range'] > $freeze_brokerage) {  //如果份额大于冻结奖金
             $range = bcsub($info['award_range'], $freeze_brokerage, 2);  //剩余份额
@@ -2744,16 +2747,28 @@ class UserRepository extends BaseRepository
             'mark' => '用户获得分红份额' . $info['award_range'] . '元,冻结对应奖金',
             'balance' => $freeze_brokerage
         ]);
-//        扣除分红额度
-        $userBillRepository->decBill($uid, 'award_range', 'thaw_brokerage', [
+//        根据价格重新转为分红积分
+        $num = bcmul($num, $integral_prcie, 2);
+        $userBillRepository->incBill($uid, 'award_integral', 'extract_award', [
             'link_id' => 0,
             'status' => 1,
-            'title' => '解冻冻结奖金',
+            'title' => '提取分红积分',
             'number' => $num,
-            'mark' => '用户获得分红份额' . $info['award_range'] . '元,冻结对应奖金',
-            'balance' => $freeze_brokerage
+            'mark' => '用户获得分红份额' . $info['award_range'] . '元,冻结对应奖金,扣除分红积分' . $num . '分',
+            'balance' => bcsub($info['award_integral'], $num, 2)
         ]);
-        User::where('uid', $uid)->update(['freeze_brokerage' => $freeze_brokerage, 'award_range' => $range]);
+
+
+////        扣除分红额度
+//        $userBillRepository->decBill($uid, 'award_range', 'thaw_brokerage', [
+//            'link_id' => 0,
+//            'status' => 1,
+//            'title' => '解冻冻结奖金',
+//            'number' => $num,
+//            'mark' => '用户获得分红份额' . $info['award_range'] . '元,冻结对应奖金',
+//            'balance' => $freeze_brokerage
+//        ]);
+        User::where('uid', $uid)->update(['freeze_brokerage' => $freeze_brokerage, 'award_integral' => $range]);
     }
 
     /**