diff --git a/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java b/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java index 8913ddc..44352b4 100644 --- a/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java +++ b/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java @@ -14,16 +14,15 @@ import com.biutag.supervision.job.Job; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.DataPetitionComplaintReplenishDto; import com.biutag.supervision.pojo.entity.DataMailbox; -import com.biutag.supervision.pojo.entity.DataPetitionComplaint; -import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.SupDictData; +import com.biutag.supervision.pojo.entity.mailbox.Mail; +import com.biutag.supervision.pojo.param.MailQueryParam; import com.biutag.supervision.pojo.param.NegativeQueryParam; +import com.biutag.supervision.repository.mail.MailResourceService; import com.biutag.supervision.service.DataMailboxService; -import com.biutag.supervision.service.NegativeService; import com.biutag.supervision.service.SupDictDataService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -46,6 +45,7 @@ public class DataMailBoxController { private final SupDictDataService dictDataService; + private final MailResourceService mailResourceService; private final Job job; @GetMapping @@ -72,6 +72,28 @@ public class DataMailBoxController { } + @GetMapping("/mailboxList") + public Result> mailBoxList(NegativeQueryParam param) { + MailQueryParam mailQueryParam = new MailQueryParam(); + mailQueryParam.setId(param.getOriginId()); + mailQueryParam.setSource("mailbox"); + mailQueryParam.setContent(param.getThingDesc()); + mailQueryParam.setCurrent(param.getCurrent()); + mailQueryParam.setSize(param.getSize()); + if (StrUtil.isNotBlank(param.getResponderKey()) && StrUtil.isNotBlank(param.getResponderValue())) { + switch (param.getResponderKey()) { + case "name": + mailQueryParam.setContactName(param.getResponderValue()); + break; + case "phone": + mailQueryParam.setContactPhone(param.getResponderValue()); + break; + } + } + Page page = mailResourceService.page(mailQueryParam); + return Result.success(page); + } + /** * 补充涉及问题 * */ 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 9118ba5..3af5c47 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java @@ -19,7 +19,7 @@ import java.util.Set; @Getter @Setter @Schema(description = "局长信箱mail表查询实体") -public class MailQueryParam { +public class MailQueryParam extends BasePage{ @Schema(description = "主键") @@ -51,5 +51,19 @@ public class MailQueryParam { private List createTime = new ArrayList<>(); + @Schema(description = "创建时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List mailTime = new ArrayList<>(); + + @Schema(description = "联系人") + private String contactName; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "来源") + private String source; + @Schema(description = "内容") + private String content; } 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 94e5191..77f4712 100644 --- a/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java @@ -3,6 +3,7 @@ package com.biutag.supervision.repository.mail; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; @@ -30,9 +31,9 @@ public class MailResourceService { 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::getId, param.getSecondDeptIds()); - queryWrapper.eq(StrUtil.isNotBlank(param.getThreeDeptId()), Mail::getId, param.getThreeDeptId()); - queryWrapper.in(CollectionUtil.isNotEmpty(param.getThreeDeptIds()), Mail::getId, param.getThreeDeptIds()); + 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)); if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { return Collections.emptyList(); @@ -57,6 +58,29 @@ public class MailResourceService { } + /** + * 分页查询方法 + * + * @param param 查询参数 + * @return 分页结果 + */ + public Page page(MailQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + 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.eq(StrUtil.isNotBlank(param.getContactName()), Mail::getContactName, param.getContactName()); + queryWrapper.eq(StrUtil.isNotBlank(param.getContactPhone()), Mail::getContactPhone, param.getContactPhone()); + queryWrapper.like(StrUtil.isNotBlank(param.getContent()), Mail::getContent, param.getContent()); + // getDiscoveryTime 对应 mailTime + if (!param.getMailTime().isEmpty() && param.getMailTime().size() >= 2) { + queryWrapper.between(Mail::getMailTime, param.getMailTime().get(0), param.getMailTime().get(1)); + } + return mailMapper.selectPage(new Page<>(param.getCurrent(), param.getSize()), queryWrapper); + } }