From bc90d13a8213fd4f8abdd886380f662ddd33fdbd Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 09 四月 2019 14:48:35 +0800
Subject: [PATCH] 添加删除权限

---
 OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java |  130 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 129 insertions(+), 1 deletions(-)

diff --git a/OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java b/OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java
index 8083378..dd888f0 100644
--- a/OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java
+++ b/OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java
@@ -4,6 +4,7 @@
 import com.java110.common.cache.MappingCache;
 import com.java110.common.constant.MappingConstant;
 import com.java110.common.util.Assert;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.order.dao.IPrivilegeDAO;
 import com.java110.order.smo.IPrivilegeSMO;
 import org.slf4j.Logger;
@@ -12,6 +13,9 @@
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 鐢ㄦ埛鏉冮檺澶勭悊绫�
@@ -35,12 +39,17 @@
 
         Assert.jsonObjectHaveKey(privilegeInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
 
+        Assert.jsonObjectHaveKey(privilegeInfo,"userFlag","璇锋眰鎶ユ枃涓湭鍖呭惈userFlag鑺傜偣");
+
 
         JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
 
         String storeTypeCd = privilegeObj.getString("storeTypeCd");
 
-        String defaultPrivilege = MappingCache.getValue(MappingConstant.DOMAIN_DEFAULT_PRIVILEGE_ADMIN,storeTypeCd);
+        String privilegeDomain = "admin".equals(privilegeObj.getString("userFlag"))
+                ?MappingConstant.DOMAIN_DEFAULT_PRIVILEGE_ADMIN:MappingConstant.DOMAIN_DEFAULT_PRIVILEGE;
+
+        String defaultPrivilege = MappingCache.getValue(privilegeDomain,storeTypeCd);
 
         Assert.hasLength(defaultPrivilege,"鍦╟_mapping 琛ㄤ腑鏈厤缃晢鎴风被鍨嬩负"+storeTypeCd+" 鐨勯粯璁ゆ潈闄愮粍");
         privilegeObj.put("pId",defaultPrivilege);
@@ -52,6 +61,125 @@
         return new ResponseEntity<String>("鏈煡寮傚父", HttpStatus.INTERNAL_SERVER_ERROR);
     }
 
+    /**
+     * 鍒犻櫎鐢ㄦ埛鏉冮檺
+     * @param privilegeInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deleteUserAllPrivilege(String privilegeInfo) {
+        Assert.isJsonObject(privilegeInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeInfo,"userId","璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
+
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        if(privilegeDAOImpl.deleteUserAllPrivilege(privilegeObj)){
+            return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+        }
+
+        return new ResponseEntity<String>("鏈煡寮傚父", HttpStatus.INTERNAL_SERVER_ERROR);
+    }
+
+    @Override
+    public ResponseEntity<String> savePrivilegeGroup(String privilegeGroupInfo) {
+
+        Assert.isJsonObject(privilegeGroupInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"name","璇锋眰鎶ユ枃涓湭鍖呭惈name鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeId","璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        JSONObject privilegeGroupObj = JSONObject.parseObject(privilegeGroupInfo);
+
+        privilegeGroupObj.put("pgId",GenerateCodeFactory.getPgId());
+
+        if(privilegeDAOImpl.savePrivilegeGroup(privilegeGroupObj)){
+            return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+        }
+
+        return new ResponseEntity<String>("鏈煡寮傚父", HttpStatus.INTERNAL_SERVER_ERROR);
+    }
+
+    /**
+     * 鍒犻櫎鏉冮檺缁�
+     * @param privilegeGroupInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deletePrivilegeGroup(String privilegeGroupInfo) {
+
+        Assert.isJsonObject(privilegeGroupInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"pgId","璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeId","璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        JSONObject privilegeGroupObj = JSONObject.parseObject(privilegeGroupInfo);
+        //鍒犻櫎鏉冮檺缁�
+        privilegeDAOImpl.deletePrivilegeGroup(privilegeGroupObj);
+
+        List<Map> privileges = privilegeDAOImpl.queryPrivilegeRel(privilegeGroupObj);
+
+        if(privileges !=null && privileges.size()>0) {
+            //鍒犻櫎鏉冮檺缁勫拰鏉冮檺鍏崇郴
+            privilegeDAOImpl.deletePrivilegeRel(privilegeGroupObj);
+        }
+
+        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+
+    }
+
+    @Override
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(String privilegeInfo) {
+        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pgId", "璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        //鏍规嵁鏉冮檺缁処D鍜屽晢鎴稩D鏌ヨ鏄惁鏈夋暟鎹�
+        List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
+        Assert.isNotNull(privilegeGroups, "褰撳墠娌℃湁鏉冮檺鎿嶄綔鏉冮檺缁刾gId = " + privilegeObj.getString("pgId"));
+
+        if (!privilegeDAOImpl.addPrivilegeRel(privilegeObj)) {
+            return new ResponseEntity<String>("娣诲姞鏉冮檺澶辫触", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+    }
+
+    /**
+     *
+     * @param privilegeInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deletePrivilegeToPrivilegeGroup(String privilegeInfo) {
+
+        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pgId", "璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
+
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        //鏍规嵁鏉冮檺缁処D鍜屽晢鎴稩D鏌ヨ鏄惁鏈夋暟鎹�
+        List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
+        Assert.isNotNull(privilegeGroups, "褰撳墠娌℃湁鏉冮檺鎿嶄綔鏉冮檺缁刾gId = " + privilegeObj.getString("pgId"));
+
+        if (!privilegeDAOImpl.deletePrivilegeRel(privilegeObj)) {
+            return new ResponseEntity<String>("鍒犻櫎鏉冮檺澶辫触", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+    }
+
 
     public IPrivilegeDAO getPrivilegeDAOImpl() {
         return privilegeDAOImpl;

--
Gitblit v1.8.0