| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.campus.trade.service.admin;
- import com.campus.trade.common.BusinessException;
- import com.campus.trade.common.StatusCode;
- import com.campus.trade.entity.User;
- import com.campus.trade.mapper.UserMapper;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import jakarta.servlet.http.HttpSession;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.DigestUtils;
- import java.nio.charset.StandardCharsets;
- @Service
- public class UserManageService {
- @Autowired
- private UserMapper userMapper;
- // 用户列表
- public PageInfo<User> list(int pageNum, int pageSize) {
- PageHelper.startPage(pageNum, pageSize);
- return new PageInfo<>(userMapper.selectAll());
- }
- // 封禁用户
- public void ban(Long userId, HttpSession session) {
- User user = userMapper.selectById(userId);
- if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
- if ("ADMIN".equals(user.getRole())) {
- throw new BusinessException(StatusCode.FORBIDDEN, "不能封禁管理员");
- }
- user.setStatus("BANNED");
- userMapper.updateStatus(user);
- }
- // 解封用户
- public void unban(Long userId, HttpSession session) {
- User user = userMapper.selectById(userId);
- if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
- user.setStatus("NORMAL");
- userMapper.updateStatus(user);
- }
- // 重置密码(重置为 123456)
- public void resetPassword(Long userId, HttpSession session) {
- User user = userMapper.selectById(userId);
- if (user == null) throw new BusinessException(StatusCode.NOT_FOUND, "用户不存在");
- String defaultHash = DigestUtils.md5DigestAsHex(
- "123456".getBytes(StandardCharsets.UTF_8)
- );
- user.setPasswordHash(defaultHash);
- userMapper.updatePassword(user);
- }
- }
|