Browse Source

邮件 我的标签

24282 2 years ago
parent
commit
8634c490c6

+ 20 - 5
hx-mail/src/main/java/com/fjhx/mail/controller/my/MyTagController.java

@@ -1,13 +1,20 @@
 package com.fjhx.mail.controller.my;
 
-import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.mail.entity.my.vo.MyTagVo;
-import com.fjhx.mail.entity.my.dto.MyTagSelectDto;
 import com.fjhx.mail.entity.my.dto.MyTagDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.mail.entity.my.dto.MyTagSelectDto;
+import com.fjhx.mail.entity.my.po.MyTag;
+import com.fjhx.mail.entity.my.vo.MyTagVo;
 import com.fjhx.mail.service.my.MyTagService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+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 java.util.List;
 
 
 /**
@@ -45,7 +52,7 @@ public class MyTagController {
      * 我的标签新增
      */
     @PostMapping("/add")
-    public void add(@RequestBody MyTagDto myTagDto) {
+    public void add(@Validated @RequestBody MyTagDto myTagDto) {
         myTagService.add(myTagDto);
     }
 
@@ -65,4 +72,12 @@ public class MyTagController {
         myTagService.delete(dto.getId());
     }
 
+    /**
+     * 获取邮件标签
+     */
+    @PostMapping("/getListByMessageId")
+    public List<MyTag> getListByMessageId(@RequestBody BaseSelectDto dto) {
+        return myTagService.getListByMessageId(dto.getId());
+    }
+
 }

+ 7 - 2
hx-mail/src/main/java/com/fjhx/mail/entity/my/po/MyTag.java

@@ -1,11 +1,13 @@
 package com.fjhx.mail.entity.my.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * <p>
  * 我的标签
@@ -22,16 +24,19 @@ public class MyTag extends BasePo {
     /**
      * 类型 1个人邮箱 2企业邮箱
      */
+    @NotNull(message = "类型不能为空")
     private Integer type;
 
     /**
      * 邮箱id
      */
+    @NotNull(message = "邮箱id不能为空")
     private Long mailboxId;
 
     /**
      * 标签名称
      */
+    @NotBlank(message = "标签名称不能为空")
     private String name;
 
 }

+ 11 - 4
hx-mail/src/main/java/com/fjhx/mail/service/my/MyTagService.java

@@ -1,11 +1,13 @@
 package com.fjhx.mail.service.my;
 
-import com.fjhx.mail.entity.my.po.MyTag;
-import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.mail.entity.my.vo.MyTagVo;
-import com.fjhx.mail.entity.my.dto.MyTagSelectDto;
 import com.fjhx.mail.entity.my.dto.MyTagDto;
+import com.fjhx.mail.entity.my.dto.MyTagSelectDto;
+import com.fjhx.mail.entity.my.po.MyTag;
+import com.fjhx.mail.entity.my.vo.MyTagVo;
+import com.ruoyi.common.core.service.BaseService;
+
+import java.util.List;
 
 
 /**
@@ -43,4 +45,9 @@ public interface MyTagService extends BaseService<MyTag> {
      */
     void delete(Long id);
 
+    /**
+     * 获取邮件标签
+     */
+    List<MyTag> getListByMessageId(Long id);
+
 }

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/impl/MyTagServiceImpl.java

@@ -6,14 +6,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.mail.entity.my.dto.MyTagDto;
 import com.fjhx.mail.entity.my.dto.MyTagSelectDto;
 import com.fjhx.mail.entity.my.po.MyTag;
+import com.fjhx.mail.entity.my.po.MyTagMessage;
 import com.fjhx.mail.entity.my.vo.MyTagVo;
 import com.fjhx.mail.mapper.my.MyTagMapper;
+import com.fjhx.mail.service.my.MyTagMessageService;
 import com.fjhx.mail.service.my.MyTagService;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -26,6 +33,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class MyTagServiceImpl extends ServiceImpl<MyTagMapper, MyTag> implements MyTagService {
 
+    @Autowired
+    private MyTagMessageService myTagMessageService;
+
     @Override
     public Page<MyTagVo> getPage(MyTagSelectDto dto) {
         IWrapper<MyTag> wrapper = getWrapper();
@@ -74,4 +84,20 @@ public class MyTagServiceImpl extends ServiceImpl<MyTagMapper, MyTag> implements
         this.removeById(id);
     }
 
+    @Override
+    public List<MyTag> getListByMessageId(Long id) {
+        if (id == null) {
+            throw new ServiceException("邮件id不能为空");
+        }
+
+        List<MyTagMessage> list = myTagMessageService.list(q -> q.eq(MyTagMessage::getMessageId, id));
+        List<Long> myTagIdList = list.stream().map(MyTagMessage::getMyTagId).collect(Collectors.toList());
+
+        if (myTagIdList.size() == 0) {
+            return new ArrayList<>();
+        }
+
+        return listByIds(myTagIdList);
+    }
+
 }