| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace addons\CloudStock\common\services;
- use addons\Agent\common\models\Agent;
- use addons\Agent\common\models\AgentLevel;
- use addons\Agent\common\models\AgentLevelUpgradeLog;
- use addons\Distribution\common\enums\DistributionEnum;
- use addons\Distribution\common\logic\upgrage\Upgrage;
- use addons\UpgradeGift\common\enums\GiftEnum;
- use addons\UpgradeGift\common\listeners\UpgradeGiftListener;
- use common\enums\AddonsEnum;
- use common\enums\MemberLabelEnum;
- use common\enums\RabbitMqEnum;
- use common\listeners\user\UserUpgradeListener;
- use common\logic\memberLabel\MemberLabelLogic;
- use common\models\mall\MallAddons;
- class OtherAddonsUpgrageService
- {
- public static function upgrade(array $order)
- {
- if (empty($order)) return;
- $order_id = $order['id'];
- if (MallAddons::isInstall($order['mall_id'], AddonsEnum::ADDONS_NAME_DISTRIBUTION)) {
- // 分销商升级
- $setting = \Yii::$app->services->setting->addons->get($order['mall_id'], DistributionEnum::ADDONS_NAME, 'basic');
- if (!empty($setting['level'])){
- (new Upgrage())->execute($order);
- }
- }
- if (MallAddons::isInstall($order['mall_id'], AddonsEnum::ADDONS_NAME_AGENT)) {
- // 渠道分红触发条件升级
- $cond_upgrade = new \addons\Agent\common\logic\ConditionUpgrade();
- $upgrade_uids = $cond_upgrade->execute(AddonsEnum::ADDONS_NAME_AGENT, (new Agent()), (new AgentLevel()), $order, 'level desc', new AgentLevelUpgradeLog());
- // 触发升级礼包
- if ($upgrade_uids && MallAddons::isInstall($order['mall_id'],AddonsEnum::ADDONS_NAME_UPGRADEGIFT)) {
- $gift['mall_id'] = $order['mall_id'];
- $gift['user_ids'] = implode(',', $upgrade_uids);
- $gift['gift_type'] = GiftEnum::GIFT_TYPE_AGENT;
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, UpgradeGiftListener::class, 'async_handle');
- }
- //会员标签
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, [
- 'user_id' => $order['user_id'],
- 'mall_id' => $order['mall_id'],
- 'cate_ids' => [MemberLabelEnum::AGENT_LEVEL]
- ], MemberLabelLogic::class, 'executeSyncCateId2Or3');
- }
- //开启会员条件升级
- $order_by = 'level desc';
- $UserUpgradeListener = new UserUpgradeListener;
- $UserUpgradeListener->conditionUpgrade($order['mall_id'], $order['user_id'], $order_id, $order_by);
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, [
- 'user_id'=> $order['user_id'],
- 'mall_id'=> $order['mall_id'],
- 'cate_ids'=> [MemberLabelEnum::USER_LEVEL]
- ], MemberLabelLogic::class, 'executeSyncCateId2Or3');
- }
- }
|