| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.trafficaudit.common.Result; |
| | | import com.trafficaudit.security.utils.JwtUtils; |
| | | import com.trafficaudit.system.entity.User; |
| | | import com.trafficaudit.system.mapper.UserMapper; |
| | | import org.springframework.security.crypto.password.PasswordEncoder; |
| | |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private PasswordEncoder passwordEncoder; |
| | | @Resource |
| | | private JwtUtils jwtUtils; |
| | | |
| | | @GetMapping("/list") |
| | | public Result<List<Map<String, Object>>> list(@RequestParam(value = "keyword", required = false) String keyword) { |
| | |
| | | return Result.ok(null); |
| | | } |
| | | |
| | | /** admin 重置他人密码为 123456 */ |
| | | @PostMapping("/reset-password") |
| | | public Result<Void> resetPassword(@RequestHeader(value = "Authorization", required = false) String auth, |
| | | @RequestBody Map<String, Object> params) { |
| | | String operator = jwtUtils.resolveUsername(auth); |
| | | if (operator == null) { |
| | | return Result.error(401, "未登录或登录已过期"); |
| | | } |
| | | if (!"admin".equals(operator)) { |
| | | return Result.error(403, "仅 admin 可以重置其他用户密码"); |
| | | } |
| | | Object idObj = params.get("id"); |
| | | if (idObj == null) { |
| | | return Result.error(400, "缺少用户 id"); |
| | | } |
| | | Long id = Long.valueOf(idObj.toString()); |
| | | User u = userMapper.selectById(id); |
| | | if (u == null) { |
| | | return Result.error(404, "用户不存在"); |
| | | } |
| | | if ("admin".equals(u.getUsername())) { |
| | | return Result.error(400, "admin 密码不允许重置"); |
| | | } |
| | | u.setPassword(passwordEncoder.encode("123456")); |
| | | userMapper.updateById(u); |
| | | return Result.ok(null); |
| | | } |
| | | |
| | | @PostMapping("/delete") |
| | | public Result<Void> delete(@RequestParam("id") Long id) { |
| | | User u = userMapper.selectById(id); |