logic = (new UserLogic()); } /** * 获取用户信息(包括菜单和权限) */ public function getUserInfo(int $uid, string $systemCode) { $user = $this->logic->userInfo($uid); $permService = new PermService(); $menuTree = $permService->getMenuTree($uid, $systemCode); $permissionCodes = $permService->getPermissionCodes($uid, $systemCode); return [ 'user' => [ 'id' => $user->id, 'name' => $user->name, 'avatar' => $user->avatar, 'phone' => $user->phone, 'email' => $user->email, 'status' => $user->status, 'roles' => $user->roles->pluck('name') ], 'menu' => $menuTree, 'permissions' => $permissionCodes ]; } /** * 获取用户信息(包括菜单和权限) */ public function getUser(int $uid, $corp_abbr) { $user = $this->logic->userInfo($uid); $corp_name = Corp::where('abbr', $corp_abbr)->value('name'); $ossservice = new OssService(); return [ 'id' => $user->id, 'sn' => $user->sn, 'name' => $user->name, 'position' => $user->position, 'socialize' => $user->socialize, 'socialize_pic' => $user->socialize_pic, 'socialize_pic_full' => (!empty($user->socialize_pic))?$ossservice->generatePrivateUrl($user->socialize_pic):'', 'country_id' => $user->country_id, 'country_txt' => Country::where('id',$user->country_id)->value('cn_addr'), 'avatar' => $user->avatar, 'avatar_full' => (!empty($user->avatar))?$ossservice->generatePrivateUrl($user->avatar):'', 'phone' => $user->phone, 'corp_name' => $corp_name, 'email' => $user->email, 'status' => $user->status, 'roles' => $user->roles->pluck('name') ]; } /** * 编辑用户信息 */ public function edit(int $uid, array $data) { unset($data['password']); unset($data['phone']); unset($data['email']); unset($data['sn']); $user = $this->logic->edit($uid,$data); return $user; } /** * 修改用户密码 */ public function savePassword(int $uid, array $data) { // 对密码进行哈希处理 $password = $data['password']; $user = User::find($uid); if (!password_verify($password, $user->password)) { throw new BusinessException('密码错误'); } $user = $this->logic->savePassword($uid,$data); return $user; } /** * 获取用户列表 */ public function getList() { return $this->logic->getList(); } }