|
@@ -151,15 +151,21 @@ class User extends BaseController{
|
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
|
*/
|
|
|
public function setStatus(){
|
|
|
- $post =$this->request->only(["id"=>"","status"=>"","relaComNo"=>"","token"=>""],"post");
|
|
|
+ $post =$this->request->only(["id"=>"","status"=>"","relaComNo"=>"","companyNo"=>"","token"=>""],"post");
|
|
|
$valide =Validate::rule([
|
|
|
'id|账户ID' => 'require|number|gt:0',
|
|
|
'status|状态' => 'require|number|in:0,1',
|
|
|
- 'relaComNo|业务公司' => 'require|max:255',
|
|
|
+ 'relaComNo|业务公司' => 'max:255',
|
|
|
+ 'companyNo|业务公司' => 'max:255',
|
|
|
]);
|
|
|
if($valide->check($post)==false) return error_show(1004,$valide->getError());
|
|
|
$message = $post['status']==1?"启用":"禁用";
|
|
|
- $userinfo =Db::name("user_role")->where(["uid"=>$post['id'],"companyNo"=>$post['relaComNo'],"is_del"=>0])
|
|
|
+ if($this->level==1){
|
|
|
+ $companyNo = isset($post['companyNo'])&&$post['companyNo']!=='' ? trim($post['companyNo']) :"";
|
|
|
+ }else{
|
|
|
+ $companyNo = isset($post['relaComNo'])&&$post['relaComNo']!=='' ? trim($post['relaComNo']) :"";
|
|
|
+ }
|
|
|
+ $userinfo =Db::name("user_role")->where(["uid"=>$post['id'],"companyNo"=>$companyNo,"is_del"=>0])
|
|
|
->find();
|
|
|
if($userinfo==false){
|
|
|
return error_show(1005,"未找到有关账户信息");
|
|
@@ -209,12 +215,13 @@ class User extends BaseController{
|
|
|
* 修改用户基础信息
|
|
|
*/
|
|
|
public function setRole(){
|
|
|
- $post=$this->request->only(["id"=>"","nickname"=>"","relaComNo"=>"","company_type"=>"","roleid"=>""],"post","trim");
|
|
|
+ $post=$this->request->only(["id"=>"","nickname"=>"","relaComNo"=>"","companyNo"=>"","roleid"=>""],"post","trim");
|
|
|
|
|
|
$valide=Validate::rule([
|
|
|
"id|账户ID"=>"require|number|gt:0",
|
|
|
"nickname|名称"=>"require|max:255",
|
|
|
- "relaComNo|业务公司"=>"require|max:255",
|
|
|
+ "relaComNo|业务公司"=>"max:255",
|
|
|
+ "companyNo|业务公司"=>"max:255",
|
|
|
"company_type|业务公司类型"=>"require|number|in:1,2",
|
|
|
"roleid|角色ID"=>"require|number",
|
|
|
]);
|
|
@@ -228,15 +235,27 @@ class User extends BaseController{
|
|
|
return error_show(1002,"角色已禁用");
|
|
|
}
|
|
|
}
|
|
|
+ if($this->level==1){
|
|
|
+ $companyNo = isset($post['companyNo'])&&$post['companyNo']!=='' ? trim($post['companyNo']) :"";
|
|
|
+ }else{
|
|
|
+ $companyNo = isset($post['relaComNo'])&&$post['relaComNo']!=='' ? trim($post['relaComNo']) :"";
|
|
|
+ }
|
|
|
+ if($companyNo==""){
|
|
|
+ return error_show(1004,"业务公司编号不能为空");
|
|
|
+ }
|
|
|
+ $company =Db::name("supplier_info")->where(["code"=>$companyNo])->find();
|
|
|
+ if($company==false){
|
|
|
+ return error_show(1004,"业务公司不存在");
|
|
|
+ }
|
|
|
$isSuper = Db::name("user_role")->alias("a")
|
|
|
->leftJoin("role b","a.roleid=b.id")
|
|
|
->where(["a.uid"=>$post['id'],"a.is_del"=>0,"b.level"=>1])
|
|
|
->findOrEmpty();
|
|
|
if(!empty($isSuper))return error_show(1002,"超管账户不允许设置其他角色");
|
|
|
$userrole = Db::name("user_role")
|
|
|
- ->where(["uid"=>$post['id'],"companyNo"=>$post['relaComNo'],"is_del"=>0])
|
|
|
+ ->where(["uid"=>$post['id'],"companyNo"=>$companyNo,"is_del"=>0])
|
|
|
->find();
|
|
|
-
|
|
|
+ $ismain =Db::name("user_role")->where(["uid"=>$post['id'],"is_main"=>1,"is_del"=>0])->find();
|
|
|
Db::startTrans();
|
|
|
try{
|
|
|
if(empty($userrole)){
|
|
@@ -244,17 +263,33 @@ class User extends BaseController{
|
|
|
"uid"=>$post['id'],
|
|
|
"roleid"=>$post['roleid'],
|
|
|
"nickname"=>$post['nickname'],
|
|
|
- "companyNo"=>$post['relaComNo'],
|
|
|
- "company_type"=>$post['company_type'],
|
|
|
+ "companyNo"=>$companyNo,
|
|
|
+ "company_type"=>$company["type"]==3?2:1,
|
|
|
+ "is_main"=>$ismain?1:0,
|
|
|
"status"=>1,
|
|
|
"addtime"=>date("Y-m-d H:i:s"),
|
|
|
"updatetime"=>date("Y-m-d H:i:s")
|
|
|
];
|
|
|
+ $companyarr=[
|
|
|
+ [
|
|
|
+ "companyCode"=>$company["code"],
|
|
|
+ "companyName"=>$company["name"],
|
|
|
+ "company_type"=>$company["type"]==3?2:1,
|
|
|
+ "is_main"=>$ismain?1:0
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ $companyinfo = ["id"=>$post['id'],"company"=>$companyarr,"token"=>$post['token']];
|
|
|
+ $companyset =setUserCompany($companyinfo);
|
|
|
+ if(!isset($companyset['code'])||$companyset['code']!=0){
|
|
|
+ return error_show(1004,$companyset['message']);
|
|
|
+ }
|
|
|
+
|
|
|
$up= Db::name("user_role")->insert($roledata);
|
|
|
}else{
|
|
|
$userrole['roleid'] = $post['roleid'];
|
|
|
- $userrole['companyNo'] = $post['relaComNo'];
|
|
|
- $userrole['company_type'] =$post['company_type'];
|
|
|
+ $userrole['companyNo'] = $companyNo;
|
|
|
+ $userrole['company_type'] =$company["type"]==3?2:1;
|
|
|
$userrole['updatetime'] = date("Y-m-d H:i:s");
|
|
|
$up=Db::name("user_role")->save($userrole);
|
|
|
}
|