From 15ad9a0ab70a37caafd179d18138b10373fe1dae Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 13 四月 2019 14:41:55 +0800
Subject: [PATCH] 员工权限添加

---
 OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java |  123 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 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 b20a3ee..ab65a57 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
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.cache.MappingCache;
 import com.java110.common.constant.MappingConstant;
+import com.java110.common.exception.SMOException;
 import com.java110.common.util.Assert;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.order.dao.IPrivilegeDAO;
@@ -131,6 +132,128 @@
 
     }
 
+    @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);
+    }
+
+    /**
+     * 鍛樺伐娣诲姞鏉冮檺鎴栨潈闄愮粍
+     * @param privilegeInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> addStaffPrivilegeOrPrivilegeGroup(String privilegeInfo) {
+
+        JSONObject privilegeObj = validateData(privilegeInfo);
+        //鏍规嵁鏉冮檺缁処D鍜屽晢鎴稩D鏌ヨ鏄惁鏈夋暟鎹�
+        String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
+        privilegeObj.put("privilegeFlag","1".equals(pFlag)?"1":"0");
+        List<Map> privilegeGroups = privilegeDAOImpl.queryUserPrivilege(privilegeObj);
+        Assert.isNotNull(privilegeGroups, "褰撳墠娌℃湁鏉冮檺鎿嶄綔鏉冮檺缁�" + privilegeInfo);
+
+        if (!privilegeDAOImpl.addUserPrivilege(privilegeObj)) {
+            return new ResponseEntity<String>("娣诲姞鏉冮檺澶辫触", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+    }
+
+    private JSONObject validateData(String privilegeInfo) {
+
+        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pFlag", "璇锋眰鎶ユ枃涓湭鍖呭惈pFlag鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
+        if("1".equals(pFlag)){
+            validatePrivilegeGroup(privilegeObj);
+            return privilegeObj;
+        }
+        validatePrivilege(privilegeObj);
+        return privilegeObj;
+    }
+
+    /**
+     * 鏉冮檺缁勬暟鎹牎楠�
+     * @param privilegeObj
+     */
+    private void validatePrivilegeGroup(JSONObject privilegeObj){
+
+        //鍒ゆ柇褰撳墠鏉冮檺缁勬槸鍚﹂毝灞炰簬 褰撳墠鍟嗘埛
+        privilegeObj.put("pgId",privilegeObj.getString("pId"));
+        List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
+        if(privilegeGroups == null || privilegeGroups.size() == 0){
+            throw new SMOException(1999,"褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄愮粍"+privilegeGroups.toString());
+        }
+    }
+
+    /**
+     * 鏉冮檺鏁版嵁鏍¢獙
+     * @param privilegeObj
+     */
+    private void validatePrivilege(JSONObject privilegeObj){
+
+        privilegeObj.put("domain",privilegeObj.getString("storeTypeCd"));
+        List<Map> privileges = privilegeDAOImpl.queryPrivilege(privilegeObj);
+        if(privileges == null || privileges.size() == 0){
+            throw new SMOException(1999,"褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄�"+privileges.toString());
+        }
+    }
+
 
     public IPrivilegeDAO getPrivilegeDAOImpl() {
         return privilegeDAOImpl;

--
Gitblit v1.8.0