Browse Source

增加是否会员

ZxcZxc123 1 year ago
parent
commit
8c4444174a
2 changed files with 14 additions and 15 deletions
  1. 6 6
      app/models/store/StoreOrder.php
  2. 8 9
      app/models/user/User.php

+ 6 - 6
app/models/store/StoreOrder.php

@@ -784,6 +784,10 @@ class StoreOrder extends BaseModel
         event('OrderPaySuccess', [$order, $formId]);
         $res = $res1 && $resPink && UserSpread::setSpreadSure($order['uid']) && User::backOrderBrokerage($order);
         $res = $res && self::sendAward($order);
+        if ($order['is_best']     //这个订单是报单的
+        ) {
+            $res = $res && self::set_parent($order['uid'], $order['total_price']);
+        }
         return false !== $res;
     }
 
@@ -796,7 +800,7 @@ class StoreOrder extends BaseModel
      * @throws ModelNotFoundException
      */
 
-    public static function set_parent($uid)
+    public static function set_parent($uid, $price)
     {
         $user = Users::getUserInfo($uid);
         if ($user['parent']) return true;
@@ -847,13 +851,11 @@ class StoreOrder extends BaseModel
                 }
             }
         }
-        var_dump($parent);
-        var_dump($parent_area);
 //        return true;
         BaseModel::beginTrans();
         try {
             Users::where('uid', $uid)->update(['parent' => $parent, 'parent_area' => $parent_area]);
-            $res = Users::setParentUser($uid, $parent, $parent_area);
+            $res = Users::setParentUser($uid, $parent, $parent_area, $price);
             if ($res) {
                 BaseModel::commitTrans();
                 return true;
@@ -862,8 +864,6 @@ class StoreOrder extends BaseModel
                 return self::setErrorInfo('设置失败');
             }
         } catch (\Exception $e) {
-            BaseModel::rollbackTrans();
-            var_dump($e->getTrace());
             return self::setErrorInfo('设置失败' . $e->getMessage());
         }
     }

+ 8 - 9
app/models/user/User.php

@@ -72,32 +72,31 @@ class User extends BaseModel
      * @param $parent_area
      * @return bool
      */
-    public static function setParentUser($uid, $parent, $parent_area)
+    public static function setParentUser($uid, $parent, $parent_area,$price)
     {
 
         $res = true;
         while ($parent) {
             $user = self::get($parent);
             $res = $res && self::where('uid', $parent)->inc($parent_area . '_count', 1)->update();
-            if ((float)sys_config('order_coin_price', 0) > 0)
-                $res = $res && self::where('uid', $parent)->inc($parent_area . '_achievement', (float)sys_config('order_coin_price', 0))->update();
+            if ($price > 0)
+                $res = $res && self::where('uid', $parent)->inc($parent_area . '_achievement', $price)->update();
             if (
                 $user['is_partner'] == 0
-                && $user['A_achievement'] + ($parent_area == 'A' ? (float)sys_config('order_coin_price', 0) : 0) >= (float)sys_config('partner_achievement_A', 0)
-                && $user['B_achievement'] + ($parent_area == 'B' ? (float)sys_config('order_coin_price', 0) : 0) >= (float)sys_config('partner_achievement_B', 0)
-                && $user['C_achievement'] + ($parent_area == 'C' ? (float)sys_config('order_coin_price', 0) : 0) >= (float)sys_config('partner_achievement_C', 0)
+                && $user['A_achievement'] + ($parent_area == 'A' ? $price : 0) >= (float)sys_config('partner_achievement_A', 0)
+                && $user['B_achievement'] + ($parent_area == 'B' ? $price : 0) >= (float)sys_config('partner_achievement_B', 0)
+                && $user['C_achievement'] + ($parent_area == 'C' ? $price : 0) >= (float)sys_config('partner_achievement_C', 0)
             ) {
                 self::where('uid', $parent)->update(['is_partner' => 1]);
             }
-
             $parent = $user['parent'];
             $parent_area = $user['parent_area'];
         }
-        $res = $res && Achievement::create(['uid' => $uid, 'achievement' => sys_config('order_coin_price'), 'add_time' => time()]);
+        $res = $res && Achievement::create(['uid' => $uid, 'achievement' => $price, 'add_time' => time()]);
         $res = $res && self::sendRecommendAward($uid);
         $res = $res && self::sendCAreaAward($uid);
         $res = $res && self::sendGroupAward($uid);
-        $res = $res && self::sendPartnerAward(sys_config('order_coin_price'), $uid);
+        $res = $res && self::sendPartnerAward($price, $uid);
         return $res;
 
     }