diff --git a/app/backend/modules/member/controllers/MemberController.php b/app/backend/modules/member/controllers/MemberController.php index 7e4454c0..95e3d41a 100644 --- a/app/backend/modules/member/controllers/MemberController.php +++ b/app/backend/modules/member/controllers/MemberController.php @@ -30,6 +30,7 @@ use app\common\services\finance\PointService; use app\common\services\member\MemberMergeService; use app\common\services\Session; use app\backend\modules\member\services\FansItemService; +use app\frontend\modules\member\models\SubMemberModel as SubMember_Model; use app\frontend\modules\member\services\MemberService; use app\common\components\BaseController; use app\common\events\member\MemberDelEvent; @@ -52,11 +53,11 @@ use app\common\models\MemberWechatModel; use app\common\services\ExportService; use app\frontend\modules\member\models\MemberModel; use app\frontend\modules\member\models\SubMemberModel; -use app\frontend\modules\member\models\SubMemberModel as SubMember_Model; use app\Jobs\ChangeMemberRelationJob; use app\Jobs\ModifyRelationshipChainJob; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; +use Yunshop\Commission\models\Agents; use Yunshop\Love\Common\Models\MemberLove; use Yunshop\Love\Common\Services\LoveChangeService; use Yunshop\MemberTags\Common\models\MemberTagsModel; @@ -390,109 +391,274 @@ class MemberController extends BaseController public function memberExcelDemo() { - $exportData['0'] = ['手机号', '密码']; + $exportData['0'] = ['真实姓名', '手机号', '密码', '分销商熊猫画等级ID', '分销商文创等级ID', '经销商熊猫画等级ID', '经销商文创等级ID']; $file_name = '会员批量导入模板'; app('excel')->store(new \app\exports\FromArray($exportData), $file_name . '.xlsx', 'export'); app('excel')->download(new \app\exports\FromArray($exportData), $file_name . '.xlsx')->send(); } - public function memberExcel() - { - $data = request()->input(); + // 导入处理 + public function memberExcel(){ + // 基本参数获取及处理 $uniacid = \YunShop::app()->uniacid; - //excel 本身就重复的值 - if (!$data['data']['0']['手机号']) { - $this->errorJson('第一项开头必须为手机号'); - } - if (!$data['data']['0']['密码']) { - $this->errorJson('第二项开头必须为密码'); - } - $data = array_column($data['data'], null, '手机号'); - foreach ($data['data'] as $key => $value) { - if (!preg_match("/^1[3456789]{1}\d{9}$/", $value['手机号'])) { - unset($data[$key]); - } - } - $phone = array_keys($data); - $phones = MemberModel::uniacid()->select('mobile')->whereIn('mobile', $phone)->pluck('mobile'); - if (!empty($phones)) { - // 存在重复值 取交集 - $repeatPhone = array_intersect($phone, $phones->toArray()); - //删除重复值 - foreach ($repeatPhone as $value) { - if (isset($data[$value])) { - unset($data[$value]); + $data = request()->input(); + $data = (array)array_column($data['data'], null, '手机号');// 生成以手机号为键的新数组 + $phoneList = (array)array_column($data,'手机号');// 所有导入的手机号 + if (count($data) <= 0) $this->errorJson('导入数据不能为空!'); + // if (!$data['data']['0']['真实姓名']) $this->errorJson('第一项开头必须为真实姓名'); + // if (!$data['data']['0']['手机号']) $this->errorJson('第二项开头必须为手机号'); + // if (!$data['data']['0']['密码']) $this->errorJson('第三项开头必须为密码'); + // if (!$data['data']['0']['分销商熊猫画等级ID']) $this->errorJson('第四项开头必须为分销商熊猫画等级ID'); + // if (!$data['data']['0']['分销商文创等级ID']) $this->errorJson('第五项开头必须为分销商文创等级ID'); + // if (!$data['data']['0']['经销商熊猫画等级ID']) $this->errorJson('第六项开头必须为经销商熊猫画等级ID'); + // if (!$data['data']['0']['经销商文创等级ID']) $this->errorJson('第七项开头必须为经销商文创等级ID'); + // 根据手机号码 获取已经存在的数据信息 + $hasData = MemberModel::uniacid()->select(['uid','mobile'])->whereIn('mobile', $phoneList)->get()->toArray(); + $hasData = array_column($hasData,null,'mobile'); + $hasPhoneList = array_column($hasData,'mobile'); + + $resultData['0'] = ['真实姓名', '手机号', '密码', '分销商熊猫画等级ID', '分销商文创等级ID', '经销商熊猫画等级ID', '经销商文创等级ID']; + $file_name = '会员批量导入结果'; + + $updateData = []; + $insertData = []; + DB::beginTransaction(); + try{ + // 获取默认分组 + $defaultGroupId = Member_Group::getDefaultGroupId()->first(); + $defaultSubGroupId = $defaultGroupId->id ?: 0; + //获取默认头像 + $memberSet = \Setting::get('shop.member'); + if (isset($memberSet) && $memberSet['headimg']) $avatar = yz_tomedia($memberSet['headimg']); + else $avatar = Url::shopUrl('static/images/photo-mr.jpg'); + // ------ 循环处理基本数据 ims_mc_members + foreach($data as $phone => $dataItem){ + $salt = Str::random(8); + // 判断:添加 or 修改 + if(in_array($phone,$hasPhoneList)){ + // 修改 + $updateData[] = [ + 'uid' => $hasData[$phone]['uid'], + 'mobile' => $phone, + 'nickname' => $dataItem['真实姓名'], + 'realname' => $dataItem['真实姓名'], + 'salt' => $salt, + 'password' => md5($dataItem['密码'].$salt), + ]; + }else{ + // 添加 + $insertData[] = [ + 'uniacid' => $uniacid, + 'mobile' => $phone, + 'groupid' => $defaultSubGroupId, + 'createtime' => $_SERVER['REQUEST_TIME'], + 'nickname' => $dataItem['真实姓名'], + 'realname' => $dataItem['真实姓名'], + 'avatar' => $avatar, + 'gender' => 0, + 'residecity' => '', + 'salt' => $salt, + 'password' => md5($dataItem['密码'].$salt), + ]; } } - if (empty($data)) { - return $this->errorJson('表格所有信息已存在,请勿重复导入!'); + // 添加修改操作 + if (!MemberModel::insert($insertData)) throw new \Exception('批量添加失败'); + if (count($updateData) > 0) $updateRes = (new MemberModel())->batchUpdate($updateData,'uid','uid'); + $insertResultData = MemberModel::uniacid()->select(['uid','mobile'])->whereIn('mobile', $phoneList)->get()->toArray(); + // ------ 循环处理用户相关数据 + $memberIds = array_column($insertResultData,'uid'); + $hasSubMemberList = SubMemberModel::uniacid()->select(['m_id','member_id','parent_id','relation'])->whereIn('member_id',$memberIds)->get()->toArray(); + $parentIds = array_column($hasSubMemberList,null,'member_id'); + $hasSubMemberUid = array_column($hasSubMemberList,'member_id'); + $hasAgentList = Agents::uniacid()->select(['id','member_id'])->whereIn('member_id',$memberIds)->get()->toArray(); + $hasAgentList = array_column($hasAgentList,null,'member_id'); + $hasAgentUid = array_column($hasAgentList,'member_id'); + $hasTeamDividendList = TeamDividendAgencyModel::uniacid()->select(['id','uid'])->whereIn('uid',$memberIds)->get()->toArray(); + $hasTeamDividendList = array_column($hasTeamDividendList,null,'uid'); + $hasTeamDividendUid = array_column($hasTeamDividendList,'uid'); + $subInsertData = []; + $change_log = []; + $subUpdateData = []; + $insertAgentData = []; + $updateAgentData = []; + foreach($insertResultData as $key => $currentMemberInfo){ + // 判断:是否已经存在 + if(in_array($currentMemberInfo['uid'],$hasSubMemberUid)){ + // 修改 + $parentId = $parentIds[$currentMemberInfo['uid']]['parent_id']; + $relation = $parentIds[$currentMemberInfo['uid']]['relation']; + + }else{ + // 添加 + $parentId = 0; + $relation = ''; + $subInsertData[] = [ + 'member_id' => $currentMemberInfo['uid'], + 'uniacid' => $uniacid, + 'group_id' => $defaultSubGroupId, + 'level_id' => 0, + 'parent_id' => 0, + 'inviter' => 1, + 'invite_code' => \app\frontend\modules\member\models\MemberModel::generateInviteCode(), + 'created_at' => $_SERVER['REQUEST_TIME'], + 'updated_at' => $_SERVER['REQUEST_TIME'] + ]; + $change_log[$key] = [ + 'uid' => $currentMemberInfo['uid'], + 'parent_id' => 0, + 'after_parent_id' => 0, + 'status' => 1, + 'uniacid' => \YunShop::app()->uniacid, + 'created_at' => time(), + 'updated_at' => time(), + ]; + } + // 处理分销商相关信息 + $agentLevelId = $data[$currentMemberInfo['mobile']]['分销商熊猫画等级ID'] ?? 0; + $agentCulturalLevelId = $data[$currentMemberInfo['mobile']]['分销商文创等级ID'] ?? 0; + if(in_array($currentMemberInfo['uid'],$hasAgentUid)){ + // 修改 + $updateAgentData[] = [ + 'id' => $hasAgentList[$currentMemberInfo['uid']]['id'], + 'agent_level_id' => $agentLevelId, + 'cultural_level_id' => $agentCulturalLevelId, + ]; + }else{ + // 添加 + $insertAgentData[] = [ + 'uniacid' => $uniacid, + 'member_id' => $currentMemberInfo['uid'], + 'parent_id' => $parentId, + 'parent' => $relation, + 'agent_level_id' => $agentLevelId, + 'cultural_level_id' => $agentCulturalLevelId, + 'created_at' => time(), + 'updated_at' => time(), + ]; + } + // 处理经销商信息 + $teamDividendLevelId = $data[$currentMemberInfo['mobile']]['经销商熊猫画等级ID'] ?? 0; + $teamDividendCulturalLevelId = $data[$currentMemberInfo['mobile']]['经销商文创等级ID'] ?? 0; + if(in_array($currentMemberInfo['uid'],$hasTeamDividendUid)){ + // 修改 + TeamDividendAgencyModel::changeLevel($hasTeamDividendList[$currentMemberInfo['uid']]['id'],$teamDividendLevelId,''); + TeamDividendAgencyModel::changeLevel($hasTeamDividendList[$currentMemberInfo['uid']]['id'],$teamDividendCulturalLevelId,'cultural'); + }else{ + // 添加 + TeamDividendAgencyModel::addTeamAgency([ + 'uniacid' => $uniacid, + 'uid' => $currentMemberInfo['uid'], + 'parent_id' => $parentId, + 'relation' => $relation, + 'level' => $teamDividendLevelId, + 'cultural_level_id' => $teamDividendCulturalLevelId, + 'upgrade_at' => time(), + ]); + } } - } - $defaultGroupId = Member_Group::getDefaultGroupId()->first(); - $defaultSubGroupId = $defaultGroupId->id ?: 0; - //整理数据入库 - $i = 0; - $array = array(); - //获取图片 - $memberSet = \Setting::get('shop.member'); - \Log::info('member_set', $memberSet); - if (isset($memberSet) && $memberSet['headimg']) { - $avatar = yz_tomedia($memberSet['headimg']); - } else { - $avatar = Url::shopUrl('static/images/photo-mr.jpg'); - } - foreach ($data as $v) { - $salt = Str::random(8); - $array[$i] = [ - 'uniacid' => $uniacid, - 'mobile' => $v['手机号'], - 'groupid' => $defaultSubGroupId, - 'createtime' => $_SERVER['REQUEST_TIME'], - 'nickname' => $v['手机号'], - 'avatar' => $avatar, - 'gender' => 0, - 'residecity' => '', - 'salt' => $salt, - 'password' => md5($v['密码'] . $salt), - ]; - $i++; - } - if (!MemberModel::insert($array)) { - return $this->errorJson('批量添加失败'); - } - //todo 批量插入同时无法返回主键ID故查询一次 - $idArray = MemberModel::uniacid()->select('uid', 'mobile')->whereIn('mobile', array_keys($data))->get(); - $subData = []; - $change_log = []; - foreach ($idArray as $key => $value) { - $subData[$key] = array( - 'member_id' => $value->uid, - 'uniacid' => $uniacid, - 'group_id' => $defaultSubGroupId, - 'level_id' => 0, - 'parent_id' => 0, - 'inviter' => 1, - 'invite_code' => \app\frontend\modules\member\models\MemberModel::generateInviteCode(), - 'created_at' => $_SERVER['REQUEST_TIME'], - 'updated_at' => $_SERVER['REQUEST_TIME'] - ); - $change_log[$key] = [ - 'uid' => $value->uid, - 'parent_id' => 0, - 'after_parent_id' => 0, - 'status' => 1, - 'uniacid' => \YunShop::app()->uniacid, - 'created_at' => time(), - 'updated_at' => time(), - ]; - } - if (SubMember_Model::insert($subData) && MemberRecord::insert($change_log)) { - return $this->successJson('导入成功', ['data' => true]); - } else { - return $this->errorJson('导入失败'); + if (Agents::insert($insertAgentData) && SubMember_Model::insert($subInsertData) && MemberRecord::insert($change_log)) { + if(count($updateAgentData)) $updateAgentRes = (new Agents())->batchUpdate($updateAgentData); + + + DB::commit(); + return $this->successJson('导入成功', ['data' => true]); + } + else throw new \Exception('导入数据失败!'); + }catch(\Exception $e){ + DB::rollBack(); + $this->errorJson($e->getMessage()); } + + + // + // $data = array_column($data['data'], null, '手机号'); + // foreach ($data['data'] as $key => $value) { + // if (!preg_match("/^1[3456789]{1}\d{9}$/", $value['手机号'])) { + // unset($data[$key]); + // } + // } + // $phone = array_keys($data); + // $phones = MemberModel::uniacid()->select('mobile')->whereIn('mobile', $phone)->pluck('mobile'); + // if (!empty($phones)) { + // // 存在重复值 取交集 + // $repeatPhone = array_intersect($phone, $phones->toArray()); + // //删除重复值 + // foreach ($repeatPhone as $value) { + // if (isset($data[$value])) { + // unset($data[$value]); + // } + // } + // if (empty($data)) { + // return $this->errorJson('表格所有信息已存在,请勿重复导入!'); + // } + // } + // $defaultGroupId = Member_Group::getDefaultGroupId()->first(); + // $defaultSubGroupId = $defaultGroupId->id ?: 0; + // // 整理数据入库 + // $i = 0; + // $array = array(); + // //获取图片 + // $memberSet = \Setting::get('shop.member'); + // \Log::info('member_set', $memberSet); + // if (isset($memberSet) && $memberSet['headimg']) { + // $avatar = yz_tomedia($memberSet['headimg']); + // } else { + // $avatar = Url::shopUrl('static/images/photo-mr.jpg'); + // } + // foreach ($data as $v) { + // $salt = Str::random(8); + // $array[$i] = [ + // 'uniacid' => $uniacid, + // 'mobile' => $v['手机号'], + // 'groupid' => $defaultSubGroupId, + // 'createtime' => $_SERVER['REQUEST_TIME'], + // 'nickname' => $v['手机号'], + // 'avatar' => $avatar, + // 'gender' => 0, + // 'residecity' => '', + // 'salt' => $salt, + // 'password' => md5($v['密码'] . $salt), + // ]; + // $i++; + // } + // if (!MemberModel::insert($array)) { + // return $this->errorJson('批量添加失败'); + // } + // //todo 批量插入同时无法返回主键ID故查询一次 + // $idArray = MemberModel::uniacid()->select('uid', 'mobile')->whereIn('mobile', array_keys($data))->get(); + + // $subData = []; + // $change_log = []; + // foreach ($idArray as $key => $value) { + // $subData[$key] = array( + // 'member_id' => $value->uid, + // 'uniacid' => $uniacid, + // 'group_id' => $defaultSubGroupId, + // 'level_id' => 0, + // 'parent_id' => 0, + // 'inviter' => 1, + // 'invite_code' => \app\frontend\modules\member\models\MemberModel::generateInviteCode(), + // 'created_at' => $_SERVER['REQUEST_TIME'], + // 'updated_at' => $_SERVER['REQUEST_TIME'] + // ); + // $change_log[$key] = [ + // 'uid' => $value->uid, + // 'parent_id' => 0, + // 'after_parent_id' => 0, + // 'status' => 1, + // 'uniacid' => \YunShop::app()->uniacid, + // 'created_at' => time(), + // 'updated_at' => time(), + // ]; + // } + // if (SubMember_Model::insert($subData) && MemberRecord::insert($change_log)) { + // return $this->successJson('导入成功', ['data' => true]); + // } else { + // return $this->errorJson('导入失败'); + // } } diff --git a/app/backend/modules/survey/controllers/SurveyController.php b/app/backend/modules/survey/controllers/SurveyController.php index 9e849676..bd8478e9 100644 --- a/app/backend/modules/survey/controllers/SurveyController.php +++ b/app/backend/modules/survey/controllers/SurveyController.php @@ -909,7 +909,10 @@ class SurveyController extends BaseController{ 'ims_yz_help_center_content', 'ims_yz_rich_text', 'ims_yz_wechat_menu', - + 'ims_yz_user_role', + 'ims_yz_users_profile', + 'ims_yz_role', + 'ims_yz_permission', // 经销商相关 'ims_yz_team_dividend_level', diff --git a/plugins/team-dividend/src/admin/TeamAgencyController.php b/plugins/team-dividend/src/admin/TeamAgencyController.php index 4c6c8c8d..96830fc6 100644 --- a/plugins/team-dividend/src/admin/TeamAgencyController.php +++ b/plugins/team-dividend/src/admin/TeamAgencyController.php @@ -156,50 +156,16 @@ class TeamAgencyController extends BaseController $agentData['uniacid'] = \YunShop::app()->uniacid; $agentData['upgrade_at'] = time(); if((int)$agentData['level'] <= 0) return $this->message('添加失败,请选择代理等级!', '', 'error'); - // 其他验证 - $agency_model = new TeamDividendAgencyModel(); - $agency_model->fill($agentData); - $validator = $agency_model->validator(); - if ($validator->fails()) { - $this->error($validator->messages()); - } else { - if ($agency_model->save()) { - // 升级后等级 - $c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($agentData['level']); - // 升级前等级 - $o_level = NULL; - // 升级日志 - Uplog::addLog($agency_model, $o_level, $c_level); - //签合同 - $data=[ - 'member_id'=>$agentData['uid'], - 'created_at' => time(), - ]; - event(new \app\common\events\plugin\TeamDividendEvent($data)); - //激活码 - $upgrade_set = (new UpgradeService())->getUpgradeById($agentData['level']); - if ($upgrade_set) { - $set = \Setting::get('plugin.team_dividend'); - if ($set['is_activation_code'] && $upgrade_set[0]->code_num) { - $level_list = TeamDividendLevelModel::getList()->get(); - $code_num = unserialize($upgrade_set[0]->code_num); - foreach($level_list as $key => $level) { - if($code_num['level_'.$level->id]) { - (new UpgradeService())->senCode($agentData['uid'], $code_num['level_'.$level->id], $level->id, $level->level_name); - } - } - \Log::debug('激活码'); - } - } - (new UpgradeService())->becomeAgencyNotify($agentData['uid']); - //直推奖 todo 直推奖不用了 - // (new UpgradeService())->sendBonus($agentData['uid']); - // \Log::debug('直推奖'); + try{ + TeamDividendAgencyModel::addTeamAgency($agentData); - return $this->message('经销商操作成功', yzWebUrl('plugin.team-dividend.admin.team-agency')); - } + + return $this->message('经销商操作成功', yzWebUrl('plugin.team-dividend.admin.team-agency')); + }catch(\Exception $e){ + return $this->message($e->getMessage(), '', 'error'); } + } return view('Yunshop\TeamDividend::admin.team-agency-add', [ @@ -344,50 +310,8 @@ class TeamAgencyController extends BaseController $id = \YunShop::request()->id; $levelId = \YunShop::request()->value; $leveType = \YunShop::request()->leve_type; - $agency = TeamDividendAgencyModel::find($id); - // 等级类型:''=普通等级,cultural=文创等级 - if((string)$leveType == 'cultural'){ - $level = $agency->cultural_level_id; - $agency->cultural_level_id = $levelId; - $agency->cultural_upgrade_at = time(); - }else{ - $level = $agency->level; - $agency->level = $levelId; - $agency->upgrade_at = time(); - } - - if ($agency->save()) { - // 升级后等级 - $c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($agency->level); - // 升级前等级 - $o_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($level); - - // 升级日志 - Uplog::addLog($agency, $o_level, $c_level); - - if ($c_level->level_weight > $o_level->level_weight) { - //激活码 - $upgrade_set = (new UpgradeService())->getUpgradeById($agency->level); - - if ($upgrade_set) { - $set = \Setting::get('plugin.team_dividend'); - if ($set['is_activation_code'] && $upgrade_set[0]->code_num) { - $level_list = TeamDividendLevelModel::getList()->get(); - $code_num = (is_array($upgrade_set[0]->code_num) ? $upgrade_set[0]->code_num : unserialize($upgrade_set[0]->code_num)) ?: []; - foreach($level_list as $key => $level) { - if($code_num['level_'.$level->id]) { - (new UpgradeService())->senCode($agency->uid, $code_num['level_'.$level->id], $level->id, $level->level_name); - } - } - \Log::debug('激活码'); - } - } - - //代理商升级通知 - (new UpgradeService())->agencyUpgradeNotify($agency->uid, $o_level->level_name, $o_level->dividend_ratio_name, $agency->level); - } - } + TeamDividendAgencyModel::changeLevel($id,$levelId,$leveType); } diff --git a/plugins/team-dividend/src/models/TeamDividendAgencyModel.php b/plugins/team-dividend/src/models/TeamDividendAgencyModel.php index 26147e2d..fda8b4e0 100644 --- a/plugins/team-dividend/src/models/TeamDividendAgencyModel.php +++ b/plugins/team-dividend/src/models/TeamDividendAgencyModel.php @@ -11,6 +11,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Facades\DB; use Illuminate\Validation\Rule; use Yunshop\TeamDividend\observers\DealerObserver; +use Yunshop\TeamDividend\services\UpgradeService; class TeamDividendAgencyModel extends BackendModel { @@ -341,4 +342,97 @@ class TeamDividendAgencyModel extends BackendModel return (boolean)((int)$minWeight == (int)$weightList[$teamLevelId]); } + + public function addTeamAgency($agentData){ + // 其他验证 + $agency_model = new \Yunshop\TeamDividend\admin\models\TeamDividendAgencyModel(); + $agency_model->fill($agentData); + $validator = $agency_model->validator(); + if ($validator->fails()) { + throw new \Exception($validator->messages()->first()); + } else { + if ($agency_model->save()) { + // 升级后等级 + $c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($agentData['level']); + // 升级前等级 + $o_level = NULL; + // 升级日志 + Uplog::addLog($agency_model, $o_level, $c_level); + //签合同 + $data=[ + 'member_id'=>$agentData['uid'], + 'created_at' => time(), + ]; + event(new \app\common\events\plugin\TeamDividendEvent($data)); + //激活码 + $upgrade_set = (new UpgradeService())->getUpgradeById($agentData['level']); + + if ($upgrade_set) { + $set = \Setting::get('plugin.team_dividend'); + if ($set['is_activation_code'] && $upgrade_set[0]->code_num) { + $level_list = TeamDividendLevelModel::getList()->get(); + $code_num = unserialize($upgrade_set[0]->code_num); + foreach($level_list as $key => $level) { + if($code_num['level_'.$level->id]) { + (new UpgradeService())->senCode($agentData['uid'], $code_num['level_'.$level->id], $level->id, $level->level_name); + } + } + \Log::debug('激活码'); + } + } + (new UpgradeService())->becomeAgencyNotify($agentData['uid']); + + }else{ + throw new \Exception('添加失败'); + } + } + } + + public function changeLevel($id,$levelId,$leveType){ + $agency = TeamDividendAgencyModel::find($id); + + // 等级类型:''=普通等级,cultural=文创等级 + if((string)$leveType == 'cultural'){ + $level = $agency->cultural_level_id; + $agency->cultural_level_id = $levelId; + $agency->cultural_upgrade_at = time(); + }else{ + $level = $agency->level; + $agency->level = $levelId; + $agency->upgrade_at = time(); + } + + + if ($agency->save()) { + // 升级后等级 + $c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($agency->level); + // 升级前等级 + $o_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($level); + + // 升级日志 + Uplog::addLog($agency, $o_level, $c_level); + + if ($c_level->level_weight > $o_level->level_weight) { + //激活码 + $upgrade_set = (new UpgradeService())->getUpgradeById($agency->level); + + if ($upgrade_set) { + $set = \Setting::get('plugin.team_dividend'); + if ($set['is_activation_code'] && $upgrade_set[0]->code_num) { + $level_list = TeamDividendLevelModel::getList()->get(); + $code_num = (is_array($upgrade_set[0]->code_num) ? $upgrade_set[0]->code_num : unserialize($upgrade_set[0]->code_num)) ?: []; + foreach($level_list as $key => $level) { + if($code_num['level_'.$level->id]) { + (new UpgradeService())->senCode($agency->uid, $code_num['level_'.$level->id], $level->id, $level->level_name); + } + } + \Log::debug('激活码'); + } + } + + //代理商升级通知 + (new UpgradeService())->agencyUpgradeNotify($agency->uid, $o_level->level_name, $o_level->dividend_ratio_name, $agency->level); + } + } + } } \ No newline at end of file diff --git a/resources/views/member/import.blade.php b/resources/views/member/import.blade.php index 4e061870..ac59bdb3 100644 --- a/resources/views/member/import.blade.php +++ b/resources/views/member/import.blade.php @@ -5,14 +5,13 @@