feat(): 优化消防队伍详情查询第三方逻辑

dev
lishiwei 2026-07-22 16:50:07 +08:00
parent 74681699f4
commit b14bda36c5
1 changed files with 11 additions and 4 deletions

View File

@ -137,10 +137,15 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F
if (brigade == null) {
throw new BizException("消防队伍不存在");
}
return buildCO(brigade,
getLeaderUserMap(Collections.singletonList(brigade)),
fireBrigadeOnlineStatusService.refreshOnlineMap(Collections.singletonList(brigade)),
fireBrigadeUserRepository.countByFireBrigadeIds(Collections.singletonList(brigade.getFireBrigadeId())));
List<FireBrigadeDO> brigades = Collections.singletonList(brigade);
List<String> brigadeBizIds = Collections.singletonList(brigade.getFireBrigadeId());
Map<String, Boolean> onlineMap = fireBrigadeOnlineStatusService.getOnlineMapForList(brigadeBizIds, currentTenantId());
FireBrigadeCO co = buildCO(brigade,
getLeaderUserMap(brigades),
onlineMap,
fireBrigadeUserRepository.countByFireBrigadeIds(brigadeBizIds));
fireBrigadeOnlineStatusService.scheduleRefreshOnlineMap(brigades);
return co;
}
@Override
@ -163,6 +168,7 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F
brigade.setLeaderName(cmd.getLeader());
brigade.setLeaderPhone(cmd.getLeaderPhone());
brigade.setLeaderDeptName(cmd.getLeaderDept());
brigade.setOrgName(cmd.getOrg());
brigade.setAddress(cmd.getAddress());
brigade.setDutyPhone(cmd.getDutyPhone());
brigade.setEstablishDate(cmd.getFounded());
@ -211,6 +217,7 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F
co.setLeaderDeptName(selectText(leader == null ? null : leader.getDepartmentName(), co.getLeaderDeptName()));
co.setLeaderName(selectText(leader == null ? null : leader.getName(), co.getLeaderName()));
co.setLeaderPhone(selectText(leader == null ? null : leader.getPhone(), co.getLeaderPhone()));
co.setOrg(brigade.getOrgName());
co.setMemberCount(memberCountMap == null ? 0 : memberCountMap.getOrDefault(brigade.getFireBrigadeId(), 0));
boolean online = onlineMap != null && Boolean.TRUE.equals(onlineMap.get(brigade.getFireBrigadeId()));
co.setOnline(online);