From 8effc395f2953b487f452cf04616f547f41b0819 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期六, 13 八月 2022 22:26:46 +0800
Subject: [PATCH] 优化代码

---
 service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java |   59 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 32 insertions(+), 27 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java b/service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java
index 7f50c4a..b3cf0a5 100644
--- a/service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java
@@ -40,13 +40,13 @@
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-        Assert.hasKeyAndValue(reqJson,"page","璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");
-        Assert.hasKeyAndValue(reqJson,"row","璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
+        Assert.hasKeyAndValue(reqJson, "page", "璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");
+        Assert.hasKeyAndValue(reqJson, "row", "璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
         if (!reqJson.containsKey("storeId")) {
             String storeId = context.getReqHeaders().get("store-id");
             reqJson.put("storeId", storeId);
         }
-        Assert.hasKeyAndValue(reqJson,"storeId","璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
     }
 
     @Override
@@ -60,7 +60,7 @@
         if (count > 0) {
             staffs = BeanConvertUtil.covertBeanList(userInnerServiceSMOImpl.getStaffs(userDto), ApiStaffDataVo.class);
             refreshInitials(staffs);
-            refreshOrgs(staffs,reqJson.getString("storeId"));
+            refreshOrgs(staffs, reqJson.getString("storeId"));
         } else {
             staffs = new ArrayList<>();
         }
@@ -76,13 +76,13 @@
         context.setResponseEntity(responseEntity);
     }
 
-    private void refreshOrgs(List<ApiStaffDataVo> staffs,String storeId) {
-        if(staffs == null ||  staffs.size()<1){
-            return ;
+    private void refreshOrgs(List<ApiStaffDataVo> staffs, String storeId) {
+        if (staffs == null || staffs.size() < 1) {
+            return;
         }
 
-        List<String>  staffIds  = new ArrayList<>();
-        for(ApiStaffDataVo apiStaffDataVo : staffs){
+        List<String> staffIds = new ArrayList<>();
+        for (ApiStaffDataVo apiStaffDataVo : staffs) {
             staffIds.add(apiStaffDataVo.getUserId());
         }
 
@@ -101,30 +101,34 @@
             return;
         }
 
-
-        for(ApiStaffDataVo apiStaffDataVo : staffs){
-            for(OrgStaffRelDto tmpOrgStaffRelDto : orgStaffRels){
-                if(!apiStaffDataVo.getUserId().equals(tmpOrgStaffRelDto.getStaffId())){
+        for (ApiStaffDataVo apiStaffDataVo : staffs) {
+            for (OrgStaffRelDto tmpOrgStaffRelDto : orgStaffRels) {
+                if (!apiStaffDataVo.getUserId().equals(tmpOrgStaffRelDto.getStaffId())) {
                     continue;
                 }
-               apiStaffDataVo.setOrgId(tmpOrgStaffRelDto.getOrgId());
+                OrgDto org = new OrgDto();
+                org.setOrgId(tmpOrgStaffRelDto.getOrgId());
+                List<OrgDto> orgs = orgV1InnerServiceSMOImpl.queryOrgs(org);
+                Assert.listOnlyOne(orgs, "鏌ヨ缁勭粐琛ㄩ敊璇紒");
+                apiStaffDataVo.setOrgId(tmpOrgStaffRelDto.getOrgId());
+                apiStaffDataVo.setParentTwoOrgId(orgs.get(0).getParentOrgId());
             }
         }
 
-        for(ApiStaffDataVo apiStaffDataVo : staffs) {
-            if(StringUtil.isEmpty(apiStaffDataVo.getOrgId())){
+        for (ApiStaffDataVo apiStaffDataVo : staffs) {
+            if (StringUtil.isEmpty(apiStaffDataVo.getOrgId())) {
                 continue;
             }
             apiStaffDataVo.setParentOrgId(apiStaffDataVo.getOrgId());
 
-            findParents(apiStaffDataVo, orgDtos, null,0);
+            findParents(apiStaffDataVo, orgDtos, null, 0);
 
         }
 
     }
 
 
-    private void findParents(ApiStaffDataVo apiStaffDataVo, List<OrgDto> orgDtos, OrgDto curOrgDto,int orgDeep) {
+    private void findParents(ApiStaffDataVo apiStaffDataVo, List<OrgDto> orgDtos, OrgDto curOrgDto, int orgDeep) {
         for (OrgDto orgDto : orgDtos) {
             curOrgDto = orgDto;
             if (!apiStaffDataVo.getParentOrgId().equals(orgDto.getOrgId())) { // 浠栬嚜宸辫烦杩�
@@ -132,14 +136,14 @@
             }
 
             //濡傛灉鍒颁竴绾� 灏辩粨鏉�
-            if(OrgDto.ORG_LEVEL_STORE.equals(apiStaffDataVo.getOrgLevel())){
+            if (OrgDto.ORG_LEVEL_STORE.equals(apiStaffDataVo.getOrgLevel())) {
                 continue;
             }
 
             apiStaffDataVo.setParentOrgId(orgDto.getParentOrgId());
 
             if (StringUtil.isEmpty(apiStaffDataVo.getOrgName())) {
-                apiStaffDataVo.setOrgName(orgDto.getOrgName() );
+                apiStaffDataVo.setOrgName(orgDto.getOrgName());
                 continue;
             }
             apiStaffDataVo.setOrgName(orgDto.getOrgName() + " / " + apiStaffDataVo.getOrgName());
@@ -158,26 +162,27 @@
             return;
         }
 
-        orgDeep +=1;
+        orgDeep += 1;
 
-        if(orgDeep > 20){
-            return ;
+        if (orgDeep > 20) {
+            return;
         }
 
-        findParents(apiStaffDataVo, orgDtos, curOrgDto,orgDeep);
+        findParents(apiStaffDataVo, orgDtos, curOrgDto, orgDeep);
     }
 
     /**
      * 鍒峰叆棣栧瓧姣�
+     *
      * @param staffs
      */
     private void refreshInitials(List<ApiStaffDataVo> staffs) {
 
-        for(ApiStaffDataVo staffDataVo : staffs){
-            if(StringUtil.isEmpty(staffDataVo.getName())){
+        for (ApiStaffDataVo staffDataVo : staffs) {
+            if (StringUtil.isEmpty(staffDataVo.getName())) {
                 continue;
             }
-            staffDataVo.setInitials(PinYinUtil.getFirstSpell(staffDataVo.getName()).toUpperCase().charAt(0)+"");
+            staffDataVo.setInitials(PinYinUtil.getFirstSpell(staffDataVo.getName()).toUpperCase().charAt(0) + "");
         }
     }
 }

--
Gitblit v1.8.0