From 0a52cc1a35c346d96d8a8b821997b5fdc765ebeb Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 15 七月 2022 02:12:03 +0800
Subject: [PATCH] 优化springboot func

---
 springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java b/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
index 7fa11a6..9ed8433 100644
--- a/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
+++ b/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
@@ -11,6 +11,7 @@
 import com.java110.dto.store.StoreDto;
 import com.java110.dto.user.UserDto;
 import com.java110.entity.component.ComponentValidateResult;
+import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.utils.cache.PrivilegeCache;
 import com.java110.utils.constant.CommonConstant;
@@ -60,6 +61,10 @@
     private static final String WECHAT_SERVICE_APP_ID = "SERVICE_APP_ID";
 
     private static final String WECHAT_SERVICE_MCH_ID = "SERVICE_MCH_ID";
+
+
+    @Autowired
+    private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
 
 
     /**
@@ -334,7 +339,6 @@
         if (basePrivilegeDtos == null || basePrivilegeDtos.size() < 1) {
             return;
         }
-        String tmpResource = null;
         boolean hasPrivilege = false;
         for (BasePrivilegeDto privilegeDto : basePrivilegeDtos) {
             if (resource.equals(privilegeDto.getResource())) {
@@ -345,20 +349,18 @@
             return;
         }
 
-        ResultVo resultVo = null;
-        if (resultVo == null ||
-                resultVo.getCode() != ResultVo.CODE_OK) {
-            throw new UnsupportedOperationException("鐢ㄦ埛娌℃湁鏉冮檺鎿嶄綔");
-        }
-        JSONArray privileges = JSONArray.parseArray(resultVo.getMsg());
+        BasePrivilegeDto basePrivilegeDto = new BasePrivilegeDto();
+        basePrivilegeDto.setResource(resource);
+        basePrivilegeDto.setUserId(pd.getUserId());
+        List<Map> privileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto);
 
-        hasPrivilege = false;
         if (privileges == null || privileges.size() < 1) {
             throw new UnsupportedOperationException("鐢ㄦ埛娌℃湁鏉冮檺鎿嶄綔");
         }
+
+        hasPrivilege = false;
         for (int privilegeIndex = 0; privilegeIndex < privileges.size(); privilegeIndex++) {
-            tmpResource = privileges.getJSONObject(privilegeIndex).getString("resource");
-            if (resource.equals(tmpResource)) {
+            if (resource.equals(privileges.get(privilegeIndex).get("resource"))) {
                 hasPrivilege = true;
                 break;
             }

--
Gitblit v1.8.0