From ce64e667815b39efdc2f8bd52be0d43d49db8d84 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 17 七月 2022 00:06:29 +0800
Subject: [PATCH] 优化小区位置

---
 service-api/src/main/java/com/java110/api/smo/impl/StaffServiceSMOImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/impl/StaffServiceSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/impl/StaffServiceSMOImpl.java
index 93af32b..bc7c77f 100644
--- a/service-api/src/main/java/com/java110/api/smo/impl/StaffServiceSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/impl/StaffServiceSMOImpl.java
@@ -5,19 +5,26 @@
 import com.java110.api.smo.DefaultAbstractComponentSMO;
 import com.java110.core.component.BaseComponentSMO;
 import com.java110.core.context.IPageData;
+import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.org.OrgStaffRelDto;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.api.smo.IStaffServiceSMO;
+import com.java110.intf.community.IMenuInnerServiceSMO;
+import com.java110.intf.user.IOrgStaffRelInnerServiceSMO;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 鍛樺伐鏈嶅姟绫�
@@ -29,6 +36,12 @@
 
     @Autowired
     private RestTemplate restTemplate;
+
+    @Autowired
+    private IOrgStaffRelInnerServiceSMO iOrgStaffRelInnerServiceSMO;
+
+    @Autowired
+    private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
 
     /**
      * 娣诲姞鍛樺伐淇℃伅
@@ -65,7 +78,7 @@
         reqJson.put("name", reqJson.getString("username"));
         reqJson.put("storeId", storeId);
         reqJson.put("storeTypeCd", storeTypeCd);
-        responseEntity = this.callCenterService(restTemplate, pd, reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL + "/api/user.staff.add", HttpMethod.POST);
+        responseEntity = this.callCenterService(restTemplate, pd, reqJson.toJSONString(), "user.staff.add", HttpMethod.POST);
         return responseEntity;
     }
 
@@ -81,12 +94,32 @@
 
         Assert.jsonObjectHaveKey(pd.getReqData(), "page", "璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");
         Assert.jsonObjectHaveKey(pd.getReqData(), "row", "璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
+
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
         Assert.isInteger(paramIn.getString("page"), "page涓嶆槸鏁板瓧");
         Assert.isInteger(paramIn.getString("row"), "rows涓嶆槸鏁板瓧");
         int page = Integer.parseInt(paramIn.getString("page"));
         int rows = Integer.parseInt(paramIn.getString("row"));
         String staffName = paramIn.getString("staffName");
+        //2绾у埆缁勭粐淇℃伅
+        if (paramIn.containsKey("orgLevel") && paramIn.getString("orgLevel").equals("2")) {
+            //榛樿鍙煡鐪嬪綋鍓嶅綊灞炵粍缁囨灦鏋�
+            BasePrivilegeDto basePrivilegeDto = new BasePrivilegeDto();
+            basePrivilegeDto.setResource("/viewAllOrganization");
+            basePrivilegeDto.setUserId(pd.getUserId());
+            List<Map> privileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto);
+            if (privileges.size() == 0) {
+                //鏌ヨ鍛樺伐鎵�灞炰簩绾х粍缁囨灦鏋�
+                OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
+                orgStaffRelDto.setStaffId(pd.getUserId());
+                List<OrgStaffRelDto> orgStaffRelDtos = iOrgStaffRelInnerServiceSMO.queryOrgInfoByStaffIds(orgStaffRelDto);
+                if (orgStaffRelDtos.size() > 0) {
+                    paramIn.put("branchOrgId", orgStaffRelDtos.get(0).getCompanyId());//褰撳墠浜鸿櫧褰掑睘鐨勪簩绾х粍缁囦俊鎭�
+                    paramIn.put("parentOrgId", orgStaffRelDtos.get(0).getCompanyId());//褰撳墠浜鸿櫧褰掑睘鐨勪簩绾х粍缁囦俊鎭�
+                }
+
+            }
+        }
 
         if (rows > 50) {
             return new ResponseEntity<String>("rows 鏁伴噺涓嶈兘澶т簬50", HttpStatus.BAD_REQUEST);
@@ -103,10 +136,10 @@
         paramIn.put("storeId", storeId);
         //if (StringUtil.isEmpty(staffName)) {
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/query.staff.infos" + super.mapToUrlParam(paramIn), HttpMethod.GET);
+                "query.staff.infos" + super.mapToUrlParam(paramIn), HttpMethod.GET);
        /* } else {
             responseEntity = this.callCenterService(restTemplate, pd, "",
-                    ServiceConstant.SERVICE_API_URL + "/api/query.staff.byName?rows=" + rows + "&page=" + page + "&storeId=" + storeId + "&name=" + staffName, HttpMethod.GET);
+                    "query.staff.byName?rows=" + rows + "&page=" + page + "&storeId=" + storeId + "&name=" + staffName, HttpMethod.GET);
         }*/
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
@@ -134,7 +167,7 @@
         paramIn.put("name", paramIn.getString("username"));
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/user.staff.modify", HttpMethod.POST);
+                "user.staff.modify", HttpMethod.POST);
         return responseEntity;
     }
 
@@ -156,7 +189,7 @@
         newParam.put("storeId", result.getStoreId());
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, newParam.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/user.staff.delete", HttpMethod.POST);
+                "user.staff.delete", HttpMethod.POST);
         return responseEntity;
     }
 
@@ -182,7 +215,7 @@
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/query.privilegeGroup.noAddPrivilegeGroup?userId="
+                "query.privilegeGroup.noAddPrivilegeGroup?userId="
                         + _paramObj.getString("userId") + "&storeId=" + storeId + "&storeTypeCd=" + storeTypeCd,
                 HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -214,7 +247,7 @@
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/query.privilege.noAddPrivilege?userId="
+                "query.privilege.noAddPrivilege?userId="
                         + _paramObj.getString("userId") + "&storeId=" + storeId + "&storeTypeCd=" + storeTypeCd,
                 HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -251,7 +284,7 @@
 
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, _paramObj.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/add.privilege.userPrivilege",
+                "add.privilege.userPrivilege",
                 HttpMethod.POST);
 
         return responseEntity;
@@ -277,7 +310,7 @@
 
         //淇敼鐢ㄦ埛淇℃伅
         responseEntity = this.callCenterService(restTemplate, pd, _paramObj.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/delete.privilege.userPrivilege",
+                "delete.privilege.userPrivilege",
                 HttpMethod.POST);
 
         return responseEntity;

--
Gitblit v1.8.0