From 2b30df90a4e281c2a37c2933a7389ea0c149ffcc Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期五, 17 五月 2024 03:28:16 +0800
Subject: [PATCH] 人事对接

---
 framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java              |    8 --
 user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java            |    9 +++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java             |    9 ++
 user-server/src/main/resources/mapper/DepartmentsMapper.xml                |    4 +
 user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java                |    5 +
 inspect-server/src/main/resources/static/report-template.docx              |    0 
 user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java             |    2 
 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java |   61 +++++++++++++++++++-
 user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java    |   12 ++++
 user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java            |   46 +++++++++++++++
 user-server/src/main/java/com/yuanchu/mom/pojo/User.java                   |    8 --
 11 files changed, 142 insertions(+), 22 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java
index 4d846cf..b02685c 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java
@@ -4,12 +4,13 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import java.time.LocalDateTime;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -35,13 +36,17 @@
     @ApiModelProperty("鐖剁骇id")
     private Integer fatherId;
 
+    @TableField(fill = FieldFill.INSERT)
     private Integer createUser;
 
     @TableField(fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
+    @TableField(fill = FieldFill.INSERT_UPDATE)
     private Integer updateUser;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private LocalDateTime updateTime;
+
+    private String companyId;
 }
diff --git a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
index ec032d3..1fa10c5 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
@@ -1,16 +1,12 @@
 package com.yuanchu.mom.config;
 
-import cn.hutool.log.Log;
-import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
 import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.converter.HttpMessageConverter;
 import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
@@ -63,8 +59,8 @@
 
     @Override
     protected void addInterceptors(InterceptorRegistry registry) {
-//        registry.addInterceptor(fiferConfig).addPathPatterns("/**");
-//        registry.addInterceptor(powerConfig).addPathPatterns("/**");
+        registry.addInterceptor(fiferConfig).addPathPatterns("/**");
+        registry.addInterceptor(powerConfig).addPathPatterns("/**");
         registry.addInterceptor(logConfig).addPathPatterns("/**");
         super.addInterceptors(registry);
     }
diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx
index 8d3e75d..56fcb57 100644
--- a/inspect-server/src/main/resources/static/report-template.docx
+++ b/inspect-server/src/main/resources/static/report-template.docx
Binary files differ
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
index d959ddd..173f547 100644
--- a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
@@ -12,11 +12,9 @@
 @NoArgsConstructor
 public class UserPageDto extends User {
 
-    @ValueTableShow(10)
     @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
     private String createUserName;
 
-    @ValueTableShow(11)
     @ApiModelProperty(value = "鏇存柊鐢ㄦ埛")
     private String updateUserName;
 
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java
new file mode 100644
index 0000000..ff12ec0
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java
@@ -0,0 +1,12 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.pojo.Departments;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface DepartmentsMapper extends BaseMapper<Departments> {
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java b/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java
index 1e338b4..b16a664 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java
@@ -36,4 +36,9 @@
 
     public static String simple="https://ztt-connector.chinaztt.cn/api/org/v1/employees/simple?companyId=";
 
+    /**
+     * 浜哄憳瀵嗙爜鑾峰彇
+     * */
+    public static String password = "https://ztt-connector.chinaztt.cn/api/org/v1/employees/original_pwd/";
+
 }
\ No newline at end of file
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java
new file mode 100644
index 0000000..65010a4
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java
@@ -0,0 +1,46 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 閮ㄩ棬鏄庣粏
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-04-15 04:01:48
+ */
+@Data
+@ApiModel(value = "Department瀵硅薄", description = "閮ㄩ棬鏄庣粏")
+@TableName("department")
+public class Departments implements Serializable {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("鍚嶇О")
+    private String name;
+
+    @ApiModelProperty("鐖剁骇id")
+    private Integer fatherId;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    private String companyId;
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
index ab26b1b..be0c63e 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
@@ -35,7 +35,6 @@
     @ApiModelProperty(value = "濮撳悕")
     private String name;
 
-    @ValueTableShow(2)
     @ApiModelProperty(value = "濮撳悕EN")
     private String nameEn;
 
@@ -43,11 +42,9 @@
     @ApiModelProperty(value = "鐘舵��")
     private Integer state;
 
-    @ValueTableShow(4)
     @ApiModelProperty(value = "骞撮緞")
     private Integer age;
 
-    @ValueTableShow(5)
     @ApiModelProperty(value = "閭")
     private String email;
 
@@ -58,24 +55,20 @@
     @ApiModelProperty(value = "閮ㄩ棬")
     private String department;
 
-    @ValueTableShow(8)
     @ApiModelProperty(value = "鍗曚綅")
     private String company;
 
-    @ValueTableShow(14)
     @ApiModelProperty(value = "鍗曚綅鍦板潃")
     private String address;
 
     @ApiModelProperty(value = "瑙掕壊涓婚敭")
     private Integer roleId;
 
-    @ValueTableShow(9)
     @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
-    @ValueTableShow(10)
     @ApiModelProperty(value = "鏇存柊鏃ユ湡")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -108,7 +101,6 @@
     /**
      * 缁勭粐
      */
-//    @ValueTableShow(value = 14,name = "缁勭粐")
     @ApiModelProperty(value = "鍏宠仈鐨勯儴闂╥d")
     private String departId;
 
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 92bf542..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
@@ -9,10 +9,12 @@
 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 org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +24,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicReference;
 
 @Service
 public class UserServiceImp implements UserService {
@@ -29,11 +32,13 @@
     @Resource
     UserMapper userMapper;
     @Resource
-    Jwt jwt;
-    @Resource
     private GetLook getLook;
 
+    @Resource
+    private DepartmentsMapper departmentsMapper;
 
+    @Resource
+    private HeaderToken headerToken;
 
     @Override
     public User selectUserByPwd(String account, String password) {
@@ -109,7 +114,55 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addPersonUser(PersonDto personDto) {
-        System.out.println(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;
     }
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java b/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java
index f1792a4..3af736a 100644
--- a/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java
+++ b/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java
@@ -98,4 +98,13 @@
             return false;
         }).collect(Collectors.toList());
     }
+
+    public String getPassword(String employeeId) {
+        String accessToken = getAccessToken();
+        HttpRequest request = HttpRequest.get(AuthApi.password + employeeId)
+                .header("Authorization", "Bearer " + accessToken);
+        System.out.println(AuthApi.password + employeeId);
+        System.out.println(request.execute().body());
+        return JSON.parseObject(request.execute().body()).get("originalPwd").toString();
+    }
 }
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/DepartmentsMapper.xml b/user-server/src/main/resources/mapper/DepartmentsMapper.xml
new file mode 100644
index 0000000..6816efa
--- /dev/null
+++ b/user-server/src/main/resources/mapper/DepartmentsMapper.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yuanchu.mom.mapper.DepartmentsMapper">
+</mapper>

--
Gitblit v1.9.3