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/util/HeaderToken.java | 67 ++++++++++++++++++++++++++++++--- 1 files changed, 61 insertions(+), 6 deletions(-) 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 -- Gitblit v1.9.3