Kirin 4 yıl önce
ebeveyn
işleme
d57574315a

+ 2 - 1
app/models/store/StoreOrder.php

@@ -822,8 +822,9 @@ class StoreOrder extends BaseModel
         UserBill::expend('购买商品', $order['uid'], 'now_money', 'pay_money', $order['pay_price'], $order['id'], $now_money, '支付' . floatval($order['pay_price']) . '元购买商品');
         //支付成功后
         event('OrderPaySuccess', [$order, $formId]);
-        $res = $res1 && $resPink && UserSpread::setSpreadSure($order['uid']) && User::backOrderBrokerage($order) && self::backGroupAward($order) && User::backOrderBrokerageSP($order) && self::addAchievement($order);
+        self::addAchievement($order);
         UserLevel::setLevelComplete($order['uid']);
+        $res = $res1 && $resPink && UserSpread::setSpreadSure($order['uid']) && User::backOrderBrokerage($order) && self::backGroupAward($order) && User::backOrderBrokerageSP($order);
         return false !== $res;
     }
 

+ 12 - 1
app/models/system/SystemUserTask.php

@@ -250,7 +250,18 @@ class SystemUserTask extends BaseModel
 //            }
 //        }
         $count = Achievement::where('uid', $uid)->where('from_uid', $uid)->sum('achievement');
-        if ($number <= $count) $isComplete = UserTaskFinish::setFinish($uid, $task_id) ? true : false;
+        if ($number <= $count) {
+            $isComplete = UserTaskFinish::setFinish($uid, $task_id) ? true : false;
+            $order = StoreOrder::where('paid', 1)
+                ->where('refund_status', 0)
+                ->where('is_del', 0)
+                ->where('uid', $uid)
+                ->where('add_time', '>', $start_time)
+                ->order('add_time', 'desc')
+                ->find();
+            $order->over = $count - $number;
+            $order->save();
+        }
         return ['还需购买升级商品{$num}台', 0, $isComplete];
     }
 

+ 1 - 0
app/models/user/User.php

@@ -371,6 +371,7 @@ class User extends BaseModel
                 }
             }
         }
+        if ($orderInfo['over'] > 0) $sum_sp = ['real' => $orderInfo['over'], 'virtual' => 0];
         $brokeragePrice = bcmul($sum_sp['real'], $level['same_level_award_ratio'], 2);
         if ($brokeragePrice > 0) {
             $mark = '用户' . $userInfo['nickname'] . '(' . $orderInfo['uid'] . ')' . '购买实体升级商品,获得平级奖励' . $brokeragePrice;