Browse Source

邮件 删除邮件

24282 2 years ago
parent
commit
8fc884054a

+ 10 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/message/MailController.java

@@ -4,12 +4,14 @@ import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.fjhx.mail.config.MailServiceConfig;
+import com.fjhx.mail.entity.message.dto.DeleteMailDto;
 import com.fjhx.mail.entity.message.dto.SendDto;
 import com.fjhx.mail.service.message.InfoService;
 import com.ruoyi.common.annotation.NonInterception;
 import com.ruoyi.common.utils.SecurityUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 @Slf4j
@@ -60,4 +62,12 @@ public class MailController {
         return JSON.parseObject(result);
     }
 
+    /**
+     * 删除邮箱
+     */
+    @PostMapping("/deleteMail")
+    public void deleteMail(@Validated @RequestBody DeleteMailDto dto) {
+        infoService.deleteMail(dto);
+    }
+
 }

+ 92 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/enterprise/po/EnterpriseMessage.java

@@ -0,0 +1,92 @@
+package com.fjhx.mail.entity.enterprise.po;
+
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 企业邮件
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+@Getter
+@Setter
+@TableName("enterprise_message")
+public class EnterpriseMessage extends BaseIdPo {
+
+    /**
+     * 邮件uid
+     */
+    private Long uid;
+
+    /**
+     * 邮箱id
+     */
+    private Long mailboxId;
+
+    /**
+     * 文件夹id
+     */
+    private Long folderId;
+
+    /**
+     * 文件夹名称
+     */
+    private String folderName;
+
+    /**
+     * 邮件标题
+     */
+    private String subject;
+
+    /**
+     * 邮件标记
+     */
+    private String flags;
+
+    /**
+     * 发件人email
+     */
+    private String fromEmail;
+
+    /**
+     * 发件人名称
+     */
+    private String fromPersonalName;
+
+    /**
+     * 发件类型
+     */
+    private String fromType;
+
+    /**
+     * 发件时间
+     */
+    private Date sendDate;
+
+    /**
+     * 收件时间
+     */
+    private Date receivedDate;
+
+    /**
+     * 同步状态 1已同步 0未同步
+     */
+    private Integer syncStatus;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+}

+ 21 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/message/dto/DeleteMailDto.java

@@ -0,0 +1,21 @@
+package com.fjhx.mail.entity.message.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+@Getter
+@Setter
+public class DeleteMailDto {
+
+    /**
+     * 1个人邮箱 2企业邮箱
+     */
+    @NotNull(message = "类型不能未空")
+    private Integer type;
+
+    @NotNull(message = "邮件id不能为空")
+    private Long id;
+
+}

+ 92 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/personal/po/PersonalMessage.java

@@ -0,0 +1,92 @@
+package com.fjhx.mail.entity.personal.po;
+
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 个人邮件
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+@Getter
+@Setter
+@TableName("personal_message")
+public class PersonalMessage extends BaseIdPo {
+
+    /**
+     * 邮件uid
+     */
+    private Long uid;
+
+    /**
+     * 邮箱id
+     */
+    private Long mailboxId;
+
+    /**
+     * 文件夹id
+     */
+    private Long folderId;
+
+    /**
+     * 文件夹名称
+     */
+    private String folderName;
+
+    /**
+     * 邮件标题
+     */
+    private String subject;
+
+    /**
+     * 邮件标记
+     */
+    private String flags;
+
+    /**
+     * 发件人email
+     */
+    private String fromEmail;
+
+    /**
+     * 发件人名称
+     */
+    private String fromPersonalName;
+
+    /**
+     * 发件类型
+     */
+    private String fromType;
+
+    /**
+     * 发件时间
+     */
+    private Date sendDate;
+
+    /**
+     * 收件时间
+     */
+    private Date receivedDate;
+
+    /**
+     * 同步状态 1已同步 0未同步
+     */
+    private Integer syncStatus;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/mapper/enterprise/EnterpriseMessageMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.mapper.enterprise;
+
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMessage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * <p>
+ * 企业邮件 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+public interface EnterpriseMessageMapper extends BaseMapper<EnterpriseMessage> {
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/mapper/personal/PersonalMessageMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.mapper.personal;
+
+import com.fjhx.mail.entity.personal.po.PersonalMessage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * <p>
+ * 个人邮件 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+public interface PersonalMessageMapper extends BaseMapper<PersonalMessage> {
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/service/enterprise/EnterpriseMessageService.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.service.enterprise;
+
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMessage;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 企业邮件 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+public interface EnterpriseMessageService extends BaseService<EnterpriseMessage> {
+
+}

+ 21 - 0
hx-mail/src/main/java/com/fjhx/mail/service/enterprise/impl/EnterpriseMessageServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.mail.service.enterprise.impl;
+
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMessage;
+import com.fjhx.mail.mapper.enterprise.EnterpriseMessageMapper;
+import com.fjhx.mail.service.enterprise.EnterpriseMessageService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 企业邮件 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+@Service
+public class EnterpriseMessageServiceImpl extends ServiceImpl<EnterpriseMessageMapper, EnterpriseMessage> implements EnterpriseMessageService {
+
+}

+ 6 - 0
hx-mail/src/main/java/com/fjhx/mail/service/message/InfoService.java

@@ -1,5 +1,6 @@
 package com.fjhx.mail.service.message;
 
+import com.fjhx.mail.entity.message.dto.DeleteMailDto;
 import com.fjhx.mail.entity.message.dto.SendDto;
 import com.ruoyi.common.core.domain.entity.SysUser;
 
@@ -17,4 +18,9 @@ public interface InfoService {
      */
     String sendMail(SendDto dto);
 
+    /**
+     * 删除邮箱
+     */
+    void deleteMail(DeleteMailDto dto);
+
 }

+ 18 - 0
hx-mail/src/main/java/com/fjhx/mail/service/message/impl/InfoServiceImpl.java

@@ -9,12 +9,15 @@ import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.mail.config.MailServiceConfig;
 import com.fjhx.mail.entity.enterprise.po.EnterpriseDomain;
 import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
+import com.fjhx.mail.entity.message.dto.DeleteMailDto;
 import com.fjhx.mail.entity.message.dto.SendDto;
 import com.fjhx.mail.entity.personal.po.PersonalMailbox;
 import com.fjhx.mail.service.enterprise.EnterpriseDomainService;
 import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
+import com.fjhx.mail.service.enterprise.EnterpriseMessageService;
 import com.fjhx.mail.service.message.InfoService;
 import com.fjhx.mail.service.personal.PersonalMailboxService;
+import com.fjhx.mail.service.personal.PersonalMessageService;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
@@ -45,6 +48,12 @@ public class InfoServiceImpl implements InfoService {
     @Autowired
     private EnterpriseDomainService enterpriseDomainService;
 
+    @Autowired
+    private EnterpriseMessageService enterpriseMessageService;
+
+    @Autowired
+    private PersonalMessageService personalMessageService;
+
     @Override
     public List<SysUser> getUserList() {
 
@@ -127,6 +136,15 @@ public class InfoServiceImpl implements InfoService {
         return HttpUtil.post(urlPrefix + urlJoiner, JSON.toJSONString(dto));
     }
 
+    @Override
+    public void deleteMail(DeleteMailDto dto) {
+        if (dto.getType().equals(1)) {
+            personalMessageService.removeById(dto.getId());
+        } else {
+            enterpriseMessageService.removeById(dto.getId());
+        }
+    }
+
     private void subordinateDeptId(Long deptId, Set<Long> deptSet, Map<Long, List<SysDept>> parentDeptMap) {
         deptSet.add(deptId);
 

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/service/personal/PersonalMessageService.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.service.personal;
+
+import com.fjhx.mail.entity.personal.po.PersonalMessage;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 个人邮件 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+public interface PersonalMessageService extends BaseService<PersonalMessage> {
+
+}

+ 21 - 0
hx-mail/src/main/java/com/fjhx/mail/service/personal/impl/PersonalMessageServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.mail.service.personal.impl;
+
+import com.fjhx.mail.entity.personal.po.PersonalMessage;
+import com.fjhx.mail.mapper.personal.PersonalMessageMapper;
+import com.fjhx.mail.service.personal.PersonalMessageService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 个人邮件 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-29
+ */
+@Service
+public class PersonalMessageServiceImpl extends ServiceImpl<PersonalMessageMapper, PersonalMessage> implements PersonalMessageService {
+
+}

+ 4 - 0
hx-mail/src/main/resources/mapper/enterprise/EnterpriseMessageMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.mail.mapper.enterprise.EnterpriseMessageMapper">
+</mapper>

+ 4 - 0
hx-mail/src/main/resources/mapper/personal/PersonalMessageMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.mail.mapper.personal.PersonalMessageMapper">
+</mapper>