| | |
| | | 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; |
| | |
| | | |
| | | /** |
| | | * 删除用户权限 |
| | | * |
| | | * @param privilegeInfo |
| | | * @return |
| | | */ |
| | |
| | | return new ResponseEntity<String>("未知异常", HttpStatus.INTERNAL_SERVER_ERROR); |
| | | } |
| | | |
| | | @Override |
| | | public ResponseEntity<String> editPrivilegeGroup(String privilegeGroupInfo) { |
| | | |
| | | Assert.isJsonObject(privilegeGroupInfo, "请求报文不是有效的json格式"); |
| | | |
| | | 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); |
| | | } |
| | | |
| | | return new ResponseEntity<String>("未知异常", HttpStatus.INTERNAL_SERVER_ERROR); |
| | | } |
| | | |
| | | /** |
| | | * 删除权限组 |
| | | * |
| | | * @param privilegeGroupInfo |
| | | * @return |
| | | */ |
| | |
| | | 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")); |
| | | |
| | | 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)) { |
| | | return new ResponseEntity<String>("添加权限失败", HttpStatus.INTERNAL_SERVER_ERROR); |
| | | errorCount++; |
| | | } |
| | | |
| | | return new ResponseEntity<String>("成功", HttpStatus.OK); |
| | | } catch (Exception e) { |
| | | logger.error("保存权限关系失败", e); |
| | | errorCount++; |
| | | } |
| | | } |
| | | |
| | | 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 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 员工添加权限或权限组 |
| | | * |
| | | * @param privilegeInfo |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> addStaffPrivilegeOrPrivilegeGroup(String privilegeInfo) { |
| | | |
| | | JSONObject privilegeObj = validateData(privilegeInfo); |
| | | Assert.jsonObjectHaveKey(privilegeInfo, "pIds", "请求报文中未包含pIds节点"); |
| | | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 删除员工权限 |
| | | * |
| | | * @param privilegeInfo |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 数据校验 |
| | | * |
| | | * @param privilegeInfo |
| | | * @return |
| | | */ |
| | |
| | | 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(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)){ |
| | | validatePrivilegeGroup(privilegeObj); |
| | |
| | | |
| | | /** |
| | | * 权限组数据校验 |
| | | * |
| | | * @param privilegeObj |
| | | */ |
| | | private void validatePrivilegeGroup(JSONObject privilegeObj){ |
| | |
| | | |
| | | /** |
| | | * 权限数据校验 |
| | | * |
| | | * @param privilegeObj |
| | | */ |
| | | private void validatePrivilege(JSONObject privilegeObj){ |