因为几个查询条件耗时久查到结果就提前结束,但是有重复的地方觉得不够优雅 if 判断那一块
private void prepareBookingOffice(BrChangedEvent brChangedEvent) {
BrGeneralInfoDto brGeneralInfoDto = Optional.ofNullable(brChangedEvent)
.map(BrChangedEvent::getBrDto)
.map(BrDto::getGeneralInfo)
.orElse(BrGeneralInfoDto.builder().build());
if (StringUtils.isNotEmpty(brGeneralInfoDto.getBookingOfficeCode())) {
return;
}
// 耗时
String officeCode = getOfficeCodeByOfficeUnlLocCode(brGeneralInfoDto);
// 重复
if (StringUtils.isNotEmpty(officeCode)) {
brGeneralInfoDto.setBookingOfficeCode(officeCode);
return;
}
// 耗时
officeCode = getOfficeCodeByPor(brChangedEvent);
// 重复
if (StringUtils.isNotEmpty(officeCode)) {
brGeneralInfoDto.setBookingOfficeCode(officeCode);
return;
}
// 耗时
officeCode = getOfficeCodeByFnd(brChangedEvent);
// 重复
if (StringUtils.isNotEmpty(officeCode)) {
brGeneralInfoDto.setBookingOfficeCode(officeCode);
return;
}
// 耗时
officeCode = getOfficeCodeByPol(brChangedEvent);
// 重复
if (StringUtils.isNotEmpty(officeCode)) {
brGeneralInfoDto.setBookingOfficeCode(officeCode);
}
}