From 178838bf8084cd86286026686b3e0081b88a09f0 Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Thu, 31 Jul 2025 10:38:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=92=8C=E5=8E=85=E9=95=BF=E4=BF=A1=E7=AE=B1?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lan/controller/ApiV1Controller.java | 47 ++++++++++++++++--- .../com/biutag/lan/domain/vo/MailDomain.java | 26 ++++++++++ 2 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailDomain.java diff --git a/mailbox-lan/src/main/java/com/biutag/lan/controller/ApiV1Controller.java b/mailbox-lan/src/main/java/com/biutag/lan/controller/ApiV1Controller.java index 11627f4..b65e1ad 100644 --- a/mailbox-lan/src/main/java/com/biutag/lan/controller/ApiV1Controller.java +++ b/mailbox-lan/src/main/java/com/biutag/lan/controller/ApiV1Controller.java @@ -3,12 +3,12 @@ package com.biutag.lan.controller; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.MD5; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.biutag.config.Minio; -import com.biutag.constants.AppConstants; import com.biutag.core.AjaxResult; import com.biutag.entity.system.Holiday; import com.biutag.enums.ErrorEnum; @@ -19,6 +19,7 @@ import com.biutag.lan.domain.bo.HolidayV1Req; import com.biutag.lan.domain.bo.HotApiV1Req; import com.biutag.lan.domain.bo.MailApiV1Req; import com.biutag.lan.domain.bo.MailEvaluateApiV1Req; +import com.biutag.lan.domain.vo.MailDomain; import com.biutag.lan.enums.MailCategoryEnums; import com.biutag.lan.mapper.BlackUserMapper; import com.biutag.lan.service.*; @@ -53,8 +54,6 @@ public class ApiV1Controller { private final MailService mailService; - private final MailMarkService mailMarkService; - private final HolidayMapper holidayMapper; private final Minio minio; @@ -65,6 +64,10 @@ public class ApiV1Controller { private final NoticeService noticeService; + private final MailFlowService flowService; + + private final MailApprovalService mailApprovalService; + private final String key = "mailbox"; @Value("${spring.profiles.active}") @@ -82,7 +85,12 @@ public class ApiV1Controller { if (active.equals("dev")) { continue; } - minio.upload(IOUtil.base64ToStream(attachment.getString("base64")), attachment.getString("filepath"), true); + Boolean fullPath = attachment.getBoolean("fullPath"); + if (Objects.isNull(fullPath)) { + fullPath = true; + } + String filepath = minio.upload(IOUtil.base64ToStream(attachment.getString("base64")), attachment.getString("filepath"), fullPath); + attachment.put("filepath", filepath); attachment.remove("base64"); } mail.setAttachments(JSON.toJSONString(attachments)); @@ -196,10 +204,36 @@ public class ApiV1Controller { } } + /** + * 对接厅长信箱 + * @param request + * @param mailId + * @return + */ + @GetMapping("mail/detail") + public AjaxResult mailDetail(HttpServletRequest request, + @RequestParam String mailId) { + validAuth(request); + MailDomain mailDomain = new MailDomain(); + Mail mail = mailService.getById(mailId); + if (StrUtil.isNotBlank(mail.getVerifyAttachments())) { + JSONArray array = JSON.parseArray(mail.getVerifyAttachments()); + for (int i = 0; i < array.size(); i++) { + JSONObject jsonObject = array.getJSONObject(i); + jsonObject.put("filepath", "http://65.47.60.145/lan-api/api/file/stream/" + jsonObject.getString("filepath")); + } + mail.setVerifyAttachments(array.toJSONString()); + } + mailDomain.setMail(mail); + mailDomain.setFlows(flowService.list(mailId)); + mailDomain.setApprovals(mailApprovalService.list(mailId)); + return AjaxResult.success(mailDomain); + } + @GetMapping("mail/12345") public AjaxResult> mailList(HttpServletRequest request, - @RequestParam(value = "startTime", required = false) String startTimeStr, - @RequestParam(value = "endTime", required = false) String endTimeStr) { + @RequestParam(value = "startTime", required = false) String startTimeStr, + @RequestParam(value = "endTime", required = false) String endTimeStr) { validAuth(request); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); LocalDateTime startTime = null; @@ -213,4 +247,5 @@ public class ApiV1Controller { List mail = mailService.listFor12345(startTime, endTime); return AjaxResult.success(mail); } + } diff --git a/mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailDomain.java b/mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailDomain.java new file mode 100644 index 0000000..a0a6870 --- /dev/null +++ b/mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailDomain.java @@ -0,0 +1,26 @@ +package com.biutag.lan.domain.vo; + +import com.biutag.lan.domain.Mail; +import com.biutag.lan.domain.MailApproval; +import com.biutag.lan.domain.MailFlow; +import lombok.Getter; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wxc + * @date 2025/7/30 + */ +@Setter +@Getter +public class MailDomain { + + private Mail mail; + + private List flows = new ArrayList<>(); + + private List approvals = new ArrayList<>(); + +}