From 05c569f74a1c94b84145abe34f2b2385d68fdec6 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期四, 23 五月 2024 01:21:54 +0800 Subject: [PATCH] 实现人员管理 --- user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 102 insertions(+), 10 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 9d8db2f..65c305d 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 @@ -1,40 +1,53 @@ package com.yuanchu.mom.service.impl; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; 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.common.GetLook; import com.yuanchu.mom.common.PrintChina; +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.UserMapper; +import com.yuanchu.mom.pojo.Departments; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.UserService; -import com.yuanchu.mom.utils.Jwt; +import com.yuanchu.mom.util.HeaderToken; import com.yuanchu.mom.utils.QueryWrappers; -import lombok.AllArgsConstructor; 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; @Service -@AllArgsConstructor public class UserServiceImp implements UserService { + @Resource UserMapper userMapper; - - Jwt jwt; - + @Resource private GetLook getLook; + + @Resource + private DepartmentsMapper departmentsMapper; + + @Resource + private HeaderToken headerToken; @Override public User selectUserByPwd(String account, String password) { QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("account", account).eq("password", DigestUtils.md5DigestAsHex(password.getBytes())).eq("state", 1); List<User> list = userMapper.selectList(wrapper); - return list.size()>0?list.get(0):null; + return list.size() > 0 ? list.get(0) : null; } //鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛鍚� @@ -49,18 +62,20 @@ Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(UserPageDto.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectUserList"); - if(map1.get("look")==1) user.setCreateUser(map1.get("userId")); + if (map1.get("look") == 1) user.setCreateUser(map1.get("userId")); map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user))); return map; } @Override public int updateUser(User user) { + user.setDepartId("1," + user.getDepartId()); return userMapper.updateById(user); } @Override public int addUser(User user) { + user.setDepartId("1"); return userMapper.insert(user); } @@ -78,12 +93,89 @@ @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)); + 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)); } @Override public User getUserInfo() { Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); - return userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map1.get("userId")).select(User::getId,User::getCompany,User::getName,User::getCode)); + return userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map1.get("userId")).select(User::getId, User::getCompany, User::getName, User::getCode)); + } + + @Override + public int upUserPassword(String oldPassword, String newPassWord) { + Map<String, Integer> map = getLook.selectPowerByMethodAndUserId(null); + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map.get("userId")).eq(User::getPassword, DigestUtils.md5DigestAsHex(oldPassword.getBytes())).select(User::getId)); + if (BeanUtil.isEmpty(user)) { + throw new ErrorException("瀵嗙爜涓嶆纭�"); + } + user.setPassword(DigestUtils.md5DigestAsHex(newPassWord.getBytes())); + return userMapper.updateById(user); + } + + @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)) { + 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()); + user.setAddress("鏈~鍐�"); + 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.setCreateUser(null); + user.setCreateTime(null); + user.setUpdateUser(null); + user.setUpdateTime(null); + 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"))); } } -- Gitblit v1.9.3