guoyujie
5 小时以前 91b61fe723df498d62c596372521d426299f0f8b
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,24 +5,17 @@
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.User;
import com.example.erp.mapper.userInfo.PermissionBasicMapper;
import com.example.erp.mapper.userInfo.PermissionRoleMapper;
import com.example.erp.mapper.userInfo.RoleMapper;
import com.example.erp.mapper.userInfo.UserMapper;
import com.example.erp.mapper.pp.ProductionSchedulingMapper;
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 java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service
@DS("user_info")
@@ -30,13 +23,17 @@
    private final UserMapper userMapper;
    private final RoleMapper roleMapper;
    private final UserRoleMapper userRoleMapper;
   private final PermissionRoleMapper permissionRoleMapper;
    private final ProductionSchedulingMapper productionSchedulingMapper;
    public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper) {
    public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper, UserRoleMapper userRoleMapper, ProductionSchedulingMapper productionSchedulingMapper) {
        this.userMapper = userMapper;
        this.roleMapper = roleMapper;
        this.permissionRoleMapper = permissionRoleMapper;
        this.userRoleMapper = userRoleMapper;
        this.productionSchedulingMapper = productionSchedulingMapper;
    }
@@ -81,10 +78,58 @@
        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;
    }
    @Transactional
    public Boolean updateUserName(Map<String,Object> object) {
        boolean saveState = false;
        int userId =0;
        String userName = "";
        if (object.get("userId") != null) {
            userId = Integer.parseInt(object.get("userId").toString());
        }
        if (object.get("userName") != null) {
            userName = object.get("userName").toString();
        }
        if (userMapper.updateUserNameById(userId,userName)){
            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()));
                eq("login_name", userDTO.getUserId())
                .eq("password", userDTO.getPass())
                .eq("state",1)
        );
        if(user!=null){
            //检查是让有登录,有登录直接退出
            StpUtil.logout(user.getId());
@@ -93,8 +138,10 @@
            userDTO.setPass(null);
            userDTO.setId(user.getId());
            userDTO.setUserName(user.getUserName());
            userDTO.setAddress(user.getAddress());
            userDTO.setToken(StpUtil.getTokenValue());
            userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId()));
            Boolean userIsAdmin= userRoleMapper.getUserIsAdmin(user.getId());
            userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId(),userIsAdmin));
            return userDTO;
        }else{
            return null;
@@ -132,5 +179,43 @@
        return userMapper.userDelete(id);
    }
    public Map<String, Object> selectProcessSv() {
        Map<String, Object> map = new HashMap<>();
        map.put("process", productionSchedulingMapper.selectProcess());
        return map;
    }
    public Boolean updateProcessSv(Integer id, String process) {
        return userMapper.updateProcessMp(id,process);
    }
    public Object findByAddress(Map<String,String> userName) {
        if(Objects.equals(userName.get("userName"), "")){
            userName.put("userName", null) ;
        }
        List<User> users = userMapper.findByAddress(userName.get("userName"));
        List<Map<String,Object>> userList = new ArrayList<>();
        users.forEach(user -> {
            Map<String,Object> userMap = new HashMap<>();
            userMap.put("value", user.getLoginName());
            userMap.put("text", user.getUserName());
            userList.add(userMap);
        });
        Map<String,List<Object>> map = new HashMap<>();
        map.put("users", Collections.singletonList(userList));
        return map;
    }
//查询用户优化参数
public String getOptimizeParms(String username) {
    // 获取当前登录用户
        return userMapper.selectOptimizeParmsById(username);
    }
}