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