guoyuji
2024-05-09 f93960436b42dff6bc965cd8a24d247cda17d79e
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,22 +5,32 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.controller.dto.UserDTO;
import com.example.erp.entity.userInfo.Role;
import com.example.erp.entity.userInfo.User;
import com.example.erp.mapper.userInfo.RoleMapper;
import com.example.erp.mapper.userInfo.UserMapper;
import com.example.erp.tools.TokenTools;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@DS("user_info")
public class UserService {
    private final UserMapper userMapper;
    private final RoleMapper roleMapper;
    public UserService(UserMapper userMapper) {
    public UserService(UserMapper userMapper, RoleMapper roleMapper) {
        this.userMapper = userMapper;
        this.roleMapper = roleMapper;
    }
@@ -70,8 +80,13 @@
        User user = userMapper.selectOne(new QueryWrapper<User>().
                eq("login_name", userDTO.getUserId()).eq("password", userDTO.getPass()));
        if(user!=null){
            StpUtil.login(userDTO.getUserId());
            //检查是让有登录,有登录直接退出
            StpUtil.logout(user.getId());
            //重新进行登录
            StpUtil.login(user.getId());
            userDTO.setPass(null);
            userDTO.setId(user.getId());
            userDTO.setUserName(user.getUserName());
            userDTO.setToken(StpUtil.getTokenValue());
            return userDTO;
        }else{
@@ -88,5 +103,27 @@
        StpUtil.logout();
        return true;
    }
    public Map<String,List<Object>> findAll() {
        List<User> users = userMapper.findAll();
        users.forEach(user -> {
            user.setPassword(null);
        });
        Map<String,List<Object>> map = new HashMap<>();
        map.put("users", Collections.singletonList(users));
        map.put("role", Collections.singletonList(
                roleMapper.selectList(
                new QueryWrapper<Role>()
                        .ne("role","admin")
                )
        ));
        return map;
    }
    public Boolean userDelete(Integer id) {
        return userMapper.userDelete(id);
    }
}