diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index c8f2126b..397d2bc9 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -388,16 +388,16 @@ class StoreOrderRepository extends BaseRepository if ($groupOrder->user->spread_uid) { // 来源检测,1 服务小组 2 普通商品 - if($order->source == 2) + if($order->source == 1) { \think\facade\Log::record('供应链佣金--开始'); Queue::push(SupplyChainOrderBrokerAgeJob::class, ['uid' => $groupOrder->user->spread_uid, 'type' => 'spread_pay_num', 'inc' => 1]); \think\facade\Log::record('供应链佣金---结束'); + + }else{ + Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->user->spread_uid, 'type' => 'spread_pay_num', 'inc' => 1]); + Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->user->spread_uid, 'type' => 'spread_money', 'inc' => $groupOrder->pay_price]); } - - Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->user->spread_uid, 'type' => 'spread_pay_num', 'inc' => 1]); - Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->user->spread_uid, 'type' => 'spread_money', 'inc' => $groupOrder->pay_price]); - } app()->make(UserRepository::class)->update($groupOrder->uid, [ 'pay_count' => Db::raw('pay_count+' . count($groupOrder->orderList)), diff --git a/app/controller/api/store/order/StoreCart.php b/app/controller/api/store/order/StoreCart.php index 6a2323cf..4c4718f0 100644 --- a/app/controller/api/store/order/StoreCart.php +++ b/app/controller/api/store/order/StoreCart.php @@ -104,9 +104,9 @@ class StoreCart extends BaseController break; case 99: //小组代购 $result = app()->make(ProductRepository::class)->cartCheck($data,$this->request->userInfo()); - $data['source'] = $data['product_type']; - $data['source_id'] = $data['group_buying_id']; - $data['product_id'] = $result['product']['product_id']; + [$source, $sourceId, $pid] = explode(':', $this->request->param('source', '0'), 3) + ['', '', '']; + $data['source'] = (in_array($source, [0, 1]) && $pid == $data['product_id']) ? $source : 0; + if ($data['source'] > 0) $data['source_id'] = intval($sourceId); break; } diff --git a/app/controller/api/store/order/StoreCartDg.php b/app/controller/api/store/order/StoreCartDg.php index 32c55232..3d12923d 100644 --- a/app/controller/api/store/order/StoreCartDg.php +++ b/app/controller/api/store/order/StoreCartDg.php @@ -70,7 +70,6 @@ class StoreCartDg extends BaseController public function create(validate $validate) { $data = $this->checkParams($validate); - if(!in_array($data['product_type'],[0,1,2,3,4,99])) return app('json')->fail('商品类型错误'); if ($data['cart_num'] <= 0) return app('json')->fail('购买数量有误'); $user = $this->request->userInfo(); @@ -107,14 +106,13 @@ class StoreCartDg extends BaseController break; case 99: //小组代购 $result = app()->make(ProductDgRepository::class)->cartCheck($data,$this->request->userInfo()); - $data['source'] = $data['product_type']; - $data['source_id'] = $data['group_buying_id']; - $data['product_id'] = $result['product']['product_id']; + [$source, $sourceId, $pid] = explode(':', $this->request->param('source', '0'), 3) + ['', '', '']; + $data['source'] = (in_array($source, [0, 1]) && $pid == $data['product_id']) ? $source : 0; + if ($data['source'] > 0) $data['source_id'] = intval($sourceId); break; } - + unset($data['group_buying_id']); - if ($cart = $result['cart']) { //更新购物车 $cart_id = $cart['cart_id']; diff --git a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php index 40efa280..c99354c2 100644 --- a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php +++ b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php @@ -30,8 +30,6 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface { try { $user = app()->make(UserRepository::class)->get($data['uid']); - - // 供应链服务小组一级返还给服务小组 if ($user) { $flag = true; if ($data['type'] == 'spread_money') { @@ -45,10 +43,9 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface $user->save(); } } - - // 执行供应链佣金分账 - app()->make(UserBrokerageRepository::class)->inc($user, $data['type'], $data['inc']); - + if ($user && $user->is_promoter) { + app()->make(UserBrokerageRepository::class)->inc($user, $data['type'], $data['inc']); + } } catch (\Exception $e) { Log::info('分销等级同步失败: ' . var_export($data, 1) . $e->getMessage()); }