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()); } } cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
@@ -22,4 +22,6 @@ //æ ¹æ®é¨é¨id,æ¥è¯¢ä»çææåç±»id List<Integer> selectSonById(Integer id); List<DepartmentDto> selectCustomList(); } 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; } cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
@@ -24,4 +24,6 @@ //å é¤é¨é¨ boolean delDepartment(Integer id); List<Department> selectDepartmentEnum(); } 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)); } } 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> 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; /* * ææ inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -201,4 +201,6 @@ private String productionEn; private Long companyId; } 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); } } 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()); } } user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java
@@ -13,4 +13,6 @@ private List<Company> company; private Integer roleId; } 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; } 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; user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
@@ -17,4 +17,6 @@ int addPower(Power power); List<Integer> getRoleByDepart(Integer departId); } user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
@@ -21,4 +21,6 @@ //è·å设å¤è´è´£äºº List<User> getDeviceManager(); User getCustom(Integer userId); } 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/"; } user-server/src/main/java/com/yuanchu/mom/pojo/Custom.java
ÎļþÃû´Ó user-server/src/main/java/com/yuanchu/mom/dto/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; } user-server/src/main/java/com/yuanchu/mom/pojo/Person.java
@@ -33,4 +33,6 @@ @ApiModelProperty(">1ï¼åå¨ =0ï¼ä¸åå¨") private Long isLive; private String department; } 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") 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); } 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")); } } 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){ 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); 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; } } 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> 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> 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>