wugg vor 2 Jahren
Ursprung
Commit
aa4c75c49e
1 geänderte Dateien mit 46 neuen und 11 gelöschten Zeilen
  1. 46 11
      app/admin/controller/User.php

+ 46 - 11
app/admin/controller/User.php

@@ -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);
 	            }