重构:批量导入会员重构
This commit is contained in:
parent
336d439662
commit
cc870ef5de
|
|
@ -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('导入失败');
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,14 +5,13 @@
|
|||
|
||||
<style scoped>
|
||||
.rightlists {
|
||||
width: 600px;
|
||||
height: 50px;
|
||||
width: 100% !important;
|
||||
color: crimson;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
text-align: left!important;
|
||||
border-radius: 5px;
|
||||
border: 1px solid crimson;
|
||||
background: rgb(250, 220, 225);
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.usage {
|
||||
|
|
@ -69,7 +68,10 @@
|
|||
</el-form-item>
|
||||
<div class="put_box">
|
||||
<el-form-item>
|
||||
<div class="rightlists">尽量在服务器空闲时间来操作,会占用大量内存与带宽,在获取过程中,请不要进行任何操作!</div>
|
||||
<div class="rightlists">
|
||||
1、尽量在服务器空闲时间来操作,会占用大量内存与带宽,在获取过程中,请不要进行任何操作!<br />
|
||||
2、每列的内容必须填写,如果无内容则忽略该列<br />
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<div class="usage">
|
||||
|
|
@ -110,14 +112,14 @@
|
|||
},
|
||||
methods: {
|
||||
importf(obj) { //导入
|
||||
console.log(obj, 456465465);
|
||||
console.log(obj.target.files);
|
||||
// console.log(obj, 456465465);
|
||||
// console.log(obj.target.files);
|
||||
if (!obj.target.files) {
|
||||
return;
|
||||
}
|
||||
var f = obj.target.files[0];
|
||||
var reader = new FileReader();
|
||||
console.log(reader);
|
||||
// console.log(reader);
|
||||
reader.onload = function(e) {
|
||||
var data = e.target.result;
|
||||
if (this.rABS) {
|
||||
|
|
@ -132,7 +134,6 @@
|
|||
//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
|
||||
//wb.Sheets[Sheet名]获取第一个Sheet的数据
|
||||
var data = XLSX.utils.sheet_to_row_object_array(this.wb.Sheets[this.wb.SheetNames[0]]);
|
||||
console.log(data, 44564);
|
||||
$.ajax({
|
||||
url: "{!! yzWebUrl('member.member.member-excel') !!}",
|
||||
type: "post",
|
||||
|
|
@ -142,7 +143,7 @@
|
|||
cache: false,
|
||||
success: function(result) {
|
||||
alert(result.msg);
|
||||
window.location.reload();
|
||||
// window.location.reload();
|
||||
}
|
||||
})
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue