修复:用户信息导入失败

清除指定数据
This commit is contained in:
wuhui_zzw 2024-04-10 14:51:45 +08:00
parent 4ffc763368
commit 1cff04e30a
3 changed files with 159 additions and 38 deletions

View File

@ -516,45 +516,48 @@ class MemberController extends BaseController
}
// 处理分销商相关信息
$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(),
];
if((int)$agentLevelId > 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(),
]);
// $teamDividendCulturalLevelId = $data[$currentMemberInfo['mobile']]['经销商文创等级ID'] ?? 0;
if((int)$teamDividendLevelId > 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(),
]);
}
}
}

View File

@ -913,6 +913,9 @@ class SurveyController extends BaseController{
'ims_yz_users_profile',
'ims_yz_role',
'ims_yz_permission',
'ims_yz_coupon',
'ims_yz_goods_rebate',
'ims_yz_goods_cultural_order_fund_log',
// 经销商相关
'ims_yz_team_dividend_level',
@ -943,8 +946,8 @@ class SurveyController extends BaseController{
// 获取全部数据库列表
$tables = $this->getAllTable();
// 获取存在数据的表
// $hasTable = $this->getHasDataTable($tables,$notCleanUp);
// debug($hasTable);
$hasTable = $this->getHasDataTable($tables,$notCleanUp);
debug($hasTable);

View File

@ -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
{
@ -297,4 +298,118 @@ class TeamDividendAgencyModel extends BackendModel
return true;
}
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);
// if((int)$agentData['cultural_level_id'] > 0){
// // 升级后等级
// $c_c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find((int)$agentData['cultural_level_id']);
// // 升级前等级
// $o_c_level = NULL;
// // 升级日志
// Uplog::addLog($agency_model, $o_c_level, $c_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();
// }
// 升级后等级
$c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($leveType == 'cultural' ? $agency->cultural_level_id : $agency->level);
// 升级前等级
$o_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($level);
if($c_level && $o_level && $c_level->level_type != $o_level->level_type ){
// 非默认等级 且 类型不一致,升级失败
return false;
}
if ($agency->save()) {
// 升级日志
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);
}
}
}
}