$boss_id,'status' => StatusEnum::ENABLED]); if(!$boss){ throw new Exception('股东信息不存在'); } $boss->commission = bcadd($boss->commission,$commission,2); $boss->total_commission = bcadd($boss->total_commission,$commission,2); if(!$boss->save()){ throw new Exception($boss->getError()); } $order = Order::findOne(['id' => $order_id])->toArray(); $desc = '用户(' . $boss->user_id . '),获得订单(' . $order_id . ')奖励,奖励类型:股东分红3'.',金额:' . $commission; $insert_wallet [] = [ 'mall_id' => $boss->mall_id, 'user_id' => $boss->user_id, 'is_frozen' => false, 'wallet_type' => UserWalletService::WALLET_TYPE_COMMISSION, 'money' => $commission, 'desc' => $desc, 'source_table' => 'order', 'source_table_id' => $order_id, 'from_type' => BossThreeEnum::ADDONS_NAME, 'capital_type' => BossThreeEnum::BOSS_PRIZE, 'contributor_name' => '', 'order_no' => $order['order_no'] ]; $res = UserWalletService::batchHandleByQueue($insert_wallet); if (empty($res)) throw new \Exception(UserWalletService::getStaticError()); return true; }catch(Exception $e){ Yii::error('settleCommission error:'.$e->getMessage().' ,File:'.$e->getFile().',Line:'.$e->getLine()); return false; } } /** * @desc:推广中心-调用 * @Author: hua * @Date: 2021/11/12 * @Time: 9:30 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $params ['user_id' => 1, 'mall_id' => 5, 'addons_name' => 'Agent'] * @return array */ public static function getIncomeInfo(array $params){ $is_install = MallAddons::isInstall($params['mall_id'], $params['addons_name']); $data['total_commission'] = 0; $data['is_install'] = 0; $basic = \Yii::$app->services->setting->addons->get($params['mall_id'], $params['addons_name'], 'basic'); $data['is_show_at_center'] = 1; if(isset($basic['is_show_at_center'])) $data['is_show_at_center'] = $basic['is_show_at_center']; if($is_install){ //查询用户在插件内的佣金总额 $user = User::findOne(['id' => $params['user_id']]); $boss = BossThree::findOne(['mall_id' => $params['mall_id'],'user_id' => $params['user_id'],'status' => StatusEnum::ENABLED]); $data['total_commission'] = $boss->total_commission ?? 0; $data['is_install'] = $is_install; } return $data; } public static function getAddons(array $params){ $is_install = MallAddons::isInstall($params['mall_id'], $params['addons_name']); if($is_install){ $detail = Addons::getOne([['name' => $params['addons_name']], ['is_online' => 1]], true,); return [ 'addons_name'=>$params['addons_name'], 'title'=>$detail['title'], ]; } return []; } }