24282 2 years ago
parent
commit
4af02c5202

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

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.R;
 import com.fjhx.entity.EmailMailbox;
+import com.fjhx.entity.EmailMailboxLink;
 import com.fjhx.entity.EmailMessage;
 import com.fjhx.service.IEmailMailboxLinkService;
 import com.fjhx.service.IEmailMailboxService;
@@ -76,5 +77,22 @@ public class EmailMailboxController {
         return R.ok(emailMessageExList);
     }
 
+    /**
+     * 绑定邮件
+     */
+    @PostMapping("bindMassage")
+    public R bindMassage(@RequestBody EmailMailboxLink emailMailboxLink) {
+        emailMailboxLinkService.bindMassage(emailMailboxLink);
+        return R.ok();
+    }
+
+    /**
+     * 绑定邮件
+     */
+    @PostMapping("unbindMassage")
+    public R unbindMassage(@RequestBody EmailMailboxLink emailMailboxLink) {
+        emailMailboxLinkService.unbindMassage(emailMailboxLink);
+        return R.ok();
+    }
 
 }

+ 8 - 3
src/main/java/com/fjhx/entity/EmailMailboxLink.java

@@ -1,12 +1,11 @@
 package com.fjhx.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -36,4 +35,10 @@ public class EmailMailboxLink implements Serializable {
      */
     private String messageId;
 
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
 }

+ 1 - 1
src/main/java/com/fjhx/mapper/xml/EmailMailboxLinkMapper.xml

@@ -10,7 +10,7 @@
                em.from_address,
                eml.create_time
         FROM email_mailbox_link eml
-                 LEFT JOIN email_message em ON eml.message_id = em.message_id
+                 INNER JOIN email_message em ON eml.message_id = em.message_id
             ${ew.customSqlSegment}
     </select>
 

+ 4 - 0
src/main/java/com/fjhx/service/IEmailMailboxLinkService.java

@@ -18,4 +18,8 @@ public interface IEmailMailboxLinkService extends BaseService<EmailMailboxLink>
 
     Page<EmailMessage> getMassageList(GetMailboxMassageListVo vo);
 
+    void bindMassage(EmailMailboxLink emailMailboxLink);
+
+    void unbindMassage(EmailMailboxLink emailMailboxLink);
+
 }

+ 31 - 1
src/main/java/com/fjhx/service/impl/EmailMailboxLinkServiceImpl.java

@@ -1,8 +1,8 @@
 package com.fjhx.service.impl;
 
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -51,4 +51,34 @@ public class EmailMailboxLinkServiceImpl extends ServiceImpl<EmailMailboxLinkMap
 
         return baseMapper.getMassageList(vo.getPage(), query);
     }
+
+    @Override
+    public void bindMassage(EmailMailboxLink emailMailboxLink) {
+
+        Long mailboxId = emailMailboxLink.getMailboxId();
+        Assert.notNull(mailboxId, "邮箱id不能为空");
+
+        String messageId = emailMailboxLink.getMessageId();
+        Assert.notNull(messageId, "邮件id不能为空");
+
+        EmailMailboxLink one = getOne(q ->
+                q.eq(EmailMailboxLink::getMailboxId, mailboxId).eq(EmailMailboxLink::getMessageId, messageId));
+        Assert.isNull(one, "邮件已存在");
+
+        save(emailMailboxLink);
+    }
+
+    @Override
+    public void unbindMassage(EmailMailboxLink emailMailboxLink) {
+
+        Long mailboxId = emailMailboxLink.getMailboxId();
+        Assert.notNull(mailboxId, "邮箱id不能为空");
+
+        String messageId = emailMailboxLink.getMessageId();
+        Assert.notNull(messageId, "邮件id不能为空");
+
+        remove(q -> q.eq(EmailMailboxLink::getMailboxId, mailboxId).eq(EmailMailboxLink::getMessageId, messageId));
+    }
+
+
 }