|
|
@@ -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 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
@Override
|
|
|
public ResponseEntity<String> saveUserDefaultPrivilege(String privilegeInfo) {
|
|
|
|
|
|
- Assert.isJsonObject(privilegeInfo,"请求报文不是有效的json格式");
|
|
|
+ Assert.isJsonObject(privilegeInfo, "请求报文不是有效的json格式");
|
|
|
|
|
|
- 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 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
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,"在c_mapping 表中未配置商户类型为"+storeTypeCd+" 的默认权限组");
|
|
|
- privilegeObj.put("pId",defaultPrivilege);
|
|
|
+ Assert.hasLength(defaultPrivilege, "在c_mapping 表中未配置商户类型为" + storeTypeCd + " 的默认权限组");
|
|
|
+ privilegeObj.put("pId", defaultPrivilege);
|
|
|
|
|
|
- if(privilegeDAOImpl.saveUserDefaultPrivilege(privilegeObj)){
|
|
|
+ if (privilegeDAOImpl.saveUserDefaultPrivilege(privilegeObj)) {
|
|
|
return new ResponseEntity<String>("成功", HttpStatus.OK);
|
|
|
}
|
|
|
|
|
|
@@ -64,17 +65,18 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 删除用户权限
|
|
|
+ *
|
|
|
* @param privilegeInfo
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseEntity<String> deleteUserAllPrivilege(String privilegeInfo) {
|
|
|
- Assert.isJsonObject(privilegeInfo,"请求报文不是有效的json格式");
|
|
|
+ Assert.isJsonObject(privilegeInfo, "请求报文不是有效的json格式");
|
|
|
|
|
|
- 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,18 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
@Override
|
|
|
public ResponseEntity<String> savePrivilegeGroup(String privilegeGroupInfo) {
|
|
|
|
|
|
- Assert.isJsonObject(privilegeGroupInfo,"请求报文不是有效的json格式");
|
|
|
+ Assert.isJsonObject(privilegeGroupInfo, "请求报文不是有效的json格式");
|
|
|
|
|
|
- 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);
|
|
|
}
|
|
|
|
|
|
@@ -104,26 +106,27 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 删除权限组
|
|
|
+ *
|
|
|
* @param privilegeGroupInfo
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseEntity<String> deletePrivilegeGroup(String privilegeGroupInfo) {
|
|
|
|
|
|
- Assert.isJsonObject(privilegeGroupInfo,"请求报文不是有效的json格式");
|
|
|
+ Assert.isJsonObject(privilegeGroupInfo, "请求报文不是有效的json格式");
|
|
|
|
|
|
- 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 +142,38 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
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("请求报文中未包含权限");
|
|
|
+ }
|
|
|
+
|
|
|
//根据权限组ID和商户ID查询是否有数据
|
|
|
List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
|
|
|
Assert.isNotNull(privilegeGroups, "当前没有权限操作权限组pgId = " + privilegeObj.getString("pgId"));
|
|
|
|
|
|
- if (!privilegeDAOImpl.addPrivilegeRel(privilegeObj)) {
|
|
|
- return new ResponseEntity<String>("添加权限失败", HttpStatus.INTERNAL_SERVER_ERROR);
|
|
|
+ JSONArray pIds = privilegeObj.getJSONArray("pIds");
|
|
|
+ int errorCount = 0;
|
|
|
+ for (int pIdIndex = 0; pIdIndex < pIds.size(); pIdIndex++) {
|
|
|
+ try {
|
|
|
+ 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,6 +202,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 员工添加权限或权限组
|
|
|
+ *
|
|
|
* @param privilegeInfo
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -192,7 +212,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
JSONObject privilegeObj = validateData(privilegeInfo);
|
|
|
//根据权限组ID和商户ID查询是否有数据
|
|
|
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.listIsNull(privilegeGroups, "已经存在该权限无需多次添加" + privilegeInfo);
|
|
|
|
|
|
@@ -205,6 +225,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 删除员工权限
|
|
|
+ *
|
|
|
* @param privilegeInfo
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -213,7 +234,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
JSONObject privilegeObj = validateDeleteStaffPrivilegeData(privilegeInfo);
|
|
|
//根据权限组ID和商户ID查询是否有数据
|
|
|
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 +247,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 数据校验
|
|
|
+ *
|
|
|
* @param privilegeInfo
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -245,7 +267,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
|
|
|
String pFlag = privilegeObj.getString("pFlag");//权限组
|
|
|
- if("1".equals(pFlag)){
|
|
|
+ if ("1".equals(pFlag)) {
|
|
|
validatePrivilegeGroup(privilegeObj);
|
|
|
return privilegeObj;
|
|
|
}
|
|
|
@@ -269,7 +291,7 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
|
|
|
String pFlag = privilegeObj.getString("pFlag");//权限组
|
|
|
- if("1".equals(pFlag)){
|
|
|
+ if ("1".equals(pFlag)) {
|
|
|
validatePrivilegeGroup(privilegeObj);
|
|
|
return privilegeObj;
|
|
|
}
|
|
|
@@ -279,28 +301,30 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
|
|
|
/**
|
|
|
* 权限组数据校验
|
|
|
+ *
|
|
|
* @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());
|
|
|
}
|
|
|
}
|
|
|
|