refactor(fire-check): 优化消防检查模块代码结构和消息发送逻辑
parent
f32954afe7
commit
40b2707990
|
|
@ -33,8 +33,8 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@DubboService
|
@DubboService
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
@ -59,11 +59,11 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
QueryWrapper<FireCheckListUserDO> listUserQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<FireCheckListUserDO> listUserQueryWrapper = new QueryWrapper<>();
|
||||||
listUserQueryWrapper.eq("user_id", fireCheckQry.getUserId());
|
listUserQueryWrapper.eq("user_id", fireCheckQry.getUserId());
|
||||||
listUserQueryWrapper.eq("corpinfo_id", fireCheckQry.getCorpinfoId());
|
listUserQueryWrapper.eq("corpinfo_id", fireCheckQry.getCorpinfoId());
|
||||||
List<FireCheckListUserDO> fireCheckListUserDOList = fireCheckListUserMapper.selectList(listUserQueryWrapper);
|
List<FireCheckListUserDO> fireCheckListUserList = fireCheckListUserMapper.selectList(listUserQueryWrapper);
|
||||||
if (CollUtil.isEmpty(fireCheckListUserDOList)) {
|
if (CollUtil.isEmpty(fireCheckListUserList)) {
|
||||||
return MultiResponse.of(Collections.emptyList());
|
return MultiResponse.of(Collections.emptyList());
|
||||||
}
|
}
|
||||||
Set<String> fireCheckIdSet = fireCheckListUserDOList.stream()
|
Set<String> fireCheckIdSet = fireCheckListUserList.stream()
|
||||||
.map(FireCheckListUserDO::getFireCheckId)
|
.map(FireCheckListUserDO::getFireCheckId)
|
||||||
.filter(StringUtils::isNotEmpty)
|
.filter(StringUtils::isNotEmpty)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
@ -73,11 +73,11 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
QueryWrapper<FireCheckListDO> listQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<FireCheckListDO> listQueryWrapper = new QueryWrapper<>();
|
||||||
listQueryWrapper.in("fire_check_id", fireCheckIdSet);
|
listQueryWrapper.in("fire_check_id", fireCheckIdSet);
|
||||||
listQueryWrapper.eq("corpinfo_id", fireCheckQry.getCorpinfoId());
|
listQueryWrapper.eq("corpinfo_id", fireCheckQry.getCorpinfoId());
|
||||||
List<FireCheckListDO> fireCheckListDOList = fireCheckListMapper.selectList(listQueryWrapper);
|
List<FireCheckListDO> fireCheckListList = fireCheckListMapper.selectList(listQueryWrapper);
|
||||||
if (CollUtil.isEmpty(fireCheckListDOList)) {
|
if (CollUtil.isEmpty(fireCheckListList)) {
|
||||||
return MultiResponse.of(Collections.emptyList());
|
return MultiResponse.of(Collections.emptyList());
|
||||||
}
|
}
|
||||||
List<FireCheckListByUserCO> result = fireCheckListDOList.stream()
|
List<FireCheckListByUserCO> result = fireCheckListList.stream()
|
||||||
.map(this::buildFireCheckListByUserCO)
|
.map(this::buildFireCheckListByUserCO)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
return MultiResponse.of(result);
|
return MultiResponse.of(result);
|
||||||
|
|
@ -95,8 +95,8 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
QueryWrapper<FireCheckListUserDO> listUserQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<FireCheckListUserDO> listUserQueryWrapper = new QueryWrapper<>();
|
||||||
listUserQueryWrapper.eq("fire_check_id", fireCheckWorkChangeCmd.getFireCheckId());
|
listUserQueryWrapper.eq("fire_check_id", fireCheckWorkChangeCmd.getFireCheckId());
|
||||||
listUserQueryWrapper.eq("user_id", fireCheckWorkChangeCmd.getOldUserId());
|
listUserQueryWrapper.eq("user_id", fireCheckWorkChangeCmd.getOldUserId());
|
||||||
List<FireCheckListUserDO> fireCheckListUserDOList = fireCheckListUserMapper.selectList(listUserQueryWrapper);
|
List<FireCheckListUserDO> fireCheckListUserList = fireCheckListUserMapper.selectList(listUserQueryWrapper);
|
||||||
if (CollUtil.isEmpty(fireCheckListUserDOList)) {
|
if (CollUtil.isEmpty(fireCheckListUserList)) {
|
||||||
return SingleResponse.buildFailure("DATA_NOT_FOUND", "未查询到待交接的消防检查工作");
|
return SingleResponse.buildFailure("DATA_NOT_FOUND", "未查询到待交接的消防检查工作");
|
||||||
}
|
}
|
||||||
QueryWrapper<FireCheckListUserDO> existsQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<FireCheckListUserDO> existsQueryWrapper = new QueryWrapper<>();
|
||||||
|
|
@ -106,27 +106,32 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
if (existsCount != null && existsCount > 0) {
|
if (existsCount != null && existsCount > 0) {
|
||||||
return SingleResponse.buildFailure("DATA_EXISTS", "新责任人已存在于该消防检查工作中");
|
return SingleResponse.buildFailure("DATA_EXISTS", "新责任人已存在于该消防检查工作中");
|
||||||
}
|
}
|
||||||
UserDO newUser = getNewUser(fireCheckWorkChangeCmd);
|
|
||||||
for (FireCheckListUserDO fireCheckListUserDO : fireCheckListUserDOList) {
|
UserDO newUser = getNewUser(fireCheckWorkChangeCmd.getUserId());
|
||||||
|
for (FireCheckListUserDO fireCheckListUserDO : fireCheckListUserList) {
|
||||||
fireCheckListUserDO.setUserId(fireCheckWorkChangeCmd.getUserId());
|
fireCheckListUserDO.setUserId(fireCheckWorkChangeCmd.getUserId());
|
||||||
fireCheckListUserDO.setDepartmentId(resolveDepartmentId(fireCheckWorkChangeCmd, newUser));
|
fireCheckListUserDO.setDepartmentId(resolveDepartmentId(fireCheckWorkChangeCmd, newUser));
|
||||||
fireCheckListUserDO.setCorpinfoId(resolveCorpinfoId(fireCheckWorkChangeCmd, newUser));
|
fireCheckListUserDO.setCorpinfoId(resolveCorpinfoId(fireCheckWorkChangeCmd, newUser));
|
||||||
fireCheckListUserMapper.updateById(fireCheckListUserDO);
|
fireCheckListUserMapper.updateById(fireCheckListUserDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
FireCheckListDO fireCheckListDO = getFireCheckList(fireCheckWorkChangeCmd.getFireCheckId());
|
FireCheckListDO fireCheckListDO = getFireCheckList(fireCheckWorkChangeCmd.getFireCheckId());
|
||||||
sendWorkChangeMessage(fireCheckWorkChangeCmd, fireCheckListDO);
|
sendWorkChangeMessage(fireCheckWorkChangeCmd, fireCheckListDO);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
private FireCheckListByUserCO buildFireCheckListByUserCO(FireCheckListDO fireCheckListDO) {
|
private FireCheckListByUserCO buildFireCheckListByUserCO(FireCheckListDO fireCheckListDO) {
|
||||||
FireCheckListByUserCO fireCheckListByUserCO = new FireCheckListByUserCO();
|
FireCheckListByUserCO result = new FireCheckListByUserCO();
|
||||||
fireCheckListByUserCO.setFireCheckId(fireCheckListDO.getFireCheckId());
|
result.setFireCheckId(fireCheckListDO.getFireCheckId());
|
||||||
fireCheckListByUserCO.setWorkProject("消防检查");
|
result.setWorkProject("消防检查");
|
||||||
fireCheckListByUserCO.setWorkContent(buildWorkContent(fireCheckListDO));
|
result.setWorkContent(buildWorkContent(fireCheckListDO));
|
||||||
return fireCheckListByUserCO;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildWorkContent(FireCheckListDO fireCheckListDO) {
|
private String buildWorkContent(FireCheckListDO fireCheckListDO) {
|
||||||
|
if (fireCheckListDO == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
if (StringUtils.isNotEmpty(fireCheckListDO.getFireCheckName())
|
if (StringUtils.isNotEmpty(fireCheckListDO.getFireCheckName())
|
||||||
&& StringUtils.isNotEmpty(fireCheckListDO.getFireCheckTypeName())) {
|
&& StringUtils.isNotEmpty(fireCheckListDO.getFireCheckTypeName())) {
|
||||||
return fireCheckListDO.getFireCheckName() + "(" + fireCheckListDO.getFireCheckTypeName() + ")";
|
return fireCheckListDO.getFireCheckName() + "(" + fireCheckListDO.getFireCheckTypeName() + ")";
|
||||||
|
|
@ -137,12 +142,12 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
return StringUtils.defaultString(fireCheckListDO.getFireCheckTypeName());
|
return StringUtils.defaultString(fireCheckListDO.getFireCheckTypeName());
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserDO getNewUser(FireCheckWorkChangeCmd fireCheckWorkChangeCmd) {
|
private UserDO getNewUser(Long userId) {
|
||||||
List<UserDO> userDOList = userRepository.getListById(Collections.singletonList(fireCheckWorkChangeCmd.getUserId()));
|
List<UserDO> userList = userRepository.getListById(Collections.singletonList(userId));
|
||||||
if (CollUtil.isEmpty(userDOList)) {
|
if (CollUtil.isEmpty(userList)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return userDOList.get(0);
|
return userList.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Long resolveDepartmentId(FireCheckWorkChangeCmd fireCheckWorkChangeCmd, UserDO newUser) {
|
private Long resolveDepartmentId(FireCheckWorkChangeCmd fireCheckWorkChangeCmd, UserDO newUser) {
|
||||||
|
|
@ -180,10 +185,13 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
messageSendCmd.setTargetCmd(messageTargetCmd);
|
messageSendCmd.setTargetCmd(messageTargetCmd);
|
||||||
messageSendCmd.setSourceCode(messageConfig.getFireCheckPending());
|
messageSendCmd.setSourceCode(messageConfig.getFireCheckPending());
|
||||||
messageSendCmd.setNeedTokenEnum(false);
|
messageSendCmd.setNeedTokenEnum(false);
|
||||||
Map<String, Object> sendParams = buildSendParams(fireCheckWorkChangeCmd, fireCheckListDO);
|
messageSendCmd.setParams(buildSendParams(fireCheckWorkChangeCmd, fireCheckListDO));
|
||||||
messageSendCmd.setParams(sendParams);
|
|
||||||
log.info("消防检查工作交接发送消息参数:{}", JSONUtil.toJsonStr(messageSendCmd));
|
log.info("消防检查工作交接发送消息参数:{}", JSONUtil.toJsonStr(messageSendCmd));
|
||||||
messageFacade.send(messageSendCmd);
|
SingleResponse<Boolean> response = messageFacade.send(messageSendCmd);
|
||||||
|
log.info("消防检查工作交接发送消息结果:{}", JSONUtil.toJsonStr(response));
|
||||||
|
if (response == null || !response.isSuccess() || !Boolean.TRUE.equals(response.getData())) {
|
||||||
|
log.warn("消防检查工作交接消息发送未成功, fireCheckId:{}, userId:{}", fireCheckWorkChangeCmd.getFireCheckId(), fireCheckWorkChangeCmd.getUserId());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("消防检查工作交接发送消息失败", e);
|
log.error("消防检查工作交接发送消息失败", e);
|
||||||
}
|
}
|
||||||
|
|
@ -192,16 +200,16 @@ public class ZcloudFireCheckFacadeImpl implements ZcloudFireCheckFacade {
|
||||||
private Map<String, Object> buildSendParams(FireCheckWorkChangeCmd fireCheckWorkChangeCmd, FireCheckListDO fireCheckListDO) {
|
private Map<String, Object> buildSendParams(FireCheckWorkChangeCmd fireCheckWorkChangeCmd, FireCheckListDO fireCheckListDO) {
|
||||||
String fireCheckName = fireCheckListDO == null ? "" : StringUtils.defaultString(fireCheckListDO.getFireCheckName());
|
String fireCheckName = fireCheckListDO == null ? "" : StringUtils.defaultString(fireCheckListDO.getFireCheckName());
|
||||||
String fireCheckTypeName = fireCheckListDO == null ? "" : StringUtils.defaultString(fireCheckListDO.getFireCheckTypeName());
|
String fireCheckTypeName = fireCheckListDO == null ? "" : StringUtils.defaultString(fireCheckListDO.getFireCheckTypeName());
|
||||||
return Collections.unmodifiableMap(
|
return Stream.of(
|
||||||
java.util.stream.Stream.of(
|
new Object[]{"FirefightinglistName", fireCheckName},
|
||||||
new Object[]{"FirefightinglistName", fireCheckName},
|
new Object[]{"checkPeriod", fireCheckTypeName},
|
||||||
new Object[]{"checkPeriod", fireCheckTypeName},
|
new Object[]{"oldUserId", fireCheckWorkChangeCmd.getOldUserId()},
|
||||||
new Object[]{"oldUserId", fireCheckWorkChangeCmd.getOldUserId()},
|
new Object[]{"newUserId", fireCheckWorkChangeCmd.getUserId()},
|
||||||
new Object[]{"newUserId", fireCheckWorkChangeCmd.getUserId()},
|
new Object[]{"newUserName", StringUtils.defaultString(fireCheckWorkChangeCmd.getUserName())},
|
||||||
new Object[]{"newUserName", StringUtils.defaultString(fireCheckWorkChangeCmd.getUserName())}
|
new Object[]{"workProject", "消防检查"},
|
||||||
)
|
new Object[]{"workContent", buildWorkContent(fireCheckListDO)}
|
||||||
.filter(item -> Objects.nonNull(item[1]))
|
)
|
||||||
.collect(Collectors.toMap(item -> String.valueOf(item[0]), item -> item[1], (left, right) -> right))
|
.filter(item -> Objects.nonNull(item[1]))
|
||||||
);
|
.collect(Collectors.toMap(item -> String.valueOf(item[0]), item -> item[1], (left, right) -> right));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue