| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | import org.springframework.util.DigestUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | 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 { |
| | |
| | | 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) { |
| | |
| | | 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 |
| | |
| | | |
| | | @Override |
| | | public int updateUser(User user) { |
| | | user.setDepartId("1,"+user.getDepartId()); |
| | | user.setDepartId("1," + user.getDepartId()); |
| | | return userMapper.updateById(user); |
| | | } |
| | | |
| | | @Override |
| | | public int addUser(User user) { |
| | | user.setDepartId("1,"+user.getDepartId()); |
| | | user.setDepartId("1"); |
| | | return userMapper.insert(user); |
| | | } |
| | | |
| | | @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)); |
| | | } |
| | | |
| | | //获取设备负责人 |
| | |
| | | @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 |
| | |
| | | @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())); |
| | | if(BeanUtil.isEmpty(user)){ |
| | | 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()); |
| | | user.setNameEn("not write"); |
| | | 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{ |
| | | } 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); |
| | | } |
| | | }); |
| | | return 1; |
| | | } |
| | | |
| | | @Override |
| | | public int upUserDepardLimsId(String ids, String id) { |
| | | List<Integer> userIds = JSON.parseArray(ids, Integer.class); |
| | | return userMapper.update(null, Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getDepartLimsId, id).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); |
| | | } |
| | | |
| | | @Override |
| | | 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(); |
| | | } |
| | | } |