Map<String, OrganizationEo> organizationEoMap = comDataComponent.getAllOrganizationMap(); Map<String, UserEo> userEoMap =comDataComponent.getUserMapByUid(); String code = ""; SchemaColumnRuleResponseDto responseDto = new SchemaColumnRuleResponseDto(); BeanUtils.copyProperties(requestDto,responseDto); //用户是否存在 if(!CollectionUtils.isEmpty(requestDto.getColumnPermissionUserList())){ for (String userUid : requestDto.getColumnPermissionUserList()) { if(!userEoMap.containsKey(userUid)){ code = Message.NOT_EXIST.getCode(); responseDto.setResultCode(code); responseDto.setResultMsg(userUid+messageInfo.getMessageByCode(code)); return responseDto; } } schemaColumnRuleEo.setColumnPermissionUserList(JSONObject.toJSONString(requestDto.getColumnPermissionUserList())); } //用户组织是否存在 if(!CollectionUtils.isEmpty(requestDto.getColumnPermissionOrgList())){ List<String> orgList = requestDto.getColumnPermissionOrgList(); for (String orgCode : orgList) { if(!organizationEoMap.containsKey(orgCode)){ code = Message.NOT_EXIST.getCode(); responseDto.setResultCode(code); responseDto.setResultMsg(orgCode+messageInfo.getMessageByCode(code)); return responseDto; } } schemaColumnRuleEo.setColumnPermissionOrgList(JSONObject.toJSONString(orgList)); } return new SchemaColumnRuleResponseDto();代码优化
时间: 2023-12-31 21:06:36 浏览: 124
可以优化的地方有:
1. 在用户是否存在的判断中,如果存在多个用户不存在,每次都会将 code 和 responseDto 的内容进行设置,可以将这部分代码提取出来,遍历完所有用户再进行统一设置。
2. 在用户组织是否存在的判断中,同样存在多个不存在的情况,可以将判断和设置过程提取出来。
3. 可以将 JSONObject.toJSONString() 方法的调用提取到一个方法中,避免重复调用。
4. 在最后返回结果时,可以直接返回新创建的 responseDto 对象,避免创建了一个无用的对象。
代码优化后的示例:
```
Map<String, OrganizationEo> organizationEoMap = comDataComponent.getAllOrganizationMap();
Map<String, UserEo> userEoMap = comDataComponent.getUserMapByUid();
SchemaColumnRuleResponseDto responseDto = new SchemaColumnRuleResponseDto();
BeanUtils.copyProperties(requestDto, responseDto);
List<String> notExistUserList = new ArrayList<>();
List<String> notExistOrgList = new ArrayList<>();
// 判断是否存在用户
for (String userUid : requestDto.getColumnPermissionUserList()) {
if (!userEoMap.containsKey(userUid)) {
notExistUserList.add(userUid);
}
}
if (!notExistUserList.isEmpty()) {
String message = messageInfo.getMessageByCode(Message.NOT_EXIST.getCode());
responseDto.setResultCode(Message.NOT_EXIST.getCode());
responseDto.setResultMsg(notExistUserList.toString() + message);
return responseDto;
}
schemaColumnRuleEo.setColumnPermissionUserList(toJsonString(requestDto.getColumnPermissionUserList()));
// 判断是否存在用户组织
for (String orgCode : requestDto.getColumnPermissionOrgList()) {
if (!organizationEoMap.containsKey(orgCode)) {
notExistOrgList.add(orgCode);
}
}
if (!notExistOrgList.isEmpty()) {
String message = messageInfo.getMessageByCode(Message.NOT_EXIST.getCode());
responseDto.setResultCode(Message.NOT_EXIST.getCode());
responseDto.setResultMsg(notExistOrgList.toString() + message);
return responseDto;
}
schemaColumnRuleEo.setColumnPermissionOrgList(toJsonString(requestDto.getColumnPermissionOrgList()));
return responseDto;
// 将 list 转为 json 字符串的方法
private String toJsonString(List<?> list) {
if (CollectionUtils.isEmpty(list)) {
return null;
}
return JSONObject.toJSONString(list);
}
```
阅读全文