云
2 天以前 657698fd2fb32794932474648dbaee9e284e38c8
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/meteringcheck/MesDvMeteringCheckController.java
@@ -116,14 +116,21 @@
        // 1. 批量获取关联数据
        Map<Long, MesDvMeteringDO> meteringMap = meteringService.getMeteringMap(
                convertSet(list, MesDvMeteringCheckDO::getMeteringId));
        Map<Long, AdminUserRespDTO> userMap = CollUtil.isNotEmpty(convertSet(list, MesDvMeteringCheckDO::getCheckUserId))
                ? adminUserApi.getUserMap(convertSet(list, MesDvMeteringCheckDO::getCheckUserId)) : Collections.emptyMap();
        var legacyUserIds = list.stream()
                .filter(check -> cn.hutool.core.util.StrUtil.isBlank(check.getCheckUserName()))
                .map(MesDvMeteringCheckDO::getCheckUserId).filter(java.util.Objects::nonNull)
                .collect(java.util.stream.Collectors.toSet());
        Map<Long, AdminUserRespDTO> userMap = legacyUserIds.isEmpty()
                ? Collections.emptyMap() : adminUserApi.getUserMap(legacyUserIds);
        // 2. 拼接 VO
        return BeanUtils.toBean(list, MesDvMeteringCheckRespVO.class, vo -> {
            MapUtils.findAndThen(meteringMap, vo.getMeteringId(),
                    metering -> vo.setMeteringCode(metering.getCode()).setMeteringName(metering.getName()));
            MapUtils.findAndThen(userMap, vo.getCheckUserId(),
                    user -> vo.setCheckUserNickname(user.getNickname()));
            if (cn.hutool.core.util.StrUtil.isBlank(vo.getCheckUserName())) {
                MapUtils.findAndThen(userMap, vo.getCheckUserId(),
                        user -> vo.setCheckUserName(user.getNickname()));
            }
            vo.setCheckUserNickname(vo.getCheckUserName());
        });
    }