From e64197421cf28099935f71f193989a3394d47fe0 Mon Sep 17 00:00:00 2001
From: mrzcc <121184950@qq.com>
Date: 星期一, 17 二月 2020 18:12:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java |  176 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 118 insertions(+), 58 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 e3acb77..2ca0549 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
@@ -1,5 +1,6 @@
 package com.java110.order.smo.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
@@ -34,13 +35,13 @@
     @Override
     public ResponseEntity<String> saveUserDefaultPrivilege(String privilegeInfo) {
 
-        Assert.isJsonObject(privilegeInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
 
-        Assert.jsonObjectHaveKey(privilegeInfo,"userId","璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeInfo, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo,"userFlag","璇锋眰鎶ユ枃涓湭鍖呭惈userFlag鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeInfo, "userFlag", "璇锋眰鎶ユ枃涓湭鍖呭惈userFlag鑺傜偣");
 
 
         JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
@@ -48,14 +49,14 @@
         String storeTypeCd = privilegeObj.getString("storeTypeCd");
 
         String privilegeDomain = "admin".equals(privilegeObj.getString("userFlag"))
-                ?MappingConstant.DOMAIN_DEFAULT_PRIVILEGE_ADMIN:MappingConstant.DOMAIN_DEFAULT_PRIVILEGE;
+                ? MappingConstant.DOMAIN_DEFAULT_PRIVILEGE_ADMIN : MappingConstant.DOMAIN_DEFAULT_PRIVILEGE;
 
-        String defaultPrivilege = MappingCache.getValue(privilegeDomain,storeTypeCd);
+        String defaultPrivilege = MappingCache.getValue(privilegeDomain, storeTypeCd);
 
-        Assert.hasLength(defaultPrivilege,"鍦╟_mapping 琛ㄤ腑鏈厤缃晢鎴风被鍨嬩负"+storeTypeCd+" 鐨勯粯璁ゆ潈闄愮粍");
-        privilegeObj.put("pId",defaultPrivilege);
+        Assert.hasLength(defaultPrivilege, "鍦╟_mapping 琛ㄤ腑鏈厤缃晢鎴风被鍨嬩负" + storeTypeCd + " 鐨勯粯璁ゆ潈闄愮粍");
+        privilegeObj.put("pId", defaultPrivilege);
 
-        if(privilegeDAOImpl.saveUserDefaultPrivilege(privilegeObj)){
+        if (privilegeDAOImpl.saveUserDefaultPrivilege(privilegeObj)) {
             return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
         }
 
@@ -64,17 +65,18 @@
 
     /**
      * 鍒犻櫎鐢ㄦ埛鏉冮檺
+     *
      * @param privilegeInfo
      * @return
      */
     @Override
     public ResponseEntity<String> deleteUserAllPrivilege(String privilegeInfo) {
-        Assert.isJsonObject(privilegeInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
 
-        Assert.jsonObjectHaveKey(privilegeInfo,"userId","璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeInfo, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
 
         JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
-        if(privilegeDAOImpl.deleteUserAllPrivilege(privilegeObj)){
+        if (privilegeDAOImpl.deleteUserAllPrivilege(privilegeObj)) {
             return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
         }
 
@@ -84,18 +86,38 @@
     @Override
     public ResponseEntity<String> savePrivilegeGroup(String privilegeGroupInfo) {
 
-        Assert.isJsonObject(privilegeGroupInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+        Assert.isJsonObject(privilegeGroupInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"name","璇锋眰鎶ユ枃涓湭鍖呭惈name鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "name", "璇锋眰鎶ユ枃涓湭鍖呭惈name鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeId","璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
         JSONObject privilegeGroupObj = JSONObject.parseObject(privilegeGroupInfo);
 
-        privilegeGroupObj.put("pgId",GenerateCodeFactory.getPgId());
+        privilegeGroupObj.put("pgId", GenerateCodeFactory.getPgId());
 
-        if(privilegeDAOImpl.savePrivilegeGroup(privilegeGroupObj)){
+        if (privilegeDAOImpl.savePrivilegeGroup(privilegeGroupObj)) {
+            return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+        }
+
+        return new ResponseEntity<String>("鏈煡寮傚父", HttpStatus.INTERNAL_SERVER_ERROR);
+    }
+
+    @Override
+    public ResponseEntity<String> editPrivilegeGroup(String privilegeGroupInfo) {
+
+        Assert.isJsonObject(privilegeGroupInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "name", "璇锋眰鎶ユ枃涓湭鍖呭惈name鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "pgId", "璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        JSONObject privilegeGroupObj = JSONObject.parseObject(privilegeGroupInfo);
+
+        if (privilegeDAOImpl.updatePrivilegeGroup(privilegeGroupObj)) {
             return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
         }
 
@@ -104,26 +126,27 @@
 
     /**
      * 鍒犻櫎鏉冮檺缁�
+     *
      * @param privilegeGroupInfo
      * @return
      */
     @Override
     public ResponseEntity<String> deletePrivilegeGroup(String privilegeGroupInfo) {
 
-        Assert.isJsonObject(privilegeGroupInfo,"璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+        Assert.isJsonObject(privilegeGroupInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"pgId","璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "pgId", "璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeId","璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeGroupInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeGroupInfo,"storeTypeCd","璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
+        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) {
+        if (privileges != null && privileges.size() > 0) {
             //鍒犻櫎鏉冮檺缁勫拰鏉冮檺鍏崇郴
             privilegeDAOImpl.deletePrivilegeRel(privilegeGroupObj);
         }
@@ -139,22 +162,41 @@
         Assert.jsonObjectHaveKey(privilegeInfo, "pgId", "璇锋眰鎶ユ枃涓湭鍖呭惈pgId鑺傜偣");
 
         Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
-
-        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
         JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        //Assert.jsonObjectHaveKey(privilegeInfoObj,"pId","璇锋眰鎶ユ枃涓湭鍖呭惈鏉冮檺ID 鑺傜偣");
+        if (!privilegeObj.containsKey("pIds") || privilegeObj.getJSONArray("pIds").size() < 1) {
+            throw new IllegalArgumentException("璇锋眰鎶ユ枃涓湭鍖呭惈鏉冮檺");
+        }
+
         //鏍规嵁鏉冮檺缁処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);
+        JSONArray pIds = privilegeObj.getJSONArray("pIds");
+        int errorCount = 0;
+        JSONObject tmpPId = null;
+        for (int pIdIndex = 0; pIdIndex < pIds.size(); pIdIndex++) {
+            try {
+                tmpPId = pIds.getJSONObject(pIdIndex);
+                privilegeObj.put("pId", tmpPId.getString("pId"));
+                if (!privilegeDAOImpl.addPrivilegeRel(privilegeObj)) {
+                    errorCount++;
+                }
+
+            } catch (Exception e) {
+                logger.error("淇濆瓨鏉冮檺鍏崇郴澶辫触", e);
+                errorCount++;
+            }
         }
 
-        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+        JSONObject paramOut = new JSONObject();
+        paramOut.put("success", pIds.size() - errorCount);
+        paramOut.put("error", errorCount);
+
+        return new ResponseEntity<String>(paramOut.toJSONString(), HttpStatus.OK);
     }
 
     /**
-     *
      * @param privilegeInfo
      * @return
      */
@@ -183,28 +225,46 @@
 
     /**
      * 鍛樺伐娣诲姞鏉冮檺鎴栨潈闄愮粍
+     *
      * @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.listIsNull(privilegeGroups, "宸茬粡瀛樺湪璇ユ潈闄愭棤闇�澶氭娣诲姞" + privilegeInfo);
+        Assert.jsonObjectHaveKey(privilegeInfo, "pIds", "璇锋眰鎶ユ枃涓湭鍖呭惈pIds鑺傜偣");
 
-        if (!privilegeDAOImpl.addUserPrivilege(privilegeObj)) {
-            return new ResponseEntity<String>("娣诲姞鏉冮檺澶辫触", HttpStatus.INTERNAL_SERVER_ERROR);
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        JSONArray pIds = privilegeObj.getJSONArray("pIds");
+        int errorCount = 0;
+        for (int pIndex = 0; pIndex < pIds.size(); pIndex++) {
+            privilegeObj.put("pId", pIds.getJSONObject(pIndex).getString("pId"));
+            try {
+                validateData(privilegeObj);
+                //鏍规嵁鏉冮檺缁処D鍜屽晢鎴稩D鏌ヨ鏄惁鏈夋暟鎹�
+                String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
+                privilegeObj.put("privilegeFlag", "1".equals(pFlag) ? "1" : "0");
+
+                List<Map> privilegeGroups = privilegeDAOImpl.queryUserPrivilege(privilegeObj);
+                Assert.listIsNull(privilegeGroups, "宸茬粡瀛樺湪璇ユ潈闄愭棤闇�澶氭娣诲姞" + privilegeInfo);
+                if (!privilegeDAOImpl.addUserPrivilege(privilegeObj)) {
+                    return new ResponseEntity<String>("娣诲姞鏉冮檺澶辫触", HttpStatus.INTERNAL_SERVER_ERROR);
+                }
+            } catch (Exception e) {
+                logger.error("淇濆瓨鏉冮檺澶辫触", e);
+                errorCount++;
+            }
         }
 
-        return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+        JSONObject paramOut = new JSONObject();
+        paramOut.put("success", pIds.size() - errorCount);
+        paramOut.put("error", errorCount);
+        return new ResponseEntity<String>(paramOut.toJSONString(), HttpStatus.OK);
     }
 
     /**
      * 鍒犻櫎鍛樺伐鏉冮檺
+     *
      * @param privilegeInfo
      * @return
      */
@@ -213,7 +273,7 @@
         JSONObject privilegeObj = validateDeleteStaffPrivilegeData(privilegeInfo);
         //鏍规嵁鏉冮檺缁処D鍜屽晢鎴稩D鏌ヨ鏄惁鏈夋暟鎹�
         String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
-        privilegeObj.put("privilegeFlag","1".equals(pFlag)?"1":"0");
+        privilegeObj.put("privilegeFlag", "1".equals(pFlag) ? "1" : "0");
         List<Map> privilegeGroups = privilegeDAOImpl.queryUserPrivilege(privilegeObj);
         Assert.isNotNull(privilegeGroups, "涓嶅瓨鍦ㄨ鏉冮檺" + privilegeInfo);
 
@@ -226,6 +286,7 @@
 
     /**
      * 鏁版嵁鏍¢獙
+     *
      * @param privilegeInfo
      * @return
      */
@@ -245,7 +306,7 @@
 
         JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
         String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
-        if("1".equals(pFlag)){
+        if ("1".equals(pFlag)) {
             validatePrivilegeGroup(privilegeObj);
             return privilegeObj;
         }
@@ -253,23 +314,20 @@
         return privilegeObj;
     }
 
-    private JSONObject validateData(String privilegeInfo) {
+    private JSONObject validateData(JSONObject privilegeObj) {
 
-        Assert.isJsonObject(privilegeInfo, "璇锋眰鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+        Assert.jsonObjectHaveKey(privilegeObj, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "璇锋眰鎶ユ枃涓湭鍖呭惈pId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeObj, "pFlag", "璇锋眰鎶ユ枃涓湭鍖呭惈pFlag鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo, "pFlag", "璇锋眰鎶ユ枃涓湭鍖呭惈pFlag鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeObj, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeObj, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId鑺傜偣");
+        Assert.jsonObjectHaveKey(privilegeObj, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
 
-        Assert.jsonObjectHaveKey(privilegeInfo, "storeTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈storeTypeCd鑺傜偣");
-
-        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
         String pFlag = privilegeObj.getString("pFlag");//鏉冮檺缁�
-        if("1".equals(pFlag)){
+        if ("1".equals(pFlag)) {
             validatePrivilegeGroup(privilegeObj);
             return privilegeObj;
         }
@@ -279,28 +337,30 @@
 
     /**
      * 鏉冮檺缁勬暟鎹牎楠�
+     *
      * @param privilegeObj
      */
-    private void validatePrivilegeGroup(JSONObject privilegeObj){
+    private void validatePrivilegeGroup(JSONObject privilegeObj) {
 
         //鍒ゆ柇褰撳墠鏉冮檺缁勬槸鍚﹂毝灞炰簬 褰撳墠鍟嗘埛
-        privilegeObj.put("pgId",privilegeObj.getString("pId"));
+        privilegeObj.put("pgId", privilegeObj.getString("pId"));
         List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
-        if(privilegeGroups == null || privilegeGroups.size() == 0){
-            throw new SMOException(1999,"褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄愮粍"+privilegeGroups.toString());
+        if (privilegeGroups == null || privilegeGroups.size() == 0) {
+            throw new SMOException(1999, "褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄愮粍" + privilegeGroups.toString());
         }
     }
 
     /**
      * 鏉冮檺鏁版嵁鏍¢獙
+     *
      * @param privilegeObj
      */
-    private void validatePrivilege(JSONObject privilegeObj){
+    private void validatePrivilege(JSONObject privilegeObj) {
 
-        privilegeObj.put("domain",privilegeObj.getString("storeTypeCd"));
+        privilegeObj.put("domain", privilegeObj.getString("storeTypeCd"));
         List<Map> privileges = privilegeDAOImpl.queryPrivilege(privilegeObj);
-        if(privileges == null || privileges.size() == 0){
-            throw new SMOException(1999,"褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄�"+privileges.toString());
+        if (privileges == null || privileges.size() == 0) {
+            throw new SMOException(1999, "褰撳墠娌℃湁鏉冮檺鎿嶄綔璇ユ潈闄�" + privileges.toString());
         }
     }
 

--
Gitblit v1.8.0