|
@@ -58,64 +58,15 @@ class User extends Base
|
|
|
|
|
|
}
|
|
|
|
|
|
- //列表
|
|
|
- public function list()
|
|
|
- {
|
|
|
- $post = $this->request->only(["token" => "", "nickname" => "", "relaComNo" => "", "islevel" => "", "username" => "", "companyNo" => "", "status" => "", "page" => 1, "size" => 10], "post");
|
|
|
- if ($this->level == 1) {
|
|
|
- $companyNo = $post['companyNo'] ?? "";
|
|
|
- } else {
|
|
|
- $companyNo = $post['relaComNo'] ?? "";
|
|
|
- $post['companyNo'] = $post['relaComNo'] ?? "";
|
|
|
- }
|
|
|
- $where = [["a.is_del", "=", 0]];
|
|
|
- unset($post['relaComNo']);
|
|
|
- if ($post['companyNo'] != "") {
|
|
|
- $where[] = ["a.companyNo", "=", $companyNo];
|
|
|
- }
|
|
|
- if ($post['status'] !== '') {
|
|
|
- $uid = Db::name("user_role")->alias("a")->where(["status" => 1, "is_del" => 0])->where($where)->column("uid");
|
|
|
- if ($post['status'] == 1) {
|
|
|
- $where[] = ["a.status", "=", 1];
|
|
|
- $post['uid'] = $uid;
|
|
|
- } else {
|
|
|
- $post['nuid'] = $uid;
|
|
|
- }
|
|
|
- unset($post['status']);
|
|
|
- }
|
|
|
- if ($post["islevel"] != "") {
|
|
|
- $uid = Db::name("user_role")->alias("a")
|
|
|
- ->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;
|
|
|
- }
|
|
|
- unset($post["islevel"]);
|
|
|
- }
|
|
|
-// var_dump($post);
|
|
|
-// $userinfo=GetUserList($post);
|
|
|
+
|
|
|
+ public function list(){
|
|
|
+ $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10, 'uid' => '', 'nuid' => ''], 'post', 'trim');
|
|
|
+
|
|
|
$userCommon = new CommonUser();
|
|
|
- $userinfo = $userCommon->GetList($post);
|
|
|
- $userinfo = json_decode($userinfo, true);
|
|
|
- if (empty($userinfo) || $userinfo['code'] != 0) {
|
|
|
- return app_show($userinfo['code'], $userinfo['msg']);
|
|
|
- }
|
|
|
- $data = $userinfo['data']['list'];
|
|
|
- $list = [];
|
|
|
- foreach ($data as $value) {
|
|
|
- $roleArr = Db::name("user_role")->alias("a")
|
|
|
- ->leftJoin("role b", "a.roleid=b.id")
|
|
|
- ->where(["uid" => $value['id'], "a.companyNo" => $value['companyCode'], "is_del" => 0])
|
|
|
- ->field("role_name,roleid,a.status,b.level")->findOrEmpty();
|
|
|
- $value['roleid'] = $roleArr['roleid'] ?? "";
|
|
|
- $value['status'] = $value['status'] == 1 ? ($roleArr['status'] ?? 0) : 0;
|
|
|
- $value["role_name"] = $roleArr['role_name'] ?? "";
|
|
|
- $value["role_level"] = $roleArr['level'] ?? "";
|
|
|
- $list[] = $value;
|
|
|
- }
|
|
|
- return app_show(0, "获取成功", ["list" => $list, "count" => $userinfo['data']["count"]]);
|
|
|
+ $rs = $userCommon->GetUserlist($param);
|
|
|
+
|
|
|
+ $rs = json_decode($rs, true);
|
|
|
+ return json_show($rs['code'], $rs['message'], $rs['data']);
|
|
|
}
|
|
|
|
|
|
//删除
|
|
@@ -366,41 +317,168 @@ class User extends Base
|
|
|
return app_show(0, "获取成功", ["list" => $list, "count" => $userinfo['data']["count"]]);
|
|
|
}
|
|
|
|
|
|
+ //账户角色列表
|
|
|
+ public function userRoleList()
|
|
|
+ {
|
|
|
+ $post = $this->request->only(["token" => "", "nickname" => "", "relaComNo" => "", "islevel" => "", "username" => "", "companyNo" => "", "status" => "", "page" => 1, "size" => 10], "post");
|
|
|
+ if ($this->level == 1) {
|
|
|
+ $companyNo = $post['companyNo'] ?? "";
|
|
|
+ } else {
|
|
|
+ $companyNo = $post['relaComNo'] ?? "";
|
|
|
+ $post['companyNo'] = $post['relaComNo'] ?? "";
|
|
|
+ }
|
|
|
+ $where = [["a.is_del", "=", 0]];
|
|
|
+ unset($post['relaComNo']);
|
|
|
+ if ($post['companyNo'] != "") {
|
|
|
+ $where[] = ["a.companyNo", "=", $companyNo];
|
|
|
+ }
|
|
|
+ if ($post['status'] !== '') {
|
|
|
+ $uid = Db::name("user_role")->alias("a")->where(["status" => 1, "is_del" => 0])->where($where)->column("uid");
|
|
|
+ if ($post['status'] == 1) {
|
|
|
+ $where[] = ["a.status", "=", 1];
|
|
|
+ $post['uid'] = $uid;
|
|
|
+ } else {
|
|
|
+ $post['nuid'] = $uid;
|
|
|
+ }
|
|
|
+ unset($post['status']);
|
|
|
+ }
|
|
|
+ if ($post["islevel"] != "") {
|
|
|
+ $uid = Db::name("user_role")->alias("a")
|
|
|
+ ->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;
|
|
|
+ }
|
|
|
+ unset($post["islevel"]);
|
|
|
+ }
|
|
|
+// var_dump($post);
|
|
|
+// $userinfo=GetUserList($post);
|
|
|
+ $userCommon = new CommonUser();
|
|
|
+ $userinfo = $userCommon->GetList($post);
|
|
|
+ $userinfo = json_decode($userinfo, true);
|
|
|
+ if (empty($userinfo) || $userinfo['code'] != 0) {
|
|
|
+ return app_show($userinfo['code'], $userinfo['msg']);
|
|
|
+ }
|
|
|
+ $data = $userinfo['data']['list'];
|
|
|
+ $list = [];
|
|
|
+ foreach ($data as $value) {
|
|
|
+ $roleArr = Db::name("user_role")->alias("a")
|
|
|
+ ->leftJoin("role b", "a.roleid=b.id")
|
|
|
+ ->where(["uid" => $value['id'], "a.companyNo" => $value['companyCode'], "is_del" => 0])
|
|
|
+ ->field("role_name,roleid,a.status,b.level")->findOrEmpty();
|
|
|
+ $value['roleid'] = $roleArr['roleid'] ?? "";
|
|
|
+ $value['status'] = $value['status'] == 1 ? ($roleArr['status'] ?? 0) : 0;
|
|
|
+ $value["role_name"] = $roleArr['role_name'] ?? "";
|
|
|
+ $value["role_level"] = $roleArr['level'] ?? "";
|
|
|
+ $list[] = $value;
|
|
|
+ }
|
|
|
+ return app_show(0, "获取成功", ["list" => $list, "count" => $userinfo['data']["count"]]);
|
|
|
+ }
|
|
|
|
|
|
+ //账号角色修改
|
|
|
public function setRole()
|
|
|
{
|
|
|
- $post = $this->request->post();
|
|
|
- $token = isset($post['token']) ? trim($post['token']) : "";
|
|
|
- if ($token == "") {
|
|
|
- return app_show(101, 'token不能为空');
|
|
|
+ $post = $this->request->only(["id" => "", "nickname" => "", "mobile" => "", "relaComNo" => "", "companyNo" => "", "roleid" => "", "token" => ""], "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",
|
|
|
+ ]);
|
|
|
+ if ($valide->check($post) == false) return json_show(1004, $valide->getError());
|
|
|
+ if ($post['roleid'] != 0) {
|
|
|
+ $roleinfo = Db::name("role")->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, "超管级别角色不允许设置");
|
|
|
}
|
|
|
- $effetc = VerifyTokens($token);
|
|
|
- if (!empty($effetc) && $effetc['code'] != 0) {
|
|
|
- return app_show($effetc['code'], $effetc['message']);
|
|
|
+ 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, "业务公司编号不能为空");
|
|
|
+
|
|
|
+ $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, "超管账户不允许设置其他角色");
|
|
|
+ $userrole = Db::name("user_role")
|
|
|
+ ->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)) {
|
|
|
+ $roledata = [
|
|
|
+ "uid" => $post['id'],
|
|
|
+ "roleid" => $post['roleid'],
|
|
|
+ "nickname" => $post['nickname'],
|
|
|
+ "companyNo" => $companyNo,
|
|
|
+ "company_type" => $company["type"] == 3 ? 2 : 1,
|
|
|
+ "is_main" => $ismain ? 0 : 1,
|
|
|
+ "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
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ $companyinfo = ["id" => $post['id'], "company" => $companyarr, "token" => $post['token']];
|
|
|
+
|
|
|
+ $userCommon = new \app\admin\common\User();
|
|
|
+ $rs = $userCommon->handle('setcompany', $companyinfo);
|
|
|
+ $companyset = json_decode($rs, true);
|
|
|
+
|
|
|
+ if (!isset($companyset['code']) || $companyset['code'] != 0) return json_show(1004, $companyset['message']);
|
|
|
+
|
|
|
+
|
|
|
+ $up = Db::name("user_role")->insert($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);
|
|
|
+ }
|
|
|
+ $saveinfo = [
|
|
|
+ "id" => $post['id'],
|
|
|
+ "nickname" => $post['nickname'],
|
|
|
+ "mobile" => $post['mobile'],
|
|
|
+ "token" => $post['token']
|
|
|
+ ];
|
|
|
+// $saev = resetinfo($saveinfo);
|
|
|
+ $userCommon = new \app\admin\common\User();
|
|
|
+ $rs = $userCommon->handle('usersave', $saveinfo);
|
|
|
+ $saev = json_decode($rs, true);
|
|
|
+ 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, '用户信息更新成功');
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ return json_show(1004, $e->getMessage());
|
|
|
}
|
|
|
- $uid = isset($post['id']) && $post['id'] !== '' ? intval($post['id']) : "";
|
|
|
- if ($uid === '') {
|
|
|
- return error_show(1004, "参数id 不能为空");
|
|
|
- }
|
|
|
- $role = isset($post['roleid']) && $post['roleid'] !== "" ? intval($post['roleid']) : "";
|
|
|
- if ($role === '') {
|
|
|
- return error_show(1004, "参数roleid 不能为空");
|
|
|
- }
|
|
|
- $isRole = Db::name('role')->where([['id', "=", $role], ['status', "=", 1]])->find();
|
|
|
- if (empty($isRole)) {
|
|
|
- return error_show(1004, "所选角色不存在");
|
|
|
- }
|
|
|
- $data = [
|
|
|
- 'uid' => $uid,
|
|
|
- 'roleid' => $role,
|
|
|
- 'status' => 1,
|
|
|
- 'addtime' => date('Y-m-d H:i:s'),
|
|
|
- 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
- ];
|
|
|
- $insert = Db::name('user_role')->insert($data);
|
|
|
- $st = ["order_code" => $uid, "status" => 1, "action_remark" => '', "action_type" => "create"];
|
|
|
- ActionLog::logAdd($token, $st, "resign_info", 1, $st);
|
|
|
- return $insert ? app_show(0, '数据新建成功') : error_show(1004, '数据新建失败');
|
|
|
}
|
|
|
|
|
|
//修改
|