diff --git a/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java index 3af5c47..fe483f4 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java @@ -66,4 +66,11 @@ public class MailQueryParam extends BasePage{ @Schema(description = "内容") private String content; + + + @Schema(description = "身份证id") + private String contactIdCard; + + @Schema(description = "身份证ids") + private Set contactIdCards; } diff --git a/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java b/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java index 77f4712..971ad3f 100644 --- a/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.mapper.MailMapper; import com.biutag.supervision.pojo.entity.mailbox.Mail; import com.biutag.supervision.pojo.param.MailQueryParam; +import com.biutag.supervision.repository.base.BaseDAO; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -20,7 +21,7 @@ import java.util.List; * @Date 2025/12/18 16:44 */ @Service -public class MailResourceService { +public class MailResourceService extends BaseDAO { @Resource @@ -28,13 +29,22 @@ public class MailResourceService { public List query(MailQueryParam param) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + setBatchQuery(param.getContactIdCard(), param.getContactIdCards(), queryWrapper, Mail::getContactIdCard); queryWrapper.eq(StrUtil.isNotBlank(param.getId()), Mail::getId, param.getId()); queryWrapper.in(CollectionUtil.isNotEmpty(param.getIds()), Mail::getId, param.getIds()); queryWrapper.eq(StrUtil.isNotBlank(param.getSecondDeptId()), Mail::getSecondDeptId, param.getSecondDeptId()); queryWrapper.in(CollectionUtil.isNotEmpty(param.getSecondDeptIds()), Mail::getSecondDeptId, param.getSecondDeptIds()); queryWrapper.eq(StrUtil.isNotBlank(param.getThreeDeptId()), Mail::getThreeDeptId, param.getThreeDeptId()); queryWrapper.in(CollectionUtil.isNotEmpty(param.getThreeDeptIds()), Mail::getThreeDeptId, param.getThreeDeptIds()); - queryWrapper.between(CollectionUtil.isNotEmpty(param.getCreateTime()), Mail::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); + queryWrapper.eq(StrUtil.isNotBlank(param.getContactName()), Mail::getContactName, param.getContactName()); + queryWrapper.eq(StrUtil.isNotBlank(param.getContactPhone()), Mail::getContactPhone, param.getContactPhone()); + queryWrapper.eq(StrUtil.isNotBlank(param.getContent()), Mail::getContent, param.getContent()); + if (!param.getMailTime().isEmpty() && param.getMailTime().size() >= 2) { + queryWrapper.between(Mail::getMailTime, param.getMailTime().get(0), param.getMailTime().get(1)); + } + if (!param.getCreateTime().isEmpty() && param.getCreateTime().size() >= 2) { + queryWrapper.between(Mail::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); + } if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { return Collections.emptyList(); } diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java index 18db4e6..7e356e3 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -30,13 +30,10 @@ import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollection import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionPublicApprovalEnum; import com.biutag.supervision.pojo.enums.supDict.SupDictEnum; import com.biutag.supervision.pojo.model.UserAuth; +import com.biutag.supervision.pojo.param.*; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; -import com.biutag.supervision.pojo.param.DataCaseVerifQueryParam; -import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; -import com.biutag.supervision.pojo.param.SupDepartQueryParam; -import com.biutag.supervision.pojo.param.SupPoliceQueryParam; import com.biutag.supervision.pojo.param.complaintCollectionBlame.ComplaintCollectionBlameQueryParam; import com.biutag.supervision.pojo.param.complaintCollectionCheckFile.ComplaintCollectionCheckFileQueryParam; import com.biutag.supervision.pojo.param.complaintCollectionFile.ComplaintCollectionFileQueryParam; @@ -53,6 +50,7 @@ import com.biutag.supervision.repository.complaintCollectionCheckFile.ComplaintC import com.biutag.supervision.repository.complaintCollectionFile.ComplaintCollectionFileResourceService; import com.biutag.supervision.repository.dataCaseVerif.DataCaseVerifResourceService; import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService; +import com.biutag.supervision.repository.mail.MailResourceService; import com.biutag.supervision.repository.supPolice.SupPoliceResourceService; import com.biutag.supervision.repository.supdepart.SupDepartResourceService; import com.biutag.supervision.service.*; @@ -72,6 +70,7 @@ import java.net.URLEncoder; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -103,6 +102,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic private final DataPetitionComplaintResourceService dataPetitionComplaintResourceService; private final DataCaseVerifResourceService dataCaseVerifResourceService; private final NegativeProblemRelationService negativeProblemRelationService; + private final MailResourceService mailResourceService; @Override @Transactional(rollbackFor = Exception.class) @@ -445,15 +445,17 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic List sfssList = buildSfss(request); List xfsjList = buildXfsj(request); List ajhcList = buildAjhc(request); - List complaintCollectionRepeatDTOS = Stream.of(sfssList, xfsjList, ajhcList) + List jzxxList = buildJzxx(request); + AtomicInteger seqNo = new AtomicInteger(1); + List complaintCollectionRepeatDTOS = Stream.of(sfssList, xfsjList, ajhcList, jzxxList) .flatMap(Collection::stream) - .filter(dto -> - StrUtil.isNotBlank(dto.getResponderIdCode()) - && StrUtil.isNotBlank(dto.getOriginId()) - ) + .filter(dto -> StrUtil.isNotBlank(dto.getOriginId())) .collect(Collectors.toMap( - dto -> dto.getResponderIdCode() + "_" + dto.getOriginId(), - Function.identity(), + dto -> { + // 只在生成key时使用临时序号,不修改原数据 + String idCode = StrUtil.isNotBlank(dto.getResponderIdCode()) ? dto.getResponderIdCode() : "TEMP_" + seqNo.getAndIncrement(); + return idCode + "_" + dto.getOriginId(); + }, Function.identity(), (oldVal, newVal) -> oldVal )) .values() @@ -473,7 +475,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic ComplaintCollectionCheckFileQueryParam complaintCollectionCheckFileQueryParam = new ComplaintCollectionCheckFileQueryParam(); complaintCollectionCheckFileQueryParam.setComplaintId(request.getId()); List complaintCollectionCheckFiles = complaintCollectionCheckFileResourceService.query(complaintCollectionCheckFileQueryParam); - if(CollectionUtil.isNotEmpty(complaintCollectionCheckFiles)){ + if (CollectionUtil.isNotEmpty(complaintCollectionCheckFiles)) { List files = complaintCollectionCheckFiles.stream().map(item -> { ComplaintCollectionHandlerDataVo.FileVo fileVo = new ComplaintCollectionHandlerDataVo.FileVo(); fileVo.setFileName(item.getFileName()); @@ -847,4 +849,26 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic .toList(); } + + private List buildJzxx(ComplaintCollectionMailRepeattRequest request) { + MailQueryParam mailQueryParam = new MailQueryParam(); + mailQueryParam.setContactIdCard(request.getResponderIdCode()); + mailQueryParam.setContactName(request.getResponderName()); + mailQueryParam.setContactPhone(request.getResponderPhone()); + return mailResourceService.query(mailQueryParam) + .stream() + .map(item -> { + ComplaintCollectionRepeatDTO dto = new ComplaintCollectionRepeatDTO(); + dto.setResponderPhone(item.getContactPhone()); + dto.setResponderName(item.getContactName()); + dto.setOriginId(item.getId()); + dto.setDiscoveryTime(item.getMailTime()); + dto.setThingDesc(item.getContent()); + dto.setSourceTable(ProblemSourcesEnum.JZXX.getLabel()); + return dto; + }) + .toList(); + + } + }