From 85d76785cd5a49ee4e942419afd197bc7ee97d68 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 07 六月 2024 11:34:01 +0800 Subject: [PATCH] 工时bug修改+用户过滤10003 --- user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java | 76 +++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 34 deletions(-) diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java index a39fae2..55d622a 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java +++ b/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,11 @@ @Override public List<User> getUserMenu() { - return userMapper.selectList(Wrappers.<User>lambdaQuery().eq(User::getState, 1).select(User::getName, User::getId)); + List<Integer> roleIds = roleMapper.selectList(Wrappers.<Role>lambdaQuery() + .ne(Role::getCategory, 10003).or(wrapper -> wrapper.isNull(Role::getCategory))).stream().map(Role::getId).distinct().collect(Collectors.toList()); + return userMapper.selectList(Wrappers.<User>lambdaQuery() + .in(User::getRoleId, roleIds) + .eq(User::getState, 1).select(User::getName, User::getId)); } //鑾峰彇璁惧璐熻矗浜� @@ -103,7 +127,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 +150,10 @@ @Override @Transactional(rollbackFor = Exception.class) public int addPersonUser(PersonDto personDto) { - AtomicReference<String> departId = new AtomicReference<>("1,"); - 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()); @@ -155,23 +162,24 @@ 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()); + 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); } }); -- Gitblit v1.9.3