controller());
$action = lcfirst($request->action());
if (strtolower($controller) == 'login') return $next($request);
// 检测是否登陆
$empcrm = session('empcrm');
if (empty($empcrm)) return redirect(url('login/index'));
// 如果是多企业页面
if ($controller == 'index' && $action == 'company') return $next($request);
// 如果上传文件
if ($action == 'osscallback') return $next($request);
// 如果是多企业
if (is_string($empcrm)) return redirect(url('index/company'));
$sessionId = cache('empcrm_' . $empcrm['phone']);
if (!empty($sessionId) && $sessionId != Session::getId()) {
Session::clear();
if (request()->isAjax()) {
return json(['code' => 403, 'data' => [], 'msg' => '您的账号已在其他地方登录']);
} else {
return response('');
}
}
// 防止后台切换部门 及 离职
$find_emp = Employee::where('id', '=', $empcrm['id'])->findOrEmpty();
if ($find_emp['state'] != '在职') {
Session::delete('empcrm');
Session::delete('empcrm_module');
if (request()->isAjax()) {
return json(['code' => 403, 'data' => [], 'msg' => '您的账号已不在职']);
} else {
return response('');
}
}
$empcrm_module = session('empcrm_module');
//如果为空是首次登陆
$disabled = false;
if (empty($empcrm_module)) {
// 判断是进入哪个模块,网销or社群
if ($find_emp['empcrm_disable'] && $find_emp['community_disable']) {
$disabled = true;
} elseif ($find_emp['empcrm_disable']) {
// 网销禁入 进入社群
$empcrm_module = 2;
session('empcrm_module', 2); // 1、网销 2、社群
} elseif ($find_emp['community_disable']) {
// 进入网销
$empcrm_module = 1;
session('empcrm_module', 1); // 1、网销 2、社群
} else {
// 都有默认进入社群
$empcrm_module = 2;
session('empcrm_module', 2); // 1、网销 2、社群
}
} else {
// 当前模块
$empcrm_module = session('empcrm_module');
}
if ($disabled) {
// 不准进入程序
Session::delete('empcrm');
Session::delete('empcrm_module');
if (request()->isAjax()) {
return json(['code' => 403, 'data' => [], 'msg' => '账号无权限']);
} else {
return response('');
}
}
if ($find_emp['org_id'] != $empcrm['org_id']) {
Session::delete('empcrm');
Session::delete('empcrm_module');
if (request()->isAjax()) {
return json(['code' => 403, 'data' => [], 'msg' => '您的账号已切换部门,请重新登陆']);
} else {
return response('');
}
}
// 未跟进颜色提醒
$tip_where[] = ['root_id', '=', $find_emp['root_id']];
$tip_where[] = ['name', '=', 'no_follow_tips'];
$info_tips = Setting::where($tip_where)->findOrEmpty();
$need_tips = 0;
if (!$info_tips->isEmpty()) {
$need_tips = (int)$info_tips['content'];
}
View::assign('need_follow_tips', $need_tips);
if ($empcrm_module == 1) {
$grant = ['index/switch_model', 'empcrm/add_wetch', 'empcrm/fetchpoolitem', 'empcrm/pollcus_detail', 'empcrm/sign_savecust', 'empcrm/signcus_detail', 'empcrm/resources_sign', 'empcrm/save_introduce', 'empcrm/daily_detail', 'empcrm/customer_detail', 'empcrm/reserveDesigner', 'empcrm/get_person', 'empcrm/get_all_portrait_field', 'empcrm/validation', 'empcrm/poolFieldsSet', 'empcrm/model_new_report', 'empcrm/followup', 'empcrm/index', 'empcrm/poolFieldsList', 'index/index', 'empcrm/search_list', 'empcrm/daily', 'empcrm/new_daily_detail', 'empcrm/addlog', 'empcrm/addVisitlog', 'empcrm/list', 'empcrm/edit_customer', 'empcrm/add_customer', 'empcrm/model_report', 'empcrm/resources_list', 'empcrm/repay_list', 'empcrm/stay_confirm_list', 'empcrm/confirm_visit_list', 'empcrm/jiaoding_list', 'empcrm/assignment_list', 'managerEmp/shareList', 'empcrm/pool_list', 'managerEmp/proofread', 'empcrm/achment_list', 'empcrm/emp_daily', 'empcrm/invalid_report', 'empcrm/pool_list', 'index/company', 'index/welcome', 'index/logout', 'empcrm/bind', 'index/switch_shop', 'empcrm/kb', 'empcrm/fish_list', 'empcrm/fish_pool_fields_list', 'empcrm/fish_validation', 'empcrm/create_bridge_call', 'empcrm/fish_update_data', 'empcrm/tencent_list', 'empcrm/fish_list_total', 'empcrm/tencent_list_total', 'empcrm/fish_total', 'empcrm/fish_detail', 'managerEmp/get_person', 'empcrm/checkCustomer', 'empcrm/create_bridge_call_customer', 'managerEmp/get_error_customers', 'validCheck/apply', 'validCheck/apply_list', 'empcrm/pool_list_export'];
if ($empcrm->is_manager) {
$mangrant = ['managerEmp/recovery_customers', 'managerEmp/get_child_orgs', 'managerEmp/year_report', 'managerEmp/designer_report', 'empcrm/generalOpenData', 'empcrm/generalOpen', 'managerEmp/customer_statistics_list', 'empcrm/generalStatisticsData', 'empcrm/generalStatistics', 'managerEmp/account_report', 'managerEmp/edit_extension', 'managerEmp/account_detail', 'managerEmp/add_extension', 'managerEmp/extension_report', 'empcrm/customerTransfer', 'managerEmp/distribution_resources', 'managerEmp/get_persons', 'managerEmp/get_orgs', 'managerEmp/distribution', 'managerEmp/get_customers', 'managerEmp/get_uncustomers', 'managerEmp/read_new', 'managerEmp/delete_new', 'managerEmp/add', 'managerEmp/importLog', 'empcrm/statistics', 'empcrm/statistics_more', 'managerEmp/resource', 'managerEmp/importing', 'empcrm/jiance', 'empcrm/sel_wuxiao', 'managerEmp/seL_emplist', 'empcrm/fish_validation_view', 'managerEmp/seL_emplist', 'empcrm/fish_validation_again', 'managerEmp/account_detail_fish', 'statistics2/source', 'statistics2/sale', 'statistics2/designer', 'statistics2/sourceDetail', 'statistics2/designerDepartment', 'managerEmp/deleteExtension', 'validCheck/list', 'validCheck/check'];
$grant = array_merge($grant, $mangrant);
}
// 判断是否有权限
$grant = array_unique($grant);
if (!in_array($controller . '/' . $action, $grant)) {
if ($request->isAjax()) {
return json(['code' => 1, 'msg' => '无权限']);
}
throw new HttpException(404, '无权限');
}
$root_id = $empcrm->root_id;
//馨居尚,臻品软装,菡萏怡景装饰
$xinjushang = 0;
$empcrm['xinjushang'] = $xinjushang;
View::assign('xinjushang', $xinjushang); //用于模板页面对馨居尚的判断
// 进入的模块
$empcrm['empcrm_module'] = 1;
$request->empcrm = $empcrm;
return $next($request);
} elseif ($empcrm_module == 2) {
// 更新社群的登陆时间
Employee::where('id', '=', $empcrm['id'])->save(['community_login_time' => date('Y-m-d H:i:s')]);
$grant = [];
if ($empcrm->is_manager) {
$mangrant = [];
$grant = array_merge($grant, $mangrant);
}
// 判断是否有权限
$grant = array_unique($grant);
// if (!in_array($controller . '/' . $action, $grant)) {
// if ($request->isAjax()) {
// return json(['code' => 1, 'msg' => '无权限']);
// }
// throw new HttpException(404, '无权限');
// }
$root_id = $empcrm->root_id;
//馨居尚,臻品软装,菡萏怡景装饰
$xinjushang = 0;
$empcrm['xinjushang'] = $xinjushang;
View::assign('xinjushang', $xinjushang); //用于模板页面对馨居尚的判断
// 进入的模块
$empcrm['empcrm_module'] = 2;
$request->empcrm = $empcrm;
return $next($request);
} else {
Session::delete('empcrm');
Session::delete('empcrm_module');
if (request()->isAjax()) {
return json(['code' => 403, 'data' => [], 'msg' => '请重新登陆']);
} else {
return response('');
}
}
}
}