diff --git a/src/main/java/com/biutag/supervision/pojo/vo/ConfinementVo.java b/src/main/java/com/biutag/supervision/pojo/vo/ConfinementVo.java index c160662..ba232f3 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/ConfinementVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/ConfinementVo.java @@ -1,6 +1,7 @@ package com.biutag.supervision.pojo.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.Data; @@ -91,4 +92,7 @@ public class ConfinementVo { private String roleId; private String userId; + + @Schema(description = "问题ID") + private String negativeId; } diff --git a/src/main/java/com/biutag/supervision/service/ConfinementService.java b/src/main/java/com/biutag/supervision/service/ConfinementService.java index 01e20a1..c13c7c9 100644 --- a/src/main/java/com/biutag/supervision/service/ConfinementService.java +++ b/src/main/java/com/biutag/supervision/service/ConfinementService.java @@ -10,21 +10,25 @@ import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.enums.RoleCodeEnum; import com.biutag.supervision.mapper.ConfinementMapper; import com.biutag.supervision.pojo.entity.Confinement; +import com.biutag.supervision.pojo.entity.NegativeBlame; import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.ConfinementQueryParam; +import com.biutag.supervision.pojo.param.negativeBlame.NegativeBlameConfinementQueryParam; import com.biutag.supervision.pojo.vo.ConfinementExcelVo; import com.biutag.supervision.pojo.vo.ConfinementVo; +import com.biutag.supervision.repository.negativeBlame.NegativeBlameResourceService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; @RequiredArgsConstructor @Service public class ConfinementService extends ServiceImpl { private final SupDepartService departService; + private final NegativeBlameResourceService negativeBlameResourceService; public Page page(ConfinementQueryParam param) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -57,8 +61,31 @@ public class ConfinementService extends ServiceImpl confinementVoPage = baseMapper.queryPage(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + List records = confinementVoPage.getRecords(); + if (CollectionUtils.isNotEmpty(records)){ + // 所有的禁闭ID + Set confinementIdList = records.stream().map(ConfinementVo::getId).collect(Collectors.toSet()); + // 去negativeBlame中找negativeId + NegativeBlameConfinementQueryParam negativeBlameQueryParam = new NegativeBlameConfinementQueryParam(); + negativeBlameQueryParam.setConfinementIds(confinementIdList); + negativeBlameQueryParam.setLeadConfinementIds(confinementIdList); + List negativeBlames = negativeBlameResourceService.queryConfinement(negativeBlameQueryParam); + // confinementId --- negativeId + Map negativeIdMap = new HashMap<>(); + for (NegativeBlame nb : negativeBlames) { + if (StrUtil.isNotBlank(nb.getNegativeId())) { + if (StrUtil.isNotBlank(nb.getConfinementId())) { + negativeIdMap.putIfAbsent(nb.getConfinementId(), nb.getNegativeId()); + } + if (StrUtil.isNotBlank(nb.getLeadConfinementId())) { + negativeIdMap.putIfAbsent(nb.getLeadConfinementId(), nb.getNegativeId()); + } + } + } + records.forEach(one -> one.setNegativeId(negativeIdMap.get(one.getId()))); + } + return confinementVoPage; }