From b09e1a8b036553d1e161d127aa738a504593490a Mon Sep 17 00:00:00 2001
From: mrzcc <121184950@qq.com>
Date: 星期三, 19 二月 2020 12:14:55 +0800
Subject: [PATCH] 优化巡检路线查询sql

---
 CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java |   64 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 14 deletions(-)

diff --git a/CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java b/CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java
index d1ae471..bdf20f1 100644
--- a/CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java
+++ b/CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java
@@ -1,12 +1,9 @@
 package com.java110.community.dao.impl;
 
-import com.alibaba.fastjson.JSONObject;
-import com.java110.common.cache.MappingCache;
-import com.java110.common.constant.DomainContant;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.constant.StatusConstant;
-import com.java110.common.exception.DAOException;
-import com.java110.common.util.DateUtil;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.DomainContant;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.exception.DAOException;
 import com.java110.community.dao.IMenuServiceDao;
 import com.java110.core.base.dao.BaseServiceDao;
 import org.slf4j.Logger;
@@ -14,6 +11,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -113,9 +111,9 @@
 
 
         // 灏嗘潈闄愮粍鍒嗛厤缁欏搴斿晢鎴风被鍨嬬鐞嗗憳
-        info.put("pgId",MappingCache.getValue(DomainContant.DEFAULT_PRIVILEGE_ADMIN, info.get("domain").toString()));
+        info.put("pgId", MappingCache.getValue(DomainContant.DEFAULT_PRIVILEGE_ADMIN, info.get("domain").toString()));
 
-         saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveBasePrivilegeRelInfo", info);
+        saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveBasePrivilegeRelInfo", info);
 
 
         return saveFlag;
@@ -150,14 +148,14 @@
         logger.debug("淇敼璺敱淇℃伅Instance 鍏ュ弬 info : {}", info);
         int saveFlag = 0;
         //鍒ゆ柇鏄惁涓哄垹闄�
-        if(info.containsKey("statusCd") && StatusConstant.STATUS_CD_INVALID.equals(info.get("statusCd"))){
-                //鍋氭煡璇�
+        if (info.containsKey("statusCd") && StatusConstant.STATUS_CD_INVALID.equals(info.get("statusCd"))) {
+            //鍋氭煡璇�
             List<Map> basePrivileges = getBasePrivilegeInfo(info);
 
-            if(basePrivileges != null && basePrivileges.size() > 0){
+            if (basePrivileges != null && basePrivileges.size() > 0) {
                 saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeRelInfo", info);
 
-                if(saveFlag < 1){
+                if (saveFlag < 1) {
                     return saveFlag;
                 }
             }
@@ -184,6 +182,17 @@
         }
 
         return Integer.parseInt(businessBasePrivilegeInfos.get(0).get("count").toString());
+    }
+
+    @Override
+    public boolean checkUserHasResource(Map info) {
+        logger.debug("鏌ヨ璺敱淇℃伅 鍏ュ弬 info : {}", info);
+
+        List<Map> businessBasePrivilegeInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.checkUserHasResource", info);
+        if (businessBasePrivilegeInfos != null && businessBasePrivilegeInfos.size() > 0) {
+            return true;
+        }
+        return false;
     }
 
 
@@ -230,7 +239,34 @@
     public int updateMenuInfo(Map info) throws DAOException {
         logger.debug("淇敼璺敱淇℃伅Instance 鍏ュ弬 info : {}", info);
 
-        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuInfo", info);
+        int saveFlag = 0;
+
+        //鍒ゆ柇鏄惁涓哄垹闄�
+        if (info.containsKey("statusCd") && StatusConstant.STATUS_CD_INVALID.equals(info.get("statusCd"))) {
+            //鍋氭煡璇�
+            List<Map> baseMenus = getMenuInfo(info);
+
+            if (baseMenus != null && baseMenus.size() > 0) {
+                Map privilegeInfo = new HashMap();
+                privilegeInfo.put("pId", baseMenus.get(0).get("pId"));
+                privilegeInfo.put("statusCd", StatusConstant.STATUS_CD_INVALID);
+                //鍒犻櫎鏉冮檺 鏉冮檺缁勫叧绯�
+                saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeRelInfo", info);
+
+                if (saveFlag < 1) {
+                    return saveFlag;
+                }
+                //鍒犻櫎鏉冮檺
+                saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeInfo", info);
+
+                if (saveFlag < 1) {
+                    return saveFlag;
+                }
+            }
+
+        }
+
+        saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuInfo", info);
 
         return saveFlag;
     }

--
Gitblit v1.8.0