|
@@ -3,6 +3,7 @@ declare (strict_types=1);
|
|
|
|
|
|
namespace app\admin\controller;
|
|
|
|
|
|
+use app\admin\common\User as UserCommon;
|
|
|
use think\facade\Db;
|
|
|
use app\admin\model\ActionLog;
|
|
|
use think\facade\Validate;
|
|
@@ -27,13 +28,13 @@ class User extends Base
|
|
|
|
|
|
$rs = json_decode($rs, true);
|
|
|
|
|
|
- if(!isset($rs['code'])|| $rs['code']!=0) return json_show(1004,$rs['message']);
|
|
|
+ if (!isset($rs['code']) || $rs['code'] != 0) return json_show(1004, $rs['message']);
|
|
|
|
|
|
- $role =Db::name('user_role')
|
|
|
- ->where(['uid'=>$rs['data']['id'],'is_main'=>1,'is_del'=>0])
|
|
|
+ $role = Db::name('user_role')
|
|
|
+ ->where(['uid' => $rs['data']['id'], 'is_main' => 1, 'is_del' => 0])
|
|
|
->findOrEmpty();
|
|
|
|
|
|
- if(empty($role)) return json_show(1004,'未开通登录权限');
|
|
|
+ if (empty($role)) return json_show(1004, '没有默认角色,无法登录');
|
|
|
|
|
|
$roleinfo = Db::name('role')
|
|
|
->where(['id' => $role['roleid']])
|
|
@@ -47,13 +48,14 @@ class User extends Base
|
|
|
'role_id' => $role['roleid'] ?? '',
|
|
|
]);
|
|
|
|
|
|
- return json_show(0,'登录成功',$data);
|
|
|
+ return json_show(0, '登录成功', $data);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function list(){
|
|
|
- $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10, 'uid' => '', 'nuid' => '','companyNo'=>''], 'post', 'trim');
|
|
|
+ public function list()
|
|
|
+ {
|
|
|
+ $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10, 'uid' => '', 'nuid' => '', 'companyNo' => ''], 'post', 'trim');
|
|
|
|
|
|
$param['level'] = 1;//只筛选超管用户
|
|
|
$userCommon = new CommonUser();
|
|
@@ -379,40 +381,54 @@ class User extends Base
|
|
|
//账号角色修改
|
|
|
public function setRole()
|
|
|
{
|
|
|
- $post = $this->request->only(["id" => "", "nickname" => "", "mobile" => "", "relaComNo" => "", "companyNo" => "", "roleid" => "", "token" => ""], "post", "trim");
|
|
|
+ $post = $this->request->only(["id", "roleid", 'companyNo'], "post", "trim");
|
|
|
|
|
|
$valide = Validate::rule([
|
|
|
"id|账户ID" => "require|number|gt:0",
|
|
|
- "nickname|名称" => "require|max:255",
|
|
|
- "mobile|手机号" => "require|mobile",
|
|
|
- "relaComNo|业务公司" => "max:255",
|
|
|
- "companyNo|业务公司" => "max:255",
|
|
|
- "roleid|角色ID" => "require|number",
|
|
|
+// "nickname|名称" => "require|max:255",
|
|
|
+// "mobile|手机号" => "require|mobile",
|
|
|
+// "relaComNo|业务公司" => "max:255",
|
|
|
+ "roleid|角色ID" => "require|number|gt:0",
|
|
|
+ "companyNo|业务公司" => "require|max:255",
|
|
|
]);
|
|
|
if ($valide->check($post) == false) return json_show(1004, $valide->getError());
|
|
|
if ($post['roleid'] != 0) {
|
|
|
- $roleinfo = Db::name("role")->where("id", "=", $post['roleid'])->find();
|
|
|
+ $roleinfo = Db::name("role")
|
|
|
+ ->field('id,status,level')
|
|
|
+ ->where("id", $post['roleid'])
|
|
|
+ ->find();
|
|
|
if (empty($roleinfo)) return json_show(1002, "角色不存在");
|
|
|
if ($roleinfo['status'] == 0) return json_show(1002, "角色已禁用");
|
|
|
if ($roleinfo['level'] == 1) return json_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 ($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 json_show(1004, "业务公司编号不能为空");
|
|
|
+// if ($companyNo == "") return json_show(1004, "业务公司编号不能为空");
|
|
|
|
|
|
- $company = Db::name("supplier_info")->where(["code" => $companyNo])->find();
|
|
|
- if ($company == false) return json_show(1004, "业务公司不存在");
|
|
|
+// $company = Db::name("supplier_info")->where(["code" => $companyNo])->find();
|
|
|
+// if ($company == false) return json_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 json_show(1002, "超管账户不允许设置其他角色");
|
|
|
+
|
|
|
+ $userCommon = new UserCommon();
|
|
|
+
|
|
|
+ $tmp = $userCommon->handle('userCompanyList', ['account_id' => $this->uid, 'companyCode' => $post['companyNo']]);
|
|
|
+
|
|
|
+ if (!isset($tmp['code']) || $tmp['code'] != 0) return json_show($tmp['code'], $tmp['message'], $tmp['data']);
|
|
|
+ if ($tmp['data']['count'] != 1) return json_show(1005, '尚未绑定该公司');
|
|
|
+ $is_main = $tmp['data']['list'][0]['is_main'];
|
|
|
+ $company_type = $tmp['data']['list'][0]['company_type'];
|
|
|
|
|
|
- $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 json_show(1002, "超管账户不允许设置其他角色");
|
|
|
$userrole = Db::name("user_role")
|
|
|
- ->where(["uid" => $post['id'], "companyNo" => $companyNo, "is_del" => 0])
|
|
|
+ ->field('id')
|
|
|
+ ->where(["uid" => $post['id'], "companyNo" => $post['companyNo'], "is_del" => 0])
|
|
|
->find();
|
|
|
- $ismain = Db::name("user_role")->where(["uid" => $post['id'], "is_main" => 1, "is_del" => 0])->find();
|
|
|
+// $ismain = Db::name("user_role")->where(["uid" => $post['id'], "is_main" => 1, "is_del" => 0])->find();
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
|
|
@@ -421,60 +437,77 @@ class User extends Base
|
|
|
"uid" => $post['id'],
|
|
|
"roleid" => $post['roleid'],
|
|
|
"nickname" => $post['nickname'],
|
|
|
- "companyNo" => $companyNo,
|
|
|
- "company_type" => $company["type"] == 3 ? 2 : 1,
|
|
|
- "is_main" => $ismain ? 0 : 1,
|
|
|
+ "companyNo" => $post['companyNo'],
|
|
|
+ "company_type" => $company_type,
|
|
|
+ "is_main" => $is_main,
|
|
|
"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 ? 0 : 1
|
|
|
- ]
|
|
|
- ];
|
|
|
+// $companyarr = [
|
|
|
+// [
|
|
|
+// "companyCode" => $company["code"],
|
|
|
+// "companyName" => $company["name"],
|
|
|
+// "company_type" => $company["type"] == 3 ? 2 : 1,
|
|
|
+// "is_main" => $ismain ? 0 : 1
|
|
|
+// ]
|
|
|
+// ];
|
|
|
|
|
|
- $companyinfo = ["id" => $post['id'], "company" => $companyarr, "token" => $post['token']];
|
|
|
+// $companyinfo = ["id" => $post['id'], "company" => $companyarr, "token" => $post['token']];
|
|
|
|
|
|
- $userCommon = new \app\admin\common\User();
|
|
|
- $companyset = $userCommon->handle('setcompany', $companyinfo);
|
|
|
+// $userCommon = new \app\admin\common\User();
|
|
|
+// $companyset = $userCommon->handle('setcompany', $companyinfo);
|
|
|
|
|
|
- if (!isset($companyset['code']) || $companyset['code'] != 0) return json_show(1004, $companyset['message']);
|
|
|
+// if (!isset($companyset['code']) || $companyset['code'] != 0) return json_show(1004, $companyset['message']);
|
|
|
|
|
|
|
|
|
- $up = Db::name("user_role")->insert($roledata);
|
|
|
+ $userrole['id'] = Db::name("user_role")->insertGetId($roledata);
|
|
|
} else {
|
|
|
- $userrole['roleid'] = $post['roleid'];
|
|
|
- $userrole['nickname'] = $post['nickname'];
|
|
|
- $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")->where(["uid" => $post['id'], "companyNo" => $companyNo, "is_del" => 0])->save($userrole);
|
|
|
+// $userrole['roleid'] = $post['roleid'];
|
|
|
+// $userrole['nickname'] = $post['nickname'];
|
|
|
+// $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")
|
|
|
+ ->where('id', $userrole['id'])
|
|
|
+ ->update([
|
|
|
+ "company_type" => $company_type,
|
|
|
+ "is_main" => $is_main,
|
|
|
+ 'roleid' => $post['roleid'],
|
|
|
+ 'updatetime' => date("Y-m-d H:i:s"),
|
|
|
+ ]);
|
|
|
}
|
|
|
- $saveinfo = [
|
|
|
- "id" => $post['id'],
|
|
|
- "nickname" => $post['nickname'],
|
|
|
- "mobile" => $post['mobile'],
|
|
|
- "token" => $post['token']
|
|
|
- ];
|
|
|
-// $saev = resetinfo($saveinfo);
|
|
|
- $userCommon = new \app\admin\common\User();
|
|
|
- $saev = $userCommon->handle('usersave', $saveinfo);
|
|
|
- if (!isset($saev['code']) || $saev['code'] != 0) {
|
|
|
- return json_show(1004, $saev['message']);
|
|
|
- }
|
|
|
- if ($up == false) {
|
|
|
- Db::rollback();
|
|
|
- return json_show(1004, '用户信息更新失败');
|
|
|
+
|
|
|
+
|
|
|
+ //设置默认角色
|
|
|
+ if ($is_main == 1) {
|
|
|
+ Db::name('user_role')
|
|
|
+ ->where(["uid" => $post['id'], "is_del" => 0])
|
|
|
+ ->where('id', '<>', $userrole['id'])
|
|
|
+ ->update(['is_main' => 0]);
|
|
|
}
|
|
|
+
|
|
|
+// $saveinfo = [
|
|
|
+// "id" => $post['id'],
|
|
|
+// "nickname" => $post['nickname'],
|
|
|
+// "mobile" => $post['mobile'],
|
|
|
+// "token" => $post['token']
|
|
|
+// ];
|
|
|
+// $saev = resetinfo($saveinfo);
|
|
|
+// $userCommon = new \app\admin\common\User();
|
|
|
+// $saev = $userCommon->handle('usersave', $saveinfo);
|
|
|
+// if (!isset($saev['code']) || $saev['code'] != 0) {
|
|
|
+// return json_show(1004, $saev['message']);
|
|
|
+// }
|
|
|
+// if ($up == false) {
|
|
|
+// Db::rollback();
|
|
|
+// return json_show(1004, '用户信息更新失败');
|
|
|
+// }
|
|
|
Db::commit();
|
|
|
- return json_show(0, '用户信息更新成功');
|
|
|
+ return json_show(0, '操作成功');
|
|
|
} catch (\Exception $e) {
|
|
|
Db::rollback();
|
|
|
- return json_show(1004, $e->getMessage());
|
|
|
+ return json_show(1004, '操作失败,' . $e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -828,7 +861,7 @@ class User extends Base
|
|
|
if ($data['roleid'] != "") {
|
|
|
$action = Db::name("role_action")->where(["role_id" => $data['roleid'], "status" => 1])->find();
|
|
|
if ($action != false) {
|
|
|
- $data['private_field'] = isset($action['private_field']) && $action['private_field'] != "" ? explode(",",$action['private_field']) : [];
|
|
|
+ $data['private_field'] = isset($action['private_field']) && $action['private_field'] != "" ? explode(",", $action['private_field']) : [];
|
|
|
}
|
|
|
}
|
|
|
$data['business'] = $val;
|
|
@@ -879,14 +912,14 @@ class User extends Base
|
|
|
->leftJoin("role b", "a.roleid=b.id")->where([["b.level", "=", 1], ["a.is_del", "=", 0]])->where($where)->column
|
|
|
("uid");
|
|
|
if ($post['islevel'] == 1) $post['uid'] = $uid;
|
|
|
- else $post['nuid'] = $uid;
|
|
|
+ else $post['nuid'] = $uid;
|
|
|
|
|
|
unset($post["islevel"]);
|
|
|
}
|
|
|
|
|
|
$userCommon = new \app\admin\common\User();
|
|
|
$userinfo = $userCommon->GetAccountall($post);
|
|
|
- $userinfo = json_decode($userinfo,true);
|
|
|
+ $userinfo = json_decode($userinfo, true);
|
|
|
if (empty($userinfo) || $userinfo['code'] != 0) return app_show($userinfo['code'], $userinfo['msg']);
|
|
|
|
|
|
$data = $userinfo['data']['list'];
|