From 2e89bb115815ca329c6fd54d6d987779791c657c Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 30 五月 2024 22:35:37 +0800
Subject: [PATCH] 大改用户和客户

---
 user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java     |   25 ++-
 user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java                  |    2 
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java                    |    2 
 user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java                       |    4 
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java |    5 
 user-server/src/main/java/com/yuanchu/mom/pojo/Custom.java                        |   66 ++++------
 user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java                   |    2 
 user-server/src/main/resources/mapper/RoleMapper.xml                              |    5 
 cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java    |    8 +
 user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java        |    1 
 user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java                  |    2 
 user-server/src/main/java/com/yuanchu/mom/pojo/Person.java                        |    2 
 user-server/src/main/java/com/yuanchu/mom/service/CustomService.java              |    9 +
 framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java                  |   12 -
 cnas-server/src/main/resources/mapper/DepartmentMapper.xml                        |    3 
 user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java                      |    2 
 user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java                   |   67 ++++++++++-
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java                   |    2 
 user-server/src/main/java/com/yuanchu/mom/pojo/Role.java                          |    5 
 user-server/src/main/resources/mapper/UserMapper.xml                              |    5 
 cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java            |    2 
 user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java     |    9 +
 user-server/src/main/java/com/yuanchu/mom/controller/UserController.java          |   16 ++
 user-server/src/main/java/com/yuanchu/mom/mapper/CustomMapper.java                |    2 
 cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java          |    2 
 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java        |   57 ++++-----
 user-server/src/main/resources/mapper/CustomMapper.xml                            |    9 -
 27 files changed, 218 insertions(+), 108 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
index 9efef9b..b7f8a9e 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.controller;
 
+import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.annotation.ValueClassify;
 import com.yuanchu.mom.pojo.Department;
 import com.yuanchu.mom.pojo.DepartmentLims;
@@ -68,4 +69,11 @@
     public Result delDepartmentLims(Integer id) {
         return Result.success(departmentLimsService.delDepartment(id));
     }
+
+    @ValueAuth
+    @ApiOperation(value = "鑾峰彇缁勭粐鏋舵瀯鏋氫妇")
+    @GetMapping("/selectDepartmentEnum")
+    public Result selectDepartmentEnum() {
+        return Result.success(departmentService.selectDepartmentEnum());
+    }
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
index 53a0e62..ac4ae36 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
@@ -22,4 +22,6 @@
 
     //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d
     List<Integer> selectSonById(Integer id);
+
+    List<DepartmentDto> selectCustomList();
 }
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 b02685c..c2f9a02 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
@@ -47,6 +47,4 @@
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private LocalDateTime updateTime;
-
-    private String companyId;
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
index 2b6e5bb..8abef0f 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
@@ -24,4 +24,6 @@
 
     //鍒犻櫎閮ㄩ棬
     boolean delDepartment(Integer id);
+
+    List<Department> selectDepartmentEnum();
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
index 53f8b46..9292f5a 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
@@ -47,6 +47,7 @@
     @Override
     public List<DepartmentDto> selectDepartment() {
         List<DepartmentDto> departments = departmentMapper.selectDepartment();
+        departments.addAll(departmentMapper.selectCustomList());
         //鑾峰彇鐖惰妭鐐�
         List<DepartmentDto> collect = departments.stream().filter(m -> m.getFatherId() == null).peek(
                 (m) -> m.setChildren(getChildren(m, departments))
@@ -89,4 +90,8 @@
         return list;
     }
 
+    @Override
+    public List<Department> selectDepartmentEnum() {
+        return departmentMapper.selectList(Wrappers.<Department>lambdaQuery().isNotNull(Department::getFatherId).select(Department::getId,Department::getName));
+    }
 }
diff --git a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
index ad9d0f4..463e3ba 100644
--- a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
@@ -18,4 +18,7 @@
         WHERE id = #{id}
         ORDER BY id
     </select>
+    <select id="selectCustomList" resultType="com.yuanchu.mom.dto.DepartmentDto">
+        select id, name, category fatherId from role;
+    </select>
 </mapper>
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
index 4639e15..8ca8fa6 100644
--- a/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
+++ b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
@@ -2,22 +2,18 @@
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
-import lombok.CustomLog;
 import org.springframework.stereotype.Component;
 
-import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /*
  * 鏉庢灄
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
index d141779..2281682 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -201,4 +201,6 @@
 
     private String productionEn;
 
+    private Long companyId;
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java b/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
index 08729b4..b1e4805 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
@@ -4,6 +4,7 @@
 import com.yuanchu.mom.annotation.ValueClassify;
 import com.yuanchu.mom.dto.PersonDto;
 import com.yuanchu.mom.pojo.Company;
+import com.yuanchu.mom.pojo.Person;
 import com.yuanchu.mom.service.UserService;
 import com.yuanchu.mom.util.HeaderToken;
 import com.yuanchu.mom.vo.Result;
@@ -45,4 +46,12 @@
         return Result.success(userService.addPersonUser(personDto));
     }
 
+    @ValueAuth
+    @ApiOperation("閫氳繃鍛樺伐鍙疯幏鍙栧憳宸�")
+    @PostMapping(value = "/selectPersonUser")
+    public Result<?> selectPersonUser(String code) {
+        Person person = headerToken.selectPersonUser(code);
+        return Result.success(person);
+    }
+
 }
\ No newline at end of file
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index 862d38e..c574998 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.annotation.ValueClassify;
-import com.yuanchu.mom.dto.Custom;
+import com.yuanchu.mom.pojo.Custom;
 import com.yuanchu.mom.dto.UserPageDto;
 import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.CustomService;
@@ -153,6 +153,13 @@
         return Result.success(customService.addCustom(custom));
     }
 
+    @ValueClassify("瀹㈡埛绠$悊")
+    @ApiOperation(value = "淇敼瀹㈡埛淇℃伅")
+    @PostMapping("/upCustom")
+    public Result<?> upCustom(@RequestBody Custom custom) {
+        return Result.success(customService.upCustom(custom));
+    }
+
     //鑾峰彇璁惧璐熻矗浜�
     @ValueAuth
     @ApiOperation(value = "鑾峰彇璁惧璐熻矗浜�")
@@ -196,4 +203,11 @@
         return Result.success(userService.delUserDepardLimsId(id));
     }
 
+    @ValueAuth
+    @GetMapping ("/selectCustomEnum")
+    @ApiOperation(value = "鑾峰彇瀹㈡埛鏋氫妇")
+    public Result<?> selectCustomEnum(){
+        return Result.success(customService.selectCustomEnum());
+    }
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java
index fa1e22d..307221a 100644
--- a/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java
@@ -13,4 +13,6 @@
 
     private List<Company> company;
 
+    private Integer roleId;
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java
index b8ef27e..6d14ebe 100644
--- a/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java
@@ -17,6 +17,8 @@
 
     private String roleName;
 
+    private Integer category;
+
     private List<Power> powers;
 
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/CustomMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/CustomMapper.java
index 3e9e083..246eb9d 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/CustomMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/CustomMapper.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yuanchu.mom.dto.Custom;
+import com.yuanchu.mom.pojo.Custom;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
index 7c405a0..c1dbf0c 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
@@ -17,4 +17,6 @@
 
     int addPower(Power power);
 
+    List<Integer> getRoleByDepart(Integer departId);
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
index 42a89ae..e0323b2 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
@@ -21,4 +21,6 @@
     //鑾峰彇璁惧璐熻矗浜�
     List<User> getDeviceManager();
 
+    User getCustom(Integer userId);
+
 }
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 b16a664..08e28d6 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
@@ -41,4 +41,8 @@
      * */
     public static String password = "https://ztt-connector.chinaztt.cn/api/org/v1/employees/original_pwd/";
 
+    public static String department = "https://ztt-connector.chinaztt.cn/api/org/v1/companies/companyId/departments";
+
+    public static String person = "https://ztt-connector.chinaztt.cn/api/org/v1/employees/simple/";
+
 }
\ No newline at end of file
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Custom.java
similarity index 62%
rename from user-server/src/main/java/com/yuanchu/mom/dto/Custom.java
rename to user-server/src/main/java/com/yuanchu/mom/pojo/Custom.java
index 38bd80a..c5f3639 100644
--- a/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Custom.java
@@ -1,7 +1,9 @@
-package com.yuanchu.mom.dto;
+package com.yuanchu.mom.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.yuanchu.mom.annotation.ValueTableShow;
 import com.yuanchu.mom.common.OrderBy;
 import io.swagger.annotations.ApiModelProperty;
@@ -17,53 +19,34 @@
 @Builder
 @AllArgsConstructor
 @NoArgsConstructor
-@TableName("user")
+@TableName("custom")
 public class Custom extends OrderBy implements Serializable {
 
     @ApiModelProperty(value = "涓婚敭")
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ValueTableShow(value = 2)
-    @ApiModelProperty(value = "瀹㈡埛璐﹀彿")
-    private String account;
+    @TableId(type = IdType.ASSIGN_ID)
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
 
     @ValueTableShow(1)
     @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
-    private String name;
-
-    @ValueTableShow(11)
-    @ApiModelProperty(value = "璐﹀彿鐘舵��")
-    private Integer state;
-
-    @ValueTableShow(5)
-    @ApiModelProperty(value = "鐢靛瓙閭")
-    private String email;
-
-    @ValueTableShow(6)
-    @ApiModelProperty(value = "鐢佃瘽鍙风爜")
-    private String phone;
-
-    @ApiModelProperty(value = "鎵�鍦ㄩ儴闂�")
-    private String department;
-
-    @ValueTableShow(7)
-    @ApiModelProperty(value = "瀹㈡埛鍗曚綅")
     private String company;
 
-    @ValueTableShow(9)
+    @ValueTableShow(3)
     @ApiModelProperty(value = "鍗曚綅鍦板潃")
     private String address;
 
-    @ValueTableShow(12)
+    @ValueTableShow(8)
     @ApiModelProperty(value = "宸ュ巶鍩�")
     private String code;
+
+    @ValueTableShow(7)
+    @ApiModelProperty(value = "瀹㈡埛缂栧彿")
+    private String code2;
 
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
-    @ValueTableShow(13)
     @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -77,18 +60,19 @@
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Integer updateUser;
 
-    @ValueTableShow(14)
-    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
-    @TableField(exist = false)
-    private String updateUserName;
-
-    private Integer isCustom;
-
-    @ValueTableShow(8)
-    @ApiModelProperty(value = "鑻辨枃瀹㈡埛鍗曚綅")
+    @ValueTableShow(2)
+    @ApiModelProperty(value = "瀹㈡埛鍗曚綅EN")
     private String companyEn;
 
-    @ValueTableShow(10)
-    @ApiModelProperty(value = "鑻辨枃鍗曚綅鍦板潃")
+    @ValueTableShow(4)
+    @ApiModelProperty(value = "鍗曚綅鍦板潃EN")
     private String addressEn;
+
+    @ValueTableShow(6)
+    @ApiModelProperty(value = "鍔犳�ラ搴�")
+    private Integer num;
+
+    @ValueTableShow(5)
+    @ApiModelProperty(value = "鍗曚綅鐢佃瘽")
+    private String phone;
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java
index c363b82..ee62b08 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java
@@ -33,4 +33,6 @@
 
     @ApiModelProperty(">1锛氬瓨鍦� =0锛氫笉瀛樺湪")
     private Long isLive;
+
+    private String department;
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
index dd691d7..912632d 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
@@ -14,7 +14,6 @@
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
-import java.util.Date;
 
 @Data
 @AllArgsConstructor
@@ -30,6 +29,10 @@
     private String name;
 
     @ValueTableShow(2)
+    @ApiModelProperty(value = "瑙掕壊鍒嗙被")
+    private Integer category;
+
+    @ValueTableShow(2)
     @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/CustomService.java b/user-server/src/main/java/com/yuanchu/mom/service/CustomService.java
index a2a710c..deff15f 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/CustomService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/CustomService.java
@@ -2,8 +2,9 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yuanchu.mom.dto.Custom;
+import com.yuanchu.mom.pojo.Custom;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -18,4 +19,10 @@
     int delCustomById(Integer id);
 
     int addCustom(Custom custom);
+
+    int upCustom(Custom custom);
+
+    List<Custom> selectCustomEnum();
+
+    Custom getCustomId(String company);
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java
index ed73a53..acc4995 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/CustomServiceImpl.java
@@ -5,14 +5,9 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
-import com.yuanchu.mom.dto.Custom;
-import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.pojo.Custom;
 import com.yuanchu.mom.mapper.CustomMapper;
-import com.yuanchu.mom.mapper.PowerMapper;
-import com.yuanchu.mom.mapper.UserMapper;
-import com.yuanchu.mom.pojo.Power;
 import com.yuanchu.mom.service.CustomService;
-import com.yuanchu.mom.service.PowerService;
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -47,14 +42,28 @@
 
     @Override
     public int delCustomById(Integer id) {
-        return customMapper.delCustomById(id);
+        return customMapper.deleteById(id);
     }
 
     @Override
     public int addCustom(Custom custom) {
-        custom.setIsCustom(1);
+        return customMapper.insert(custom);
+    }
+
+    @Override
+    public int upCustom(Custom custom) {
         return customMapper.updateById(custom);
     }
+
+    @Override
+    public List<Custom> selectCustomEnum() {
+        return customMapper.selectList(Wrappers.<Custom>lambdaQuery().select(Custom::getId,Custom::getCompany));
+    }
+
+    @Override
+    public Custom getCustomId(String company) {
+        return customMapper.selectOne(Wrappers.<Custom>lambdaQuery().eq(Custom::getCompany, company).last("limit 1"));
+    }
 }
 
 
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
index 3e30513..755548b 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
@@ -75,6 +75,7 @@
     public int upRole(RolePowerDto rolePowerDto) {
         Role role = new Role();
         role.setName(rolePowerDto.getRoleName());
+        role.setCategory(rolePowerDto.getCategory());
         role.setId(rolePowerDto.getRoleId2());
         int up = roleMapper.updateById(role);
         if (up == 1){
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..870d737 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
@@ -10,12 +10,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.RoleMapper;
 import com.yuanchu.mom.mapper.UserMapper;
-import com.yuanchu.mom.pojo.Departments;
+import com.yuanchu.mom.pojo.Custom;
 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 +26,6 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
 
 @Service
 public class UserServiceImp implements UserService {
@@ -37,10 +36,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,7 +62,19 @@
         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)));
+        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;
     }
 
@@ -103,7 +114,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 +137,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,19 +149,18 @@
                 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());
                 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);
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 8f3b60a..ca77494 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
@@ -1,9 +1,11 @@
 package com.yuanchu.mom.util;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.log.Log;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -18,6 +20,8 @@
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -72,11 +76,11 @@
         }catch (Exception e){
             throw new ErrorException(e.getMessage());
         }
-        /*return companies.stream().filter(ob->{
-            if(ob.getStatus().equals("enabled")) return true;
+        return companies.stream().filter(ob->{
+            if(Objects.equals(ob.getStatus(), "enabled")) return true;
             return false;
-        }).collect(Collectors.toList());*/
-        return companies;
+        }).collect(Collectors.toList());
+//        return companies;
     }
 
     public List<Person> userUrl(String companyId) {
@@ -90,10 +94,25 @@
         }catch (Exception e){
             throw new ErrorException(e.getMessage());
         }
+        List<JSONObject> department = getDepartment(companyId);
         return person.stream().filter(ob->{
-            ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID())));
-            return true;
+            if(Objects.equals(ob.getStatus(), "enabled")) {
+                ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID())));
+                ob.setDepartment(getDepartmentStr(department, ob.getDepartmentCode()).replaceFirst("/", ""));
+                return true;
+            }
+            return false;
         }).collect(Collectors.toList());
+    }
+
+    public String getDepartmentStr(List<JSONObject> department, String code){
+        String str = "";
+        Optional<JSONObject> depart = department.stream().filter(a -> code.equals(a.get("departmentCode"))).findFirst();
+        str = "/" + depart.get().get("departmentName") + str;
+        if(depart.get().get("parentDepartmentCode") != null){
+            str = getDepartmentStr(department, depart.get().get("parentDepartmentCode").toString()) + str;
+        }
+        return str;
     }
 
     public String getPassword(String employeeId) {
@@ -104,4 +123,40 @@
         System.out.println(request.execute().body());
         return JSON.parseObject(request.execute().body()).get("originalPwd").toString();
     }
+
+    public List<JSONObject> getDepartment(String companyId){
+        String accessToken = getAccessToken();
+        HttpRequest request = HttpRequest.get(AuthApi.department.replace("companyId", companyId))
+                .header("Authorization", "Bearer " + accessToken)
+                .header("Content-Type", "application/form-data");
+        List<JSONObject> list;
+        try {
+            list = JSON.parseArray(request.execute().body());
+        }catch (Exception e){
+            throw new ErrorException(e.getMessage());
+        }
+        return list.stream().filter(ob->{
+            if(Objects.equals(ob.get("status"), "enabled")) return true;
+            return false;
+        }).collect(Collectors.toList());
+    }
+
+    public Person selectPersonUser(String code){
+        String accessToken = getAccessToken();
+        HttpRequest request = HttpRequest.get(AuthApi.person + code)
+                .header("Authorization", "Bearer " + accessToken)
+                .header("Content-Type", "application/form-data");
+        Person person;
+        try {
+            person = JSON.parseObject(request.execute().body(), Person.class);
+            if(BeanUtil.isEmpty(person))return null;
+        }catch (Exception e){
+            throw new ErrorException(e.getMessage());
+        }
+        List<JSONObject> department = getDepartment(person.getCompanyId());
+        person.setDepartment(getDepartmentStr(department, person.getDepartmentCode()).replaceFirst("/", ""));
+        person.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID())));
+        return person;
+    }
+
 }
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/CustomMapper.xml b/user-server/src/main/resources/mapper/CustomMapper.xml
index 016bc49..9799d8c 100644
--- a/user-server/src/main/resources/mapper/CustomMapper.xml
+++ b/user-server/src/main/resources/mapper/CustomMapper.xml
@@ -5,13 +5,8 @@
         update user set is_custom = 0
         where id = #{id}
     </update>
-    <select id="selectCustomPageList" resultType="com.yuanchu.mom.dto.Custom">
-        select * from (
-            select u1.id, u1.account, u1.name, u1.state, u1.update_time, u1.update_user, u1.age, u1.email, u1.phone, u1.department, u1.company, u1.address, u2.name update_user_name, u1.code,u1.company_en,u1.address_en
-            from user u1
-            left join user u2 on u2.id = u1.update_user
-            where u1.is_custom = 1
-        ) a
+    <select id="selectCustomPageList" resultType="com.yuanchu.mom.pojo.Custom">
+        select * from custom
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
diff --git a/user-server/src/main/resources/mapper/RoleMapper.xml b/user-server/src/main/resources/mapper/RoleMapper.xml
index e5b1926..c61419f 100644
--- a/user-server/src/main/resources/mapper/RoleMapper.xml
+++ b/user-server/src/main/resources/mapper/RoleMapper.xml
@@ -7,4 +7,9 @@
     <select id="selectMenuList" resultType="com.yuanchu.mom.pojo.Menu">
         select method,remark,type from menu
     </select>
+    <select id="getRoleByDepart" resultType="java.lang.Integer">
+        select r.id from department d
+        left join role r on r.category = d.id
+        where d.id = #{departId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 4ce6510..aab2024 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -39,4 +39,9 @@
         from user
         where state = 1
     </select>
+    <select id="getCustom" resultType="com.yuanchu.mom.pojo.User">
+        select u.id,c.company,u.name,c.code,u.phone from user u
+        left join custom c on u.company = c.id
+        where u.id = #{userId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3