| | |
| | | @RequestMapping(value = "/user/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") Long id) { |
| | | return R.ok(userService.getById(String.valueOf(id))); |
| | | User user = userService.getById(String.valueOf(id)); |
| | | sanitizeUser(user); |
| | | return R.ok(user); |
| | | } |
| | | |
| | | @RequestMapping(value = "/user/list/auth") |
| | |
| | | QueryWrapper<User> wrapper = new QueryWrapper<>(); |
| | | convert(param, wrapper); |
| | | wrapper.orderBy(true, false, "id"); |
| | | Page<User> page; |
| | | if (9527 == getUserId()) { |
| | | return R.ok(userService.page(new Page<>(curr, limit), wrapper)); |
| | | page = userService.page(new Page<>(curr, limit), wrapper); |
| | | sanitizeUsers(page.getRecords()); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | Long roleId = getUser().getRoleId(); |
| | |
| | | wrapper.notIn("role_id", leaderIds); |
| | | } |
| | | |
| | | return R.ok(userService.page(new Page<>(curr, limit), wrapper)); |
| | | page = userService.page(new Page<>(curr, limit), wrapper); |
| | | sanitizeUsers(page.getRecords()); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | private void convert(Map<String, Object> map, QueryWrapper wrapper){ |
| | |
| | | wrapper.set("role_id", user.getRoleId()); |
| | | needUpdate = true; |
| | | } |
| | | if (user.getStatus() != null) { |
| | | wrapper.set("status", user.getStatus()); |
| | | needUpdate = true; |
| | | } |
| | | if (user.getMfaAllow() != null) { |
| | | int mfaAllow = normalizeMfaAllow(user.getMfaAllow()); |
| | | wrapper.set("mfa_allow", mfaAllow); |
| | |
| | | .eq("id", user.getId()) |
| | | .set("password", password)); |
| | | userLoginService.remove(new QueryWrapper<UserLogin>().eq("user_id", user.getId()).eq("system_type", "WCS")); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/user/resetPassword/auth") |
| | | @ManagerAuth(memo = "系统用户重置密码") |
| | | public R resetPassword(Long id, String password) { |
| | | if (id == null || Cools.isEmpty(password)) { |
| | | return R.error(); |
| | | } |
| | | User user = userService.getById(id); |
| | | if (Cools.isEmpty(user)) { |
| | | return new R(10001, i18nMessageService.getMessage("response.user.notFound")); |
| | | } |
| | | userService.update(new UpdateWrapper<User>() |
| | | .eq("id", id) |
| | | .set("password", password)); |
| | | userLoginService.remove(new QueryWrapper<UserLogin>().eq("user_id", id).eq("system_type", "WCS")); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | return Integer.valueOf(1).equals(mfaAllow) ? 1 : 0; |
| | | } |
| | | |
| | | private void sanitizeUsers(List<User> users) { |
| | | if (users == null) { |
| | | return; |
| | | } |
| | | for (User user : users) { |
| | | sanitizeUser(user); |
| | | } |
| | | } |
| | | |
| | | private void sanitizeUser(User user) { |
| | | if (user == null) { |
| | | return; |
| | | } |
| | | user.setPassword(null); |
| | | user.setMfaSecret(null); |
| | | user.setPasskeyCredentialId(null); |
| | | user.setPasskeyPublicKey(null); |
| | | user.setPasskeyAlgorithm(null); |
| | | user.setPasskeySignCount(null); |
| | | user.setPasskeyTransports(null); |
| | | } |
| | | |
| | | } |