refactor(fire-check): 优化消防检查模块代码结构和消息发送逻辑

dev_workchange
zhaokai 2026-06-23 09:45:41 +08:00
parent f32954afe7
commit 40b2707990
1 changed files with 42 additions and 34 deletions

View File

@ -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])) .filter(item -> Objects.nonNull(item[1]))
.collect(Collectors.toMap(item -> String.valueOf(item[0]), item -> item[1], (left, right) -> right)) .collect(Collectors.toMap(item -> String.valueOf(item[0]), item -> item[1], (left, right) -> right));
);
} }
} }