From 08cad817f057c4a10e1ea59e362fbb492f3381df Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 22 五月 2024 16:14:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 94 insertions(+), 9 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 867bd57..0952c4e 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,51 @@
 package com.yuanchu.mom.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 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.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 +60,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,"+user.getDepartId());
         return userMapper.insert(user);
     }
 
@@ -78,6 +91,78 @@
     @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));
+    }
+
+    @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;
     }
 }

--
Gitblit v1.9.3