|
|
@@ -232,18 +232,34 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
@Override
|
|
|
public ResponseEntity<String> addStaffPrivilegeOrPrivilegeGroup(String privilegeInfo) {
|
|
|
|
|
|
- JSONObject privilegeObj = validateData(privilegeInfo);
|
|
|
- //根据权限组ID和商户ID查询是否有数据
|
|
|
- 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);
|
|
|
+ //根据权限组ID和商户ID查询是否有数据
|
|
|
+ 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);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -298,21 +314,18 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
|
|
|
return privilegeObj;
|
|
|
}
|
|
|
|
|
|
- private JSONObject validateData(String privilegeInfo) {
|
|
|
+ private JSONObject validateData(JSONObject privilegeObj) {
|
|
|
|
|
|
- Assert.isJsonObject(privilegeInfo, "请求报文不是有效的json格式");
|
|
|
+ Assert.jsonObjectHaveKey(privilegeObj, "pId", "请求报文中未包含pId节点");
|
|
|
|
|
|
- Assert.jsonObjectHaveKey(privilegeInfo, "pId", "请求报文中未包含pId节点");
|
|
|
+ Assert.jsonObjectHaveKey(privilegeObj, "pFlag", "请求报文中未包含pFlag节点");
|
|
|
|
|
|
- Assert.jsonObjectHaveKey(privilegeInfo, "pFlag", "请求报文中未包含pFlag节点");
|
|
|
-
|
|
|
- Assert.jsonObjectHaveKey(privilegeInfo, "userId", "请求报文中未包含userId节点");
|
|
|
+ Assert.jsonObjectHaveKey(privilegeObj, "userId", "请求报文中未包含userId节点");
|
|
|
|
|
|
- Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "请求报文中未包含storeId节点");
|
|
|
+ Assert.jsonObjectHaveKey(privilegeObj, "storeId", "请求报文中未包含storeId节点");
|
|
|
|
|
|
- Assert.jsonObjectHaveKey(privilegeInfo, "storeTypeCd", "请求报文中未包含storeTypeCd节点");
|
|
|
+ Assert.jsonObjectHaveKey(privilegeObj, "storeTypeCd", "请求报文中未包含storeTypeCd节点");
|
|
|
|
|
|
- JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
|
|
|
String pFlag = privilegeObj.getString("pFlag");//权限组
|
|
|
if ("1".equals(pFlag)) {
|
|
|
validatePrivilegeGroup(privilegeObj);
|