zss
2024-12-10 8d4ad0d13ef71e22cc1036e2c6c00aafb20ed597
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -10,12 +11,13 @@
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.DepartmentsMapper;
import com.yuanchu.mom.mapper.RoleMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.Departments;
import com.yuanchu.mom.pojo.Custom;
import com.yuanchu.mom.pojo.Role;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.CustomService;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.util.HeaderToken;
import com.yuanchu.mom.utils.QueryWrappers;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -26,7 +28,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.stream.Collectors;
@Service
public class UserServiceImp implements UserService {
@@ -37,10 +40,10 @@
    private GetLook getLook;
    @Resource
    private DepartmentsMapper departmentsMapper;
    private RoleMapper roleMapper;
    @Resource
    private HeaderToken headerToken;
    private CustomService customService;
    @Override
    public User selectUserByPwd(String account, String password) {
@@ -63,8 +66,25 @@
        map.put("head", PrintChina.printChina(UserPageDto.class));
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectUserList");
        if (map1.get("look") == 1) user.setCreateUser(map1.get("userId"));
        map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user)));
        return map;
        try {
            if (user.getRoleId() > 10000) {
                if (user.getRoleId() != 10001) {
                    List<Integer> ids = roleMapper.getRoleByDepart(user.getRoleId());
                    user.setRoleId(null);
                    map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user).in("role_id", ids)));
                    return map;
                } else {
                    user.setRoleId(null);
                    map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user)));
                    return map;
                }
            }
            map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user).eq("role_id", user.getRoleId())));
            return map;
        } catch (NullPointerException e) {
            map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user)));
            return map;
        }
    }
    @Override
@@ -91,7 +111,8 @@
    @Override
    public List<User> getUserMenu() {
        return userMapper.selectList(Wrappers.<User>lambdaQuery().eq(User::getState, 1).select(User::getName, User::getId));
        return userMapper.selectList(Wrappers.<User>lambdaQuery()
                .eq(User::getState, 1).select(User::getName, User::getId));
    }
    //获取设备负责人
@@ -103,7 +124,7 @@
    @Override
    public User getUserNow() {
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
        return userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map1.get("userId")).eq(User::getIsCustom, 1).select(User::getId, User::getCompany, User::getName, User::getCode, User::getPhone));
        return userMapper.getCustom(map1.get("userId"));
    }
    @Override
@@ -126,27 +147,10 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addPersonUser(PersonDto personDto) {
        AtomicReference<String> departId = new AtomicReference<>("");
        AtomicReference<String> companyName = new AtomicReference<>();
        personDto.getCompany().forEach(company -> {
            Departments department = departmentsMapper.selectOne(Wrappers.<Departments>lambdaQuery().eq(Departments::getCompanyId, company.getCompanyId()));
            if (BeanUtil.isEmpty(department)) {
                department = new Departments();
                department.setName(company.getCompanyName());
                department.setCompanyId(company.getCompanyId());
                Departments department2 = departmentsMapper.selectOne(Wrappers.<Departments>lambdaQuery().eq(Departments::getCompanyId, company.getParentCompanyId()));
                if (BeanUtil.isEmpty(department2)) {
                    department.setFatherId(1);
                } else {
                    department.setFatherId(department2.getId());
                }
                departmentsMapper.insert(department);
            }
            departId.set(departId.get() + department.getId() + ",");
            companyName.set(department.getName());
        });
        personDto.getPerson().forEach(person -> {
            User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID()));
            String companyName = personDto.getCompany().stream().filter(a -> a.getCompanyId().equals(person.getCompanyId())).findFirst().get().getCompanyName();
            Custom custom = customService.getCustomId(companyName);
            if (BeanUtil.isEmpty(user)) {
                user = new User();
                user.setName(person.getName());
@@ -154,24 +158,25 @@
                user.setAccount(person.getEmployeeID());
                user.setPhone(person.getPhoneNumber());
                user.setEmail(person.getCompanyEmail());
                user.setIsCustom(person.getCompanyId().equals("SC2463") ? 0 : 1);
                user.setDepartId(departId.get());
//                user.setPassword(DigestUtils.md5DigestAsHex(headerToken.getPassword(person.getEmployeeID()).getBytes()));
                user.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes()));
                user.setCompany(companyName.get());
                //todo 根据客户公司的编号而改变
                user.setIsCustom(person.getCompanyId().equals("SC2301") ? 0 : 1);
                user.setPassword(DigestUtils.md5DigestAsHex("zttZTT123!".getBytes()));
                user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName);
                user.setAddress("未填写");
                user.setRoleId(personDto.getRoleId() > 10000 ? 0 : personDto.getRoleId());
                user.setCompanyId(person.getCompanyId());
                userMapper.insert(user);
            } else {
                user.setName(person.getName());
                user.setPhone(person.getPhoneNumber());
                user.setEmail(person.getCompanyEmail());
                user.setIsCustom(person.getCompanyId().equals("SC2463") ? 0 : 1);
                user.setDepartId(departId.get());
                user.setCompany(companyName.get());
                user.setIsCustom(0);
                user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName);
                user.setCreateUser(null);
                user.setCreateTime(null);
                user.setUpdateUser(null);
                user.setUpdateTime(null);
                user.setCompanyId(person.getCompanyId());
                userMapper.updateById(user);
            }
        });
@@ -188,4 +193,9 @@
    public int delUserDepardLimsId(Integer id) {
        return userMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateUser, getLook.selectPowerByMethodAndUserId(null).get("userId")));
    }
    @Override
    public List<User> getUser() {
        return userMapper.getUser();
    }
}