package com.example.erp.service.userInfo;
|
|
import cn.dev33.satoken.stp.StpUtil;
|
import cn.hutool.core.util.StrUtil;
|
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.User;
|
import com.example.erp.mapper.userInfo.UserMapper;
|
import com.example.erp.tools.TokenTools;
|
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
@DS("user_info")
|
public class UserService {
|
|
private final UserMapper userMapper;
|
|
public UserService(UserMapper userMapper) {
|
this.userMapper = userMapper;
|
}
|
|
|
@Cacheable(value="users", key="#userDTO.getUserId()")
|
public UserDTO login(UserDTO userDTO) {
|
|
if(StrUtil.isBlank(userDTO.getUserId()) ||StrUtil.isBlank(userDTO.getPass())){
|
return null;
|
}else{
|
int getUserCount=userMapper.checkUser(userDTO.getUserId(),userDTO.getPass());
|
if(getUserCount==1){
|
String token = TokenTools.getToken(userDTO.getUserId(),userDTO.getPass());
|
userDTO.setToken(token);
|
User user = userMapper.findOneLoginName(userDTO.getUserId());
|
userDTO.setUserName(user.getUserName());
|
return userDTO;
|
}
|
return null;
|
|
}
|
}
|
|
@CacheEvict(value="users",key="#id",beforeInvocation=true)
|
public String deleteCache(String id ) {
|
//System.out.println("delete user by id: " + id);
|
return null;
|
|
}
|
|
public String getUserByID(String userId){
|
return userMapper.getUserByID(userId);
|
}
|
|
@Transactional
|
public User register(User user) {
|
User returnUser = new User();
|
if(userMapper.register(user)){
|
User getUser = userMapper.findOne(user.getId());
|
returnUser.setUserName(getUser.getUserName());
|
returnUser.setLoginName(getUser.getLoginName());
|
}
|
return returnUser;
|
}
|
|
/*----------------新版本登陆*/
|
public UserDTO doLogin(UserDTO userDTO) {
|
User user = userMapper.selectOne(new QueryWrapper<User>().
|
eq("login_name", userDTO.getUserId()).eq("password", userDTO.getPass()));
|
if(user!=null){
|
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{
|
return null;
|
}
|
}
|
|
public Boolean isLogin() {
|
// 返回当前用户是否登录
|
return StpUtil.isLogin();
|
}
|
|
public Boolean logout() {
|
StpUtil.logout();
|
return true;
|
}
|
}
|