| | |
| | | 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.PermissionBasic; |
| | | import com.example.erp.entity.userInfo.Role; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.entity.userInfo.User; |
| | | import com.example.erp.mapper.userInfo.UserMapper; |
| | | import com.example.erp.mapper.userInfo.*; |
| | | 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 org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | 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; |
| | | private final UserRoleMapper userRoleMapper; |
| | | |
| | | public UserService(UserMapper userMapper) { |
| | | private final PermissionRoleMapper permissionRoleMapper; |
| | | |
| | | public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper, UserRoleMapper userRoleMapper) { |
| | | this.userMapper = userMapper; |
| | | this.roleMapper = roleMapper; |
| | | this.permissionRoleMapper = permissionRoleMapper; |
| | | this.userRoleMapper = userRoleMapper; |
| | | } |
| | | |
| | | |
| | |
| | | return returnUser; |
| | | } |
| | | |
| | | @Transactional |
| | | public Boolean updatePassWord(Map<String,Object> object) { |
| | | boolean saveState = false; |
| | | int userId =0; |
| | | String oldPassWord = ""; |
| | | String passWord = ""; |
| | | if (object.get("userId") != null) { |
| | | userId = Integer.parseInt(object.get("userId").toString()); |
| | | } |
| | | if (object.get("oldPassword") != null) { |
| | | oldPassWord = object.get("oldPassword").toString(); |
| | | } |
| | | if (object.get("password") != null) { |
| | | passWord = object.get("password").toString(); |
| | | } |
| | | |
| | | User user =userMapper.findOnePassWord(userId,oldPassWord); |
| | | if (user!=null){ |
| | | if (userMapper.updatePassWordById(userId,passWord)){ |
| | | saveState = true; |
| | | } |
| | | } |
| | | return saveState; |
| | | |
| | | } |
| | | |
| | | /*----------------新版本登陆*/ |
| | | 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()); |
| | | Boolean userIsAdmin= userRoleMapper.getUserIsAdmin(user.getId()); |
| | | userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId(),userIsAdmin)); |
| | | return userDTO; |
| | | }else{ |
| | | return null; |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |