'ID', 'mall_id' => '商城ID', 'user_id' => '用户ID', 'level' => '股东等级', 'commission' => '累计永久佣金,单位:元', 'upgrade_status' => '1条件升级,2购买指定商品升级,3手动升级', 'upgrade_level_at' => '股东等级升级时间', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => '创建时间', 'updated_at' => '修改时间', ]; } /** * 关联用户信息 * @Author: lun * @DateTime: 2022/7/10 0010 10:54 * @Copyright: copyright (c) 2021 广东七件事集团 * @return \yii\db\ActiveQuery */ public function getUser() { return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,nickname,mobile,avatar_url'); } /** * 关联用户本月业绩 * @Author: lun * @DateTime: 2022/7/12 0012 9:32 * @Copyright: copyright (c) 2021 广东七件事集团 * @return \yii\db\ActiveQuery */ public function getAchievement() { return $this->hasOne(BossAchievementMonth::class, ['user_id' => 'user_id'])->where(['month' => date('Ym', time()), 'status' => StatusEnum::ENABLED]); } /** * 保存数据 * @Author: lun * @DateTime: 2021/10/22 0022 17:13 * @Copyright: copyright (c) 2021 广东七件事集团 * @param array $params * @return BossAchievementUser|bool */ public static function setData(array $params){ try{ if(!empty($params['user_id'])){ $model = self::findOne(['user_id' => $params['user_id'],'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED]); if(empty($model)) { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $params['mall_id']; $model->upgrade_status = LevelEnum::UPGRADE_MANUAL; $model->upgrade_level_at = time(); } } else { throw new \Exception('股东数据不存在或已删除'); } if(!$model->load($params,'') || !$model->save()){ throw new Exception($model->getErrorMessage()); } return $model; }catch(\Exception $e){ self::setStaticError($e->getMessage()); 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){ $model = self::findOne(['user_id'=>$params['user_id']]); $data['total_commission'] = $model['commission']??0; $data['is_install'] = $is_install; } return $data; } public static function getAddons(array $params){ $addons_name = $params['addons_name']; $is_install = MallAddons::isInstall($params['mall_id'], $addons_name); if($is_install){ $detail = Addons::getOne([['name' =>$addons_name], ['is_online' => 1]], true,); return [ 'addons_name'=>$addons_name, 'title'=>$detail['title'], ]; } return []; } }