UserManageService.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.campus.trade.service.admin;
  2. import com.campus.trade.common.BusinessException;
  3. import com.campus.trade.common.StatusCode;
  4. import com.campus.trade.entity.User;
  5. import com.campus.trade.mapper.UserMapper;
  6. import com.github.pagehelper.PageHelper;
  7. import com.github.pagehelper.PageInfo;
  8. import jakarta.servlet.http.HttpSession;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.util.DigestUtils;
  12. import java.nio.charset.StandardCharsets;
  13. @Service
  14. public class UserManageService {
  15. @Autowired
  16. private UserMapper userMapper;
  17. // 用户列表
  18. public PageInfo<User> list(int pageNum, int pageSize) {
  19. PageHelper.startPage(pageNum, pageSize);
  20. return new PageInfo<>(userMapper.selectAll());
  21. }
  22. // 封禁用户
  23. public void ban(Long userId, HttpSession session) {
  24. User user = userMapper.selectById(userId);
  25. if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
  26. if ("ADMIN".equals(user.getRole())) {
  27. throw new BusinessException(StatusCode.FORBIDDEN, "不能封禁管理员");
  28. }
  29. user.setStatus("BANNED");
  30. userMapper.updateStatus(user);
  31. }
  32. // 解封用户
  33. public void unban(Long userId, HttpSession session) {
  34. User user = userMapper.selectById(userId);
  35. if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
  36. user.setStatus("NORMAL");
  37. userMapper.updateStatus(user);
  38. }
  39. // 重置密码(重置为 123456)
  40. public void resetPassword(Long userId, HttpSession session) {
  41. User user = userMapper.selectById(userId);
  42. if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
  43. String defaultHash = DigestUtils.md5DigestAsHex(
  44. "123456".getBytes(StandardCharsets.UTF_8)
  45. );
  46. user.setPasswordHash(defaultHash);
  47. userMapper.updatePassword(user);
  48. }
  49. }