Browse Source

批量添加我的文件夹关联
批量我的标签关联

24282 2 years ago
parent
commit
96fd1cf9e0

+ 9 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/my/MyFolderMessageController.java

@@ -1,6 +1,7 @@
 package com.fjhx.mail.controller.my;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyFolderMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageSelectDto;
 import com.fjhx.mail.entity.my.vo.MessageVo;
@@ -46,6 +47,14 @@ public class MyFolderMessageController {
     }
 
     /**
+     * 我的文件夹关联邮件添加
+     */
+    @PostMapping("/addBath")
+    public void addBath(@Validated @RequestBody MyFolderMessageAddBathDto dto) {
+        myFolderMessageService.addBath(dto);
+    }
+
+    /**
      * 我的文件夹关联邮件删除
      */
     @PostMapping("/delete")

+ 9 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/my/MyTagMessageController.java

@@ -1,6 +1,7 @@
 package com.fjhx.mail.controller.my;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyTagMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageSelectDto;
 import com.fjhx.mail.entity.my.po.MyTagMessage;
@@ -47,6 +48,14 @@ public class MyTagMessageController {
     }
 
     /**
+     * 我的标签关联邮件批量新增
+     */
+    @PostMapping("/addBath")
+    public void addBath(@Validated @RequestBody MyTagMessageAddBathDto dto) {
+        myTagMessageService.addBath(dto);
+    }
+
+    /**
      * 我的标签关联邮件删除
      */
     @PostMapping("/delete")

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/dto/MyFolderMessageAddBathDto.java

@@ -0,0 +1,26 @@
+package com.fjhx.mail.entity.my.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Getter
+@Setter
+public class MyFolderMessageAddBathDto {
+
+    /**
+     * 我的文件夹id
+     */
+    @NotNull(message = "我的文件夹id不能为空")
+    private Long myFolderId;
+
+    /**
+     * 邮件id列表
+     */
+    @NotEmpty(message = "邮件id列表不能为空")
+    private List<Long> messageIdList;
+
+}

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/dto/MyTagMessageAddBathDto.java

@@ -0,0 +1,26 @@
+package com.fjhx.mail.entity.my.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Getter
+@Setter
+public class MyTagMessageAddBathDto {
+
+    /**
+     * 我的标签id
+     */
+    @NotNull(message = "我的标签id不能为空")
+    private Long myTagId;
+
+    /**
+     * 邮件id列表
+     */
+    @NotEmpty(message = "邮件id列表不能为空")
+    private List<Long> messageIdList;
+
+}

+ 7 - 1
hx-mail/src/main/java/com/fjhx/mail/service/my/MyFolderMessageService.java

@@ -1,11 +1,13 @@
 package com.fjhx.mail.service.my;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyFolderMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageSelectDto;
 import com.fjhx.mail.entity.my.po.MyFolderMessage;
 import com.fjhx.mail.entity.my.vo.MessageVo;
 import com.ruoyi.common.core.service.BaseService;
+import org.springframework.web.bind.annotation.PostMapping;
 
 
 /**
@@ -28,11 +30,15 @@ public interface MyFolderMessageService extends BaseService<MyFolderMessage> {
      */
     void add(MyFolderMessageDto dto);
 
-
     /**
      * 我的文件夹关联邮件删除
      */
     void delete(Long id);
 
+    /**
+     * 我的文件夹关联邮件添加
+     */
+    @PostMapping("/addBath")
+    void addBath(MyFolderMessageAddBathDto dto);
 
 }

+ 6 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/MyTagMessageService.java

@@ -1,6 +1,7 @@
 package com.fjhx.mail.service.my;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyTagMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageSelectDto;
 import com.fjhx.mail.entity.my.po.MyTagMessage;
@@ -38,4 +39,9 @@ public interface MyTagMessageService extends BaseService<MyTagMessage> {
      */
     void deleteTag(MyTagMessage myTagMessage);
 
+    /**
+     * 我的标签关联邮件批量新增
+     */
+    void addBath(MyTagMessageAddBathDto dto);
+
 }

+ 27 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/impl/MyFolderMessageServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.mail.service.my.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.mail.entity.my.dto.MyFolderMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageDto;
 import com.fjhx.mail.entity.my.dto.MyFolderMessageSelectDto;
 import com.fjhx.mail.entity.my.po.MyFolderMessage;
@@ -11,6 +12,9 @@ import com.fjhx.mail.service.my.MyFolderMessageService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -47,4 +51,27 @@ public class MyFolderMessageServiceImpl extends ServiceImpl<MyFolderMessageMappe
         this.removeById(id);
     }
 
+    @Override
+    public void addBath(MyFolderMessageAddBathDto dto) {
+        List<Long> messageIdList = dto.getMessageIdList();
+        Long myFolderId = dto.getMyFolderId();
+
+        List<Long> existMessageIdList = listObject(MyFolderMessage::getMessageId, q -> q
+                .eq(MyFolderMessage::getMyFolderId, myFolderId)
+                .in(MyFolderMessage::getMessageId, messageIdList));
+
+        List<MyFolderMessage> myFolderMessageList = messageIdList.stream()
+                .filter(item -> !existMessageIdList.contains(item))
+                .map(item -> {
+                    MyFolderMessage myTagMessage = new MyFolderMessage();
+                    myTagMessage.setMessageId(item);
+                    myTagMessage.setMyFolderId(myFolderId);
+                    return myTagMessage;
+                })
+                .collect(Collectors.toList());
+
+        saveBatch(myFolderMessageList);
+
+    }
+
 }

+ 28 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/impl/MyTagMessageServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.mail.service.my.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.mail.entity.my.dto.MyTagMessageAddBathDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageDto;
 import com.fjhx.mail.entity.my.dto.MyTagMessageSelectDto;
 import com.fjhx.mail.entity.my.po.MyTagMessage;
@@ -12,6 +13,9 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -61,4 +65,28 @@ public class MyTagMessageServiceImpl extends ServiceImpl<MyTagMessageMapper, MyT
 
     }
 
+    @Override
+    public void addBath(MyTagMessageAddBathDto dto) {
+        List<Long> messageIdList = dto.getMessageIdList();
+        Long myTagId = dto.getMyTagId();
+
+        List<Long> existMessageIdList = listObject(MyTagMessage::getMessageId, q -> q
+                .eq(MyTagMessage::getMyTagId, myTagId)
+                .in(MyTagMessage::getMessageId, messageIdList));
+
+
+        List<MyTagMessage> myTagMessageList = messageIdList.stream()
+                .filter(item -> !existMessageIdList.contains(item))
+                .map(item -> {
+                    MyTagMessage myTagMessage = new MyTagMessage();
+                    myTagMessage.setMessageId(item);
+                    myTagMessage.setMyTagId(myTagId);
+                    return myTagMessage;
+                })
+                .collect(Collectors.toList());
+
+        saveBatch(myTagMessageList);
+
+    }
+
 }