request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10], 'post', 'trim'); $userCommon = new UserCommon(); $rs = json_decode($userCommon->handle('userCompanyList', $param), true); if (isset($rs['code']) && $rs['code'] == 0) { //补充角色信息 foreach ($rs['data']['list'] as &$item) { $tmp = Db::name('user_role') ->alias('a') ->field('b.role_name,b.level') ->leftJoin('role b', 'b.id=a.roleid') ->where(['a.uid' => $item['account_id'], 'is_del' => 0, 'a.supplierNo' => $item['companyCode']]) ->findOrEmpty(); $item['role_name'] = $tmp['role_name'] ?? ''; $item['level'] = $tmp['level'] ?? ''; } } return json_show($rs['code'], $rs['message'], $rs['data']); } //编辑 public function update() { $param = $this->request->only(['account_id', 'role_supplierNo', 'roleid'], 'post'); $val = Validate::rule([ 'account_id|账户id' => 'require|number|gt:0', 'role_supplierNo|公司编码' => 'require|length:18', 'roleid|角色' => 'require|number|gt:0', ]); if (!$val->check($param)) return json_show(1004, $val->getError()); $role = Db::name('role') ->field('id') ->where('id', $param['roleid']) ->where('level', '<>', 1) ->findOrEmpty(); if (empty($role)) return json_show(1004, '角色不存在或等级不符合要求'); $tmp = Db::name('user_role') ->field('id') ->where(['uid' => $param['account_id'], 'supplierNo' => $param['role_supplierNo'], 'is_del' => 0]) ->findOrEmpty(); $date = date('Y-m-d H:i:s'); if (empty($tmp)) { $rs = Db::name('user_role') ->insert([ 'uid' => $param['account_id'], 'supplierNo' => $param['role_supplierNo'], 'roleid' => $param['roleid'], 'status' => 1, 'is_del' => 0, 'addtime' => $date, 'updatetime' => $date ]); } else { $rs = Db::name('user_role') ->where(['id' => $tmp['id']]) ->update(['roleid' => $param['roleid'], 'updatetime' => $date]); } // $userCommon = new UserCommon(); // $rs = json_decode($userCommon->handle('userCompanyUpdate', $param), true); return $rs ? json_show(0, '修改成功') : json_show(1004, '修改失败'); } //启禁用 public function status() { $param = $this->request->only(['id', 'status'], 'post', 'trim'); $userCommon = new UserCommon(); $rs = json_decode($userCommon->handle('userCompanyStatus', $param), true); return json_show($rs['code'], $rs['message'], $rs['data']); } //详情 public function info() { $param = $this->request->post(['id'], 'post', 'trim'); $userCommon = new UserCommon(); $rs = json_decode($userCommon->handle('userCompanyInfo', $param), true); if (isset($rs['code']) && $rs['code'] == 0) { $tmp = Db::name('user_role') ->alias('a') ->field('b.role_name,b.level') ->leftJoin('role b', 'b.id=a.roleid') ->where(['a.uid' => $rs['data']['account_id'], 'is_del' => 0, 'a.supplierNo' => $rs['data']['companyCode']]) ->findOrEmpty(); $rs['data']['role_name'] = $tmp['role_name'] ?? ''; $rs['data']['level'] = $tmp['level'] ?? ''; } return json_show($rs['code'], $rs['message'], $rs['data']); } }