wesmiler 1 vecka sedan
förälder
incheckning
7a6fe50971
2 ändrade filer med 12 tillägg och 5 borttagningar
  1. 11 0
      app/Services/Api/OrderService.php
  2. 1 5
      app/Services/Api/SettleService.php

+ 11 - 0
app/Services/Api/OrderService.php

@@ -521,6 +521,7 @@ class OrderService extends BaseService
                 ->first();
             $status = isset($userInfo['status']) ? $userInfo['status'] : 0;
             $openid = isset($userInfo['openid']) ? $userInfo['openid'] : 0;
+            $points = isset($userInfo['points']) ? $userInfo['points'] : '';
             $bdScore = isset($userInfo['bd_score']) ? $userInfo['bd_score'] : 0;
             $balance = isset($userInfo['balance']) ? $userInfo['balance'] : 0;
             $discountPoint = isset($userInfo['discount_point']) ? $userInfo['discount_point'] : 0; // 折扣
@@ -760,6 +761,16 @@ class OrderService extends BaseService
                 return false;
             }
 
+            // 用户升级处理
+            SettleService::make()->updateUserData($userId, $points);
+
+            // 用户复购权限恢复
+            if(!MemberModel::where(['id'=>$userId,'bonus_status'=>1,'update_time'=>time()])){
+                Db::rollBack();
+                $this->error = '用户复购处理失败';
+                return false;
+            }
+
             // 商品库存扣除
             if ($orderGoods) {
                 foreach ($orderGoods as $item) {

+ 1 - 5
app/Services/Api/SettleService.php

@@ -320,7 +320,7 @@ class SettleService extends BaseService
         $cacheKey = "caches:ordersCommission:{$orderNo}_{$orderUserId}:";
         if (RedisService::get("{$cacheKey}lock")) {
             $this->error = '订单结算中';
-//            return false;
+            return false;
         }
 
         //  创业订单
@@ -332,9 +332,6 @@ class SettleService extends BaseService
             $directData = isset($commission['direct_bonus']) && $commission['direct_bonus'] ? json_decode($commission['direct_bonus'], true) : [];
             $directUserId = isset($commission['direct_uid']) ? $commission['direct_uid'] : 0;
             $directBonus = isset($directData['bonus']) ? $directData['bonus'] : 0;
-            var_dump($directUserId);
-            dump($directData);
-            var_dump($directBonus);
             if ($directUserId > 0 && $directBonus > 0) {
                 $directUser = isset($commission['direct_user']) ? $commission['direct_user'] : [];
                 $directUserBalance = isset($directUser['balance']) ? $directUser['balance'] : 0;
@@ -386,7 +383,6 @@ class SettleService extends BaseService
                 ->get()
                 ->keyBy('id');
             $bonusUsers = $bonusUsers ? $bonusUsers->toArray() : [];
-            dump($bonusUids);
             for ($i = 1; $i <= 6; $i++) {
                 $uid = isset($commission["bonus_{$i}_uid"]) ? $commission["bonus_{$i}_uid"] : 0;
                 $bonusData = isset($commission["bonus_{$i}_data"]) ? $commission["bonus_{$i}_data"] : '';