Browse Source

Merge branch 'dev_wf' of wugg/cxinv into dev

wufeng 2 years ago
parent
commit
540e8842f5
2 changed files with 101 additions and 177 deletions
  1. 101 175
      app/admin/controller/User.php
  2. 0 2
      app/admin/route/app.php

+ 101 - 175
app/admin/controller/User.php

@@ -512,191 +512,117 @@ class User extends BaseController{
         }
     }
 
-	public function usersave(){
-		$post=$this->request->only(["id"=>"","nickname"=>"","mobile"=>"","email"=>"","relaComNo"=>"","companyArr"=>[],"token"=>""],"post","trim");
-		$validate=Validate::rule([
-    		'id|账户ID' => 'number',
-    		'nickname|真实姓名' => 'require|min:2|max:200',
-    		'mobile|手机号' => 'require|number|length:11|mobile',
-    		'email|邮箱' => 'email',
-    		'companyArr|关联账户' => 'array',
-            ]);
-		if($validate->check($post)==false) return error_show(1004,$validate->getError());
-		if(!empty($post['companyArr'])){
-			foreach ($post['companyArr'] as &$item){
-				$company =Db::name("supplier_info")->where(["code"=>$item['companyCode']])->find();
-				$item['company_type'] = $company["type"]==3?2:1;
-			}
-		}
-		if($post['id']!=""){
-			$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) && !empty($post['companyArr']))return error_show(1002,"超管账户不允许设置关联业务公司");
-				$saveinfo =[
-				"id"=>$post['id'],
-				"nickname"=>$post['nickname'],
-				"mobile"=>$post['mobile'],
-				"token"=>$post['token']
-			];
-        	$saev= resetinfo($saveinfo);
-
-        	if(!isset($saev['code'])||$saev['code']!=0){
-				return error_show(1004,$saev['message']);
-        	}
-			if(!empty($post['companyArr'])){
-				$companyinfo = ["id"=>$post['id'],"company"=>$post['companyArr'],"token"=>$post['token']];
-				$companyset =setUserCompany($companyinfo);
-				if(!isset($companyset['code'])||$companyset['code']!=0){
-					return error_show(1004,$companyset['message']);
-	            }
-			}
-
-		}else{
-		$userrole=[];
-		if($post['relaComNo']!=""){
-				$company =Db::name("supplier_info")->where(["code"=>$post['relaComNo']])->find();
-				if($company){
-					$temp = [
-						"companyCode"=>$company["code"],
-						"companyName"=>$company["name"],
-						"company_type"=>$company["type"]==3?2:1,
-						"is_main"=>1,
-					];
-					$post['companyArr'][]=$temp;
-				}
-        	}else{
-				if(!empty($post['companyArr'])){
-					foreach ($post['companyArr'] as &$item){
-						$company =Db::name("supplier_info")->where(["code"=>$item['companyCode']])->find();
-						$item['company_type'] = $company["type"]==3?2:1;
-					}
-				}else{
-					$post['companyArr'][]= [
-						"companyCode"=>'',
-						"companyName"=>'',
-						"company_type"=>0,
-						"is_main"=>1,
-					];
-					$userrole=[
-					"uid"=>0,
-					"nickname"=>'',
-					"roleid"=>1,
-					"companyNo"=>'',
-					"company_type"=>'',
-					"status"=>1,
-					"is_main"=>1,
-					"is_del"=>0,
-					"addtime"=>date("Y-m-d H:i:s"),
-					"updatetime"=>date("Y-m-d H:i:s"),
-					];
-				}
-        	}
-			$nam = addacount($post);
-			if(!isset($nam['code'])||$nam['code']!=0){
-				return error_show(1004,$nam['message']);
-        	}
-			if (!empty($userrole)){
-				$userrole['uid'] = $nam['data']["userid"];
-				$userrole['nickname'] = $nam['data']["nickname"];
-				$up =Db::name("user_role")->insert($userrole);
-				if($up==false){
-					return error_show(1004,'账户超管角色分配失败');
-				}
-			}
-		}
-
-		 return $post['id']==""?app_show(0,"账户新建成功"):app_show(0,"账户编辑成功");
-	}
-
-    //添加超管账号
-    public function adminAccountAdd()
+    public function usersave()
     {
-        $post = $this->request->only(['nickname', 'mobile', 'email' => '', 'relaComNo' => ''], 'post', 'trim');
+        $post = $this->request->only(["id" => "", "nickname", "mobile", "email" => "", "relaComNo" => "", "companyArr" => [], "token" => "", 'level'], "post", "trim");
         $validate = Validate::rule([
+            'id|账户ID' => 'number',
             'nickname|真实姓名' => 'require|min:2|max:200',
             'mobile|手机号' => 'require|mobile',
-            'email|邮箱' => 'email|max:255',
+            'email|邮箱' => 'email',
+            'level|账号等级' => 'require|number|in:1,2,3',
+            'companyArr|关联公司' => 'requireIf:level,2|requireIf:level,3|array',
         ]);
         if ($validate->check($post) == false) return error_show(1004, $validate->getError());
+        if (!empty($post['companyArr'])) {
+            foreach ($post['companyArr'] as &$item) {
+                $company = Db::name("supplier_info")->where(["code" => $item['companyCode']])->find();
+                $item['company_type'] = $company["type"] == 3 ? 2 : 1;
+            }
+        }
+        if ($post['id'] != "") {
+
+            if ($post['level'] == 1) {
+                $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) && !empty($post['companyArr'])) return error_show(1002, "超管账户不允许设置关联业务公司");
+            }
+            $saveinfo = [
+                "id" => $post['id'],
+                "nickname" => $post['nickname'],
+                "mobile" => $post['mobile'],
+                "token" => $post['token']
+            ];
+            $saev = resetinfo($saveinfo);
 
-        $post['companyArr'][] = [
-            "companyCode" => '',
-            "companyName" => '',
-            "company_type" => 0,
-            "is_main" => 1,
-        ];
-
-        $rs = add_admin_acount($post);
-        if (!isset($rs['code']) || $rs['code'] != 0) return error_show(1004, $rs['message']);
-
-        $up = Db::name("user_role")->insert([
-            "uid" => $rs['data']["userid"],
-            "nickname" => $rs['data']["nickname"],
-            "roleid" => env('default_admin_addcount_role_id',1),
-            "companyNo" => '',
-            "company_type" => '',
-            "status" => 1,
-            "is_main" => 1,
-            "is_del" => 0,
-            "addtime" => date("Y-m-d H:i:s"),
-            "updatetime" => date("Y-m-d H:i:s"),
-        ]);
-        if ($up == false) return error_show(1004, '超管账户分配角色失败');
-
-        return app_show(0, '添加超管账号成功');
-    }
-
-    //添加供应商账号
-    public function supplierAccountAdd(){
-        $post = $this->request->only(['nickname', 'mobile', 'email' => '', 'relaComNo' => '','companyArr'], 'post', 'trim');
-        $validate = Validate::rule([
-            'nickname|真实姓名' => 'require|min:2|max:200',
-            'mobile|手机号' => 'require|mobile',
-            'email|邮箱' => 'email|max:255',
-            'companyArr|关联账户' => 'require|array|max:100'
-        ]);
-        if ($validate->check($post) == false) return error_show(1004, $validate->getError());
+            if (!isset($saev['code']) || $saev['code'] != 0) {
+                return error_show(1004, $saev['message']);
+            }
+            if (!empty($post['companyArr'])) {
+                $companyinfo = ["id" => $post['id'], "company" => $post['companyArr'], "token" => $post['token']];
+                $companyset = setUserCompany($companyinfo);
+                if (!isset($companyset['code']) || $companyset['code'] != 0) {
+                    return error_show(1004, $companyset['message']);
+                }
+            }
 
-        $rs = add_supplier_account($post);
-        if (!isset($rs['code']) || $rs['code'] != 0) return error_show($rs['code'], $rs['message'],$rs['data']);
-
-        $insert_data=[];
-        $date = date('Y-m-d H:i:s');
-        foreach ($post['companyArr'] as $company){
-            $insert_data[]=[
-                "uid" => $rs['data']["userid"],
-                "nickname" => $rs['data']["nickname"],
-                "roleid" => env('default_supplier_addcount_role_id',90),//需要专门为供应商账号指定一个默认的角色id,要同步到采销
-                "companyNo" => $company['companyCode'],
-                "company_type" => 1,
-                "status" => 1,
-                "is_main" => $company['is_main'],
-                "is_del" => 0,
-                "addtime" => $date,
-                "updatetime" => $date,
-            ];
+        } else {
+            $userrole = [];
+            if ($post['relaComNo'] != "") {
+                $company = Db::name("supplier_info")->where(["code" => $post['relaComNo']])->find();
+                if ($company) {
+                    $temp = [
+                        "companyCode" => $company["code"],
+                        "companyName" => $company["name"],
+                        "company_type" => $company["type"] == 3 ? 2 : 1,
+                        "is_main" => 1,
+                    ];
+                    $post['companyArr'][] = $temp;
+                }
+            } else {
+                if (!empty($post['companyArr'])) {
+                    foreach ($post['companyArr'] as &$item) {
+                        $company = Db::name("supplier_info")->where(["code" => $item['companyCode']])->find();
+                        $item['company_type'] = $company["type"] == 3 ? 2 : 1;
+                    }
+                } else {
+                    $post['companyArr'][] = [
+                        "companyCode" => '',
+                        "companyName" => '',
+                        "company_type" => 0,
+                        "is_main" => 1,
+                    ];
+                    $userrole = [
+                        "uid" => 0,
+                        "nickname" => '',
+                        "roleid" => 0,
+                        "companyNo" => '',
+                        "company_type" => '',
+                        "status" => 1,
+                        "is_main" => 1,
+                        "is_del" => 0,
+                        "addtime" => date("Y-m-d H:i:s"),
+                        "updatetime" => date("Y-m-d H:i:s"),
+                    ];
+                }
+            }
+            $nam = addacount($post);
+            if (!isset($nam['code']) || $nam['code'] != 0) {
+                return error_show(1004, $nam['message']);
+            }
+            if (!empty($userrole)) {
+                $userrole['uid'] = $nam['data']["userid"];
+                $userrole['nickname'] = $nam['data']["nickname"];
+
+                switch ($post['level']) {
+                    case 1:
+                        $userrole['roleid'] = env('default_admin_addcount_role_id', 1);
+                        break;
+                    case 3:
+                        $userrole['roleid'] = env('default_supplier_addcount_role_id', 90);//需要专门为供应商账号指定一个默认的角色id,要同步到采销;
+                        break;
+                }
+
+                $up = Db::name("user_role")->insert($userrole);
+                if ($up == false) {
+                    return error_show(1004, '账户超管角色分配失败');
+                }
+            }
         }
 
-        if($insert_data) Db::name('user_role')->insertAll($insert_data);
-
-//        $up = Db::name("user_role")->insert([
-//            "uid" => $rs['data']["userid"],
-//            "nickname" => $rs['data']["nickname"],
-//            "roleid" => env('default_supplier_addcount_role_id',90),//需要专门为供应商账号指定一个默认的角色id,要同步到采销
-//            "companyNo" => '',
-//            "company_type" => '',
-//            "status" => 1,
-//            "is_main" => 1,
-//            "is_del" => 0,
-//            "addtime" => date("Y-m-d H:i:s"),
-//            "updatetime" => date("Y-m-d H:i:s"),
-//        ]);
-//        if ($up == false) return error_show(1004, '供应商账号分配角色失败');
-
-//        return app_show(0, '添加供应商账号成功');
-        return app_show($rs['code'], $rs['message'],$rs['data']);
+        return $post['id'] == "" ? app_show(0, "账户新建成功") : app_show(0, "账户编辑成功");
     }
 
 

+ 0 - 2
app/admin/route/app.php

@@ -30,8 +30,6 @@ Route::rule('setpwd', 'admin/User/setPwd');
 Route::rule('setstatus', 'admin/User/setStatus');
 Route::rule('setcompanystatus', 'admin/User/setCompanyStatus');
 Route::rule('getcompany', 'admin/User/GetCompany');
-Route::rule('adminAccountAdd', 'admin/User/adminAccountAdd');
-Route::rule('supplierAccountAdd', 'admin/User/supplierAccountAdd');
 
 Route::rule('rolelist', 'admin/Role/roleList');
 Route::rule('roleall', 'admin/Role/roleAll');