24282 vor 2 Jahren
Ursprung
Commit
ee6d8b3b32

+ 1 - 0
src/main/java/com/fjhx/config/exception/ServiceException.java

@@ -15,6 +15,7 @@ public class ServiceException extends RuntimeException {
 
     // 传入业务异常说明
     public ServiceException(String errorMsg) {
+        super(errorMsg);
         this.errorCode = HttpStatus.HTTP_BAD_REQUEST;
         this.errorMsg = errorMsg;
     }

+ 2 - 2
src/main/java/com/fjhx/controller/EmailMessageController.java

@@ -67,7 +67,7 @@ public class EmailMessageController {
     /**
      * 邮件附件列表
      */
-    @GetMapping("attachmentList")
+    @GetMapping("/attachmentList")
     public R attachmentList(@RequestParam("messageId") String messageId) {
         List<EmailMessageAttachment> result = emailMessageAttachmentService.getAttachmentList(messageId);
         return R.ok(result);
@@ -76,7 +76,7 @@ public class EmailMessageController {
     /**
      * 下载附件
      */
-    @GetMapping("downloadAttachment")
+    @GetMapping("/downloadAttachment")
     public R downloadAttachment(@RequestParam("email") String email,
                                 @RequestParam("attachmentId") String attachmentId,
                                 @RequestParam("path") String path) {

+ 65 - 5
src/main/java/com/fjhx/controller/EmailMessageSendController.java

@@ -1,14 +1,20 @@
 package com.fjhx.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.R;
+import com.fjhx.entity.EmailMessageSend;
+import com.fjhx.entity.EmailMessageSendAttachment;
+import com.fjhx.entity.EmailMessageSendReceive;
+import com.fjhx.service.IEmailMessageSendAttachmentService;
+import com.fjhx.service.IEmailMessageSendContentService;
+import com.fjhx.service.IEmailMessageSendReceiveService;
 import com.fjhx.service.IEmailMessageSendService;
-import com.fjhx.vo.SendVo;
+import com.fjhx.vo.GetEmailMessagePageVo;
 import com.fjhx.vo.SubmitVo;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * <p>
@@ -25,6 +31,15 @@ public class EmailMessageSendController {
     @Autowired
     private IEmailMessageSendService emailMessageSendService;
 
+    @Autowired
+    private IEmailMessageSendContentService emailMessageSendContentService;
+
+    @Autowired
+    private IEmailMessageSendAttachmentService emailMessageSendAttachmentService;
+
+    @Autowired
+    private IEmailMessageSendReceiveService emailMessageSendReceiveService;
+
     /**
      * 发送邮件
      */
@@ -34,4 +49,49 @@ public class EmailMessageSendController {
         return R.ok();
     }
 
+    /**
+     * 获取邮件发送分页信息
+     */
+    @GetMapping("/page")
+    public R page(GetEmailMessagePageVo vo) {
+        Page<EmailMessageSend> result = emailMessageSendService.getPage(vo);
+        return R.ok(result);
+    }
+
+    /**
+     * 删除邮件
+     */
+    @GetMapping("/delete")
+    public R delete(@RequestParam("messageSendId") Long messageSendId) {
+        emailMessageSendService.delete(messageSendId);
+        return R.ok();
+    }
+
+    /**
+     * 获取邮件正文
+     */
+    @GetMapping("/content")
+    public R content(@RequestParam("messageSendId") Long messageSendId) {
+        String result = emailMessageSendContentService.getContent(messageSendId);
+        return R.ok(result);
+    }
+
+    /**
+     * 邮件附件列表
+     */
+    @GetMapping("/attachmentList")
+    public R attachmentList(@RequestParam("messageSendId") String messageSendId) {
+        List<EmailMessageSendAttachment> result = emailMessageSendAttachmentService.getAttachmentList(messageSendId);
+        return R.ok(result);
+    }
+
+    /**
+     * 邮件接收人列表
+     */
+    @GetMapping("/receiveList")
+    public R receiveList(@RequestParam("messageSendId") String messageSendId) {
+        List<EmailMessageSendReceive> result = emailMessageSendReceiveService.getReceiveList(messageSendId);
+        return R.ok(result);
+    }
+
 }

+ 0 - 18
src/main/java/com/fjhx/controller/EmailMessageSendReceiveController.java

@@ -1,18 +0,0 @@
-package com.fjhx.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.stereotype.Controller;
-
-/**
- * <p>
- * 邮件发件信息 前端控制器
- * </p>
- *
- * @author zlj
- * @since 2023-01-13
- */
-@Controller
-@RequestMapping("/emailMessageSendReceive")
-public class EmailMessageSendReceiveController {
-
-}

+ 6 - 2
src/main/java/com/fjhx/service/IEmailMessageSendAttachmentService.java

@@ -1,7 +1,9 @@
 package com.fjhx.service;
 
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.EmailMessageSendAttachment;
-import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +13,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @author zlj
  * @since 2023-01-13
  */
-public interface IEmailMessageSendAttachmentService extends IService<EmailMessageSendAttachment> {
+public interface IEmailMessageSendAttachmentService extends BaseService<EmailMessageSendAttachment> {
+
+    List<EmailMessageSendAttachment> getAttachmentList(String messageSendId);
 
 }

+ 4 - 2
src/main/java/com/fjhx/service/IEmailMessageSendContentService.java

@@ -1,7 +1,7 @@
 package com.fjhx.service;
 
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.EmailMessageSendContent;
-import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * <p>
@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @author zlj
  * @since 2023-01-13
  */
-public interface IEmailMessageSendContentService extends IService<EmailMessageSendContent> {
+public interface IEmailMessageSendContentService extends BaseService<EmailMessageSendContent> {
+
+    String getContent(Long messageSendId);
 
 }

+ 6 - 2
src/main/java/com/fjhx/service/IEmailMessageSendReceiveService.java

@@ -1,7 +1,9 @@
 package com.fjhx.service;
 
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.EmailMessageSendReceive;
-import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +13,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @author zlj
  * @since 2023-01-13
  */
-public interface IEmailMessageSendReceiveService extends IService<EmailMessageSendReceive> {
+public interface IEmailMessageSendReceiveService extends BaseService<EmailMessageSendReceive> {
+
+    List<EmailMessageSendReceive> getReceiveList(String messageSendId);
 
 }

+ 6 - 0
src/main/java/com/fjhx/service/IEmailMessageSendService.java

@@ -1,7 +1,9 @@
 package com.fjhx.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.BaseService;
 import com.fjhx.entity.EmailMessageSend;
+import com.fjhx.vo.GetEmailMessagePageVo;
 import com.fjhx.vo.SendVo;
 import com.fjhx.vo.SubmitVo;
 
@@ -17,4 +19,8 @@ public interface IEmailMessageSendService extends BaseService<EmailMessageSend>
 
     void send(SubmitVo submitVo);
 
+    Page<EmailMessageSend> getPage(GetEmailMessagePageVo vo);
+
+    void delete(Long messageSendId);
+
 }

+ 8 - 1
src/main/java/com/fjhx/service/impl/EmailMessageSendAttachmentServiceImpl.java

@@ -1,11 +1,13 @@
 package com.fjhx.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.EmailMessageSendAttachment;
 import com.fjhx.mapper.EmailMessageSendAttachmentMapper;
 import com.fjhx.service.IEmailMessageSendAttachmentService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 邮件发件信息 服务实现类
@@ -17,4 +19,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class EmailMessageSendAttachmentServiceImpl extends ServiceImpl<EmailMessageSendAttachmentMapper, EmailMessageSendAttachment> implements IEmailMessageSendAttachmentService {
 
+    @Override
+    public List<EmailMessageSendAttachment> getAttachmentList(String messageSendId) {
+        return list(q -> q.eq(EmailMessageSendAttachment::getMessageSendId, messageSendId));
+    }
+
 }

+ 9 - 1
src/main/java/com/fjhx/service/impl/EmailMessageSendContentServiceImpl.java

@@ -1,9 +1,10 @@
 package com.fjhx.service.impl;
 
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.EmailMessageSendContent;
 import com.fjhx.mapper.EmailMessageSendContentMapper;
 import com.fjhx.service.IEmailMessageSendContentService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +18,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class EmailMessageSendContentServiceImpl extends ServiceImpl<EmailMessageSendContentMapper, EmailMessageSendContent> implements IEmailMessageSendContentService {
 
+    @Override
+    public String getContent(Long messageSendId) {
+        EmailMessageSendContent emailMessageSendContent = getOne(q -> q.eq(EmailMessageSendContent::getMessageSendId, messageSendId));
+        Assert.notNull(emailMessageSendContent, "未找到正文");
+
+        return emailMessageSendContent.getHtmlContent();
+    }
 }

+ 8 - 1
src/main/java/com/fjhx/service/impl/EmailMessageSendReceiveServiceImpl.java

@@ -1,11 +1,13 @@
 package com.fjhx.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.EmailMessageSendReceive;
 import com.fjhx.mapper.EmailMessageSendReceiveMapper;
 import com.fjhx.service.IEmailMessageSendReceiveService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 邮件发件信息 服务实现类
@@ -17,4 +19,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class EmailMessageSendReceiveServiceImpl extends ServiceImpl<EmailMessageSendReceiveMapper, EmailMessageSendReceive> implements IEmailMessageSendReceiveService {
 
+    @Override
+    public List<EmailMessageSendReceive> getReceiveList(String messageSendId) {
+        return list(q -> q.eq(EmailMessageSendReceive::getMessageSendId, messageSendId));
+    }
+
 }

+ 28 - 0
src/main/java/com/fjhx/service/impl/EmailMessageSendServiceImpl.java

@@ -3,14 +3,17 @@ package com.fjhx.service.impl;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.config.exception.ServiceException;
 import com.fjhx.entity.*;
 import com.fjhx.mapper.EmailMessageSendMapper;
 import com.fjhx.service.*;
 import com.fjhx.utils.EmailEngineUtil;
+import com.fjhx.vo.GetEmailMessagePageVo;
 import com.fjhx.vo.SubmitVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,6 +24,7 @@ import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -76,6 +80,30 @@ public class EmailMessageSendServiceImpl extends ServiceImpl<EmailMessageSendMap
         EmailEngineUtil.submit(submitVo);
     }
 
+    @Override
+    public Page<EmailMessageSend> getPage(GetEmailMessagePageVo vo) {
+
+        String email = vo.getEmail();
+        Assert.notEmpty(email, "邮箱地址不能为空");
+
+        Date beginTime = vo.getBeginTime();
+        Date endTime = vo.getEndTime();
+        String subject = vo.getSubject();
+
+        return page(vo, q -> q
+                .eq(EmailMessageSend::getEmail, email)
+                .eq(EmailMessageSend::getIsShow, true)
+                .between(ObjectUtil.isAllNotEmpty(beginTime, endTime), EmailMessageSend::getCreateTime, beginTime, endTime)
+                .like(ObjectUtil.isNotEmpty(subject), EmailMessageSend::getSubject, subject)
+                .orderByDesc(EmailMessageSend::getCreateTime)
+        );
+    }
+
+    @Override
+    public void delete(Long messageSendId) {
+        update(q -> q.eq(EmailMessageSend::getId, messageSendId).set(EmailMessageSend::getIsShow, false));
+    }
+
     /**
      * 添加发送邮件信息
      */