From 0efcf0f6381d3b682372122665608a015515a0a8 Mon Sep 17 00:00:00 2001
From: wans <747101512@qq.com>
Date: Thu, 21 Apr 2022 11:47:21 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0APP=E5=86=85=E9=83=A8?=
=?UTF-8?q?=E9=82=AE=E4=BB=B6=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/api/mail/MailController.java | 8 +-
.../app/api/mail/MailAppController.java | 230 +++++++++++++++++-
.../systemoa/pojo/dtos/mail/MailDelDTO.java | 20 ++
.../systemoa/pojo/dtos/mail/MailInboxDTO.java | 20 ++
.../systemoa/pojo/dtos/mail/MailSendDTO.java | 18 ++
.../systemoa/service/mail/IMailService.java | 28 +++
.../service/mail/impl/MailServiceImpl.java | 229 ++++++++++++++++-
7 files changed, 546 insertions(+), 7 deletions(-)
diff --git a/src/main/java/cn/com/tenlion/systemoa/controller/api/mail/MailController.java b/src/main/java/cn/com/tenlion/systemoa/controller/api/mail/MailController.java
index ba4a1bb..dd68ba8 100644
--- a/src/main/java/cn/com/tenlion/systemoa/controller/api/mail/MailController.java
+++ b/src/main/java/cn/com/tenlion/systemoa/controller/api/mail/MailController.java
@@ -94,7 +94,7 @@ public class MailController extends DefaultBaseController {
}
/**
- * 查询收件箱详情
+ * 草稿箱分页列表
* @param page
* @return
*/
@@ -117,7 +117,7 @@ public class MailController extends DefaultBaseController {
}
/**
- * 保存草稿箱
+ * 更新草稿
*/
@PostMapping("update-draft-mail")
public SuccessResult updateDraftMail(@RequestBody MailSendVO vo){
@@ -167,7 +167,7 @@ public class MailController extends DefaultBaseController {
}
/**
- * 查询收件箱详情
+ * 查询垃圾箱详情
* @return
*/
@GetMapping("get-del-mail")
@@ -178,7 +178,7 @@ public class MailController extends DefaultBaseController {
}
/**
- * 查询收件箱详情
+ * 恢复垃圾箱邮件
* @return
*/
@GetMapping("get-recover-del-mail/{ids}")
diff --git a/src/main/java/cn/com/tenlion/systemoa/controller/app/api/mail/MailAppController.java b/src/main/java/cn/com/tenlion/systemoa/controller/app/api/mail/MailAppController.java
index 405d7ce..ceed536 100644
--- a/src/main/java/cn/com/tenlion/systemoa/controller/app/api/mail/MailAppController.java
+++ b/src/main/java/cn/com/tenlion/systemoa/controller/app/api/mail/MailAppController.java
@@ -1,17 +1,23 @@
package cn.com.tenlion.systemoa.controller.app.api.mail;
-import cn.com.tenlion.systemoa.pojo.vos.carapply.CarApplyVO;
+import cn.com.tenlion.systemoa.pojo.dtos.mail.MailDelDTO;
+import cn.com.tenlion.systemoa.pojo.dtos.mail.MailInboxDTO;
+import cn.com.tenlion.systemoa.pojo.dtos.mail.MailSendDTO;
import cn.com.tenlion.systemoa.pojo.vos.mail.MailSendVO;
import cn.com.tenlion.systemoa.service.mail.IMailService;
-import ink.wgink.annotation.CheckRequestBodyAnnotation;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
+import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResult;
+import ink.wgink.pojo.result.SuccessResultList;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
+import java.util.Map;
+
/**
* @author xwangs
* @create 2022-04-19 17:18
@@ -37,4 +43,224 @@ public class MailAppController extends DefaultBaseController {
return new SuccessResult();
}
+ @ApiOperation(value = "发件箱分页列表", notes = "发件箱分页列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
+ @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
+ @ApiImplicitParam(name = "keywords", value = "标题|收件人姓名", paramType = "query", dataType = "String")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list-page-app=send-mail")
+ public SuccessResultList> listPageAppSendMail(@RequestHeader("token") String token, ListPage page) {
+ Map params = requestParams();
+ page.setParams(params);
+ return mailService.listPageAppSendMail(token, page);
+ }
+
+ @ApiOperation(value = "发件箱详情", notes = "发件箱详情")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get-app=send-mail/{mailId}")
+ public MailSendDTO getAppSendMail(@RequestHeader("token") String token,
+ @PathVariable("mailId") String mailId){
+ Map params = requestParams();
+ params.put("mailId", mailId);
+ MailSendDTO sendMail = mailService.getSendMail(params);
+ return sendMail;
+ }
+
+ @ApiOperation(value = "收件箱分页列表", notes = "收件箱分页列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
+ @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list-page-app=inbox-mail")
+ public SuccessResultList> listPageAppInboxMail(@RequestHeader("token") String token, ListPage page) {
+ Map params = requestParams();
+ page.setParams(params);
+ return mailService.listPageAppInboxMail(token, page);
+ }
+
+
+ @ApiOperation(value = "收件箱详情", notes = "发件箱详情")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get-app=inbox-mail/{id}")
+ public MailInboxDTO getAppInboxMail(@RequestHeader("token") String token,
+ @PathVariable("id") String id){
+ Map params = requestParams();
+ params.put("id", id);
+ MailInboxDTO inboxMail = mailService.getAppInboxMail(token, params);
+ return inboxMail;
+ }
+
+ /**
+ * 保存草稿箱
+ */
+ @ApiOperation(value = "保存草稿", notes = "保存草稿")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @PostMapping("save-app-draft-mail")
+ public SuccessResult saveAppDraftMail(@RequestHeader("token") String token,
+ @RequestBody MailSendVO vo){
+ mailService.saveAppDraftMail(token,vo);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "草稿箱分页列表", notes = "草稿箱分页列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
+ @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list-page-app=draft-mail")
+ public SuccessResultList> listPageAppDraftMail(@RequestHeader("token") String token, ListPage page) {
+ Map params = requestParams();
+ page.setParams(params);
+ return mailService.listPageAppDraftMail(token, page);
+ }
+
+ @ApiOperation(value = "草稿箱详情", notes = "草稿箱详情")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get-app=draft-mail/{mailId}")
+ public MailSendDTO getAppDraftMail(@RequestHeader("token") String token,
+ @PathVariable("mailId") String mailId){
+ Map params = requestParams();
+ params.put("mailId", mailId);
+ MailSendDTO draftMail = mailService.getAppDraftMail(token, params);
+ return draftMail;
+ }
+
+ @ApiOperation(value = "更新草稿", notes = "更新草稿")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @PostMapping("update-app-draft-mail/{mailId}")
+ public SuccessResult updateAppDraftMail(@RequestBody MailSendVO vo,
+ @PathVariable("mailId") String mailId){
+ vo.setMailId(mailId);
+ mailService.updateAppDraftMail(vo);
+ return new SuccessResult();
+ }
+
+ /**
+ * 草稿发送
+ */
+ @ApiOperation(value = "更新草稿", notes = "更新草稿")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @PostMapping("save-app-send-draft-mail")
+ public SuccessResult saveAppSendDraftMail(@RequestHeader("token") String token,
+ @RequestBody MailSendVO vo){
+ mailService.saveAppSendDraftMail(token, vo);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "垃圾箱分页列表", notes = "垃圾箱分页列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
+ @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list-page-app=del-mail")
+ public SuccessResultList> listPageAppDelMail(@RequestHeader("token") String token, ListPage page) {
+ Map params = requestParams();
+ page.setParams(params);
+ return mailService.listPageAppDelMail(token, page);
+ }
+
+ @ApiOperation(value = "垃圾箱详情", notes = "垃圾箱详情")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "id", value = "Id值", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get-app=del-mail/{id}")
+ public MailDelDTO getAppDelMail(@RequestHeader("token") String token,
+ @PathVariable("id") String id){
+ Map params = requestParams();
+ params.put("id", id);
+ MailDelDTO delMail = mailService.getAppDelMail(token, params);
+ return delMail;
+ }
+
+ /**
+ * 恢复垃圾箱邮件
+ * @return
+ */
+ @ApiOperation(value = "恢复垃圾箱邮件", notes = "恢复垃圾箱邮件")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "ids", value = "多个id用逗号拼接", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get-app-recover-del-mail/{ids}")
+ public void getAppRecoverDelMail(@RequestHeader("token") String token,
+ @PathVariable("ids") String ids){
+ mailService.getRecoverDelMail(ids);
+ }
+
+ @ApiOperation(value = "删除-发件箱邮件", notes = "删除-发件箱邮件")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "ids", value = "取mailId,多个mailId用逗号拼接", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @DeleteMapping("delete-app-send-mail/{ids}")
+ public void deleteAppSendMail(@RequestHeader("token") String token,
+ @PathVariable("ids") String ids){
+ mailService.deleteAppSendMail(token, ids);
+ }
+
+ @ApiOperation(value = "删除-收件箱邮件", notes = "删除-收件箱邮件")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "ids", value = "取id,多个id用逗号拼接", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @DeleteMapping("delete-app-inbox-mail/{ids}")
+ public void deleteAppInboxMail(@RequestHeader("token") String token,
+ @PathVariable("ids") String ids){
+ mailService.deleteAppInboxMail(token, ids);
+ }
+
+ @ApiOperation(value = "删除-草稿箱邮件", notes = "删除-草稿箱邮件")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "ids", value = "取mailId,多个mailId用逗号拼接", paramType = "path")
+ })
+ @DeleteMapping("delete-app-draft-mail/{ids}")
+ public void deleteAppDraftMail(@RequestHeader("token") String token,
+ @PathVariable("ids") String ids){
+ mailService.deleteAppDraftMail(token, ids);
+ }
+
+ @ApiOperation(value = "删除-垃圾箱邮件", notes = "删除-垃圾箱邮件")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", paramType = "header"),
+ @ApiImplicitParam(name = "ids", value = "取id,多个id用逗号拼接", paramType = "path")
+ })
+ @DeleteMapping("delete-app-del-mail/{ids}")
+ public void deleteAppDelMail(@RequestHeader("token") String token,
+ @PathVariable("ids") String ids){
+ mailService.deleteDelMail(ids);
+ }
+
}
diff --git a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailDelDTO.java b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailDelDTO.java
index 93ced60..3b874c4 100644
--- a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailDelDTO.java
+++ b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailDelDTO.java
@@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@@ -10,23 +12,41 @@ import lombok.ToString;
*/
@Data
@ToString
+@ApiModel
public class MailDelDTO {
+ @ApiModelProperty(name = "id", value = "自增主键")
private String id;
+ @ApiModelProperty(name = "mailId", value = "逻辑主键")
private String mailId;
+ @ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds;
+ @ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames;
+ @ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds;
+ @ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames;
+ @ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds;
+ @ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames;
+ @ApiModelProperty(name = "title", value = "邮件主题")
private String title;
+ @ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles;
+ @ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich;
+ @ApiModelProperty(name = "content", value = "纯文本内容")
private String content;
+ @ApiModelProperty(name = "creator", value = "发件人ID")
private String creator;
+ @ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate;
+ @ApiModelProperty(name = "sourceFrom", value = "来源")
private String sourceFrom;
+ @ApiModelProperty(name = "delUserId", value = "删除人")
private String delUserId;
+ @ApiModelProperty(name = "delTime", value = "删除时间")
private String delTime;
}
diff --git a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailInboxDTO.java b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailInboxDTO.java
index 540ebec..f627510 100644
--- a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailInboxDTO.java
+++ b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailInboxDTO.java
@@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@@ -10,23 +12,41 @@ import lombok.ToString;
*/
@Data
@ToString
+@ApiModel
public class MailInboxDTO {
+ @ApiModelProperty(name = "mailId", value = "自增主键")
private String id;
+ @ApiModelProperty(name = "mailIdLink", value = "邮件ID")
private String mailIdLink;
+ @ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds;
+ @ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames;
+ @ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds;
+ @ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames;
+ @ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds;
+ @ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames;
+ @ApiModelProperty(name = "title", value = "邮件主题")
private String title;
+ @ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles;
+ @ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich;
+ @ApiModelProperty(name = "content", value = "纯文本内容")
private String content;
+ @ApiModelProperty(name = "creator", value = "发件人ID")
private String creator;
+ @ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate;
+ @ApiModelProperty(name = "copyForTypes", value = "抄送标记")
private String copyForTypes;
+ @ApiModelProperty(name = "secretTypes", value = "密送标记")
private String secretTypes;
+ @ApiModelProperty(name = "creatorNames", value = "发件人姓名")
private String creatorNames;
}
diff --git a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailSendDTO.java b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailSendDTO.java
index d9c4be6..f45e43b 100644
--- a/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailSendDTO.java
+++ b/src/main/java/cn/com/tenlion/systemoa/pojo/dtos/mail/MailSendDTO.java
@@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@@ -10,21 +12,37 @@ import lombok.ToString;
*/
@Data
@ToString
+@ApiModel
public class MailSendDTO {
+ @ApiModelProperty(name = "mailId", value = "逻辑主键")
private String mailId;
+ @ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds;
+ @ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames;
+ @ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds;
+ @ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames;
+ @ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds;
+ @ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames;
+ @ApiModelProperty(name = "title", value = "邮件主题")
private String title;
+ @ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles;
+ @ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich;
+ @ApiModelProperty(name = "content", value = "纯文本内容")
private String content;
+ @ApiModelProperty(name = "creator", value = "发件人ID")
private String creator;
+ @ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate;
+ @ApiModelProperty(name = "modifier", value = "系统默认字段")
private String modifier;
+ @ApiModelProperty(name = "gmtModified", value = "系统默认字段")
private String gmtModified;
}
diff --git a/src/main/java/cn/com/tenlion/systemoa/service/mail/IMailService.java b/src/main/java/cn/com/tenlion/systemoa/service/mail/IMailService.java
index e1b626c..8fa3fb4 100644
--- a/src/main/java/cn/com/tenlion/systemoa/service/mail/IMailService.java
+++ b/src/main/java/cn/com/tenlion/systemoa/service/mail/IMailService.java
@@ -71,4 +71,32 @@ public interface IMailService {
* @param vo 邮件VO
*/
void appSendMail(String token, MailSendVO vo);
+
+ SuccessResultList> listPageAppSendMail(String token, ListPage page);
+
+ SuccessResultList> listPageAppInboxMail(String token, ListPage page);
+
+
+ MailInboxDTO getAppInboxMail(String token, Map params);
+
+ void saveAppDraftMail(String token, MailSendVO vo);
+
+ SuccessResultList> listPageAppDraftMail(String token, ListPage page);
+
+ MailSendDTO getAppDraftMail(String token, Map params);
+
+ void updateAppDraftMail(MailSendVO vo);
+
+ void saveAppSendDraftMail(String token, MailSendVO vo);
+
+ SuccessResultList> listPageAppDelMail(String token, ListPage page);
+
+ MailDelDTO getAppDelMail(String token, Map params);
+
+ void deleteAppSendMail(String token, String ids);
+
+ void deleteAppInboxMail(String token, String ids);
+
+ void deleteAppDraftMail(String token, String ids);
+
}
diff --git a/src/main/java/cn/com/tenlion/systemoa/service/mail/impl/MailServiceImpl.java b/src/main/java/cn/com/tenlion/systemoa/service/mail/impl/MailServiceImpl.java
index 4e2b744..7c227cf 100644
--- a/src/main/java/cn/com/tenlion/systemoa/service/mail/impl/MailServiceImpl.java
+++ b/src/main/java/cn/com/tenlion/systemoa/service/mail/impl/MailServiceImpl.java
@@ -69,6 +69,21 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
+ @Override
+ public SuccessResultList> listPageAppSendMail(String token, ListPage page) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return new SuccessResultList<>(new ArrayList<>(0), 0, 0L);
+ }
+ PageHelper.startPage(page.getPage(), page.getRows());
+ Map params = page.getParams();
+ params.put("creator", appTokenUser.getId());
+ List list = mailDao.listSendMail(params);
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
+
+ }
+
@Override
public MailSendDTO getSendMail(Map params) {
MailSendDTO dto = mailDao.getSendMail(params);
@@ -121,6 +136,52 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
+ @Override
+ public SuccessResultList> listPageAppInboxMail(String token, ListPage page) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return new SuccessResultList<>(new ArrayList<>(0), 0, 0L);
+ }
+ Map params = page.getParams();
+ params.put("userId", appTokenUser.getId());
+ PageHelper.startPage(page.getPage(), page.getRows());
+ List list = mailDao.listInboxMail(params);
+ // 处理抄送情况
+ for(MailInboxDTO item : list){
+ if(item.getCopyForIds() == null || "".equals(item.getCopyForIds())){
+ continue;
+ }
+ String[] copyForIds = item.getCopyForIds().split(",");
+ for (String str : copyForIds){
+ if(str.equals(appTokenUser.getId())){
+ item.setCopyForTypes("1");
+ continue;
+ }
+ }
+ }
+ // 处理密送情况
+ for(MailInboxDTO item : list){
+ if(item.getSecretIds() == null || "".equals(item.getSecretIds())){
+ continue;
+ }
+ String[] secretIds = item.getSecretIds().split(",");
+ for (String str : secretIds){
+ String tempId = "";
+ String tempName = "";
+ if(str.equals(appTokenUser.getId())){
+ tempId = str;
+ tempName = appTokenUser.getUsername() + "[" + appTokenUser.getName() + "]";
+ item.setSecretIds(tempId);
+ item.setSecretNames(tempName);
+ item.setSecretTypes("1");
+ continue;
+ }
+ }
+ }
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
+ }
+
@Override
public MailInboxDTO getInboxMail(Map params) {
MailInboxDTO dto = mailDao.getInboxMail(params);
@@ -148,6 +209,34 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return dto;
}
+ @Override
+ public MailInboxDTO getAppInboxMail(String token, Map params) {
+ MailInboxDTO dto = mailDao.getInboxMail(params);
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ String userId = appTokenUser.getId();
+ // 处理密送
+ if(dto.getSecretIds() != null && !"".equals(dto.getSecretIds())){
+ String[] secretIds = dto.getSecretIds().split(",");
+ for (String str : secretIds){
+ String tempId = "";
+ String tempName = "";
+ if(str.equals(userId)){
+ tempId = str;
+ tempName = appTokenUser.getUsername() + "[" + appTokenUser.getName() + "]";
+ dto.setSecretIds(tempId);
+ dto.setSecretNames(tempName);
+ }
+ }
+ }
+ UserDTO sendDto = userService.get(dto.getCreator());
+ dto.setCreatorNames(sendDto.getUserUsername() + "[" + sendDto.getUserName() + "]");
+ /*String spx = "
在 "+ dto.getGmtCreate() + ", "
+ +""+ currentUser.getUserUsername() + " [" + currentUser.getUserName() + "] 写道:" +"
" +
+ "
";
+ dto.setContentRich(spx + dto.getContentRich());*/
+ return dto;
+ }
+
@Override
public void saveDraftMail(MailSendVO vo) {
String uuid = UUIDUtil.getUUID();
@@ -157,6 +246,15 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.saveDraftMail(saveParam);
}
+ @Override
+ public void saveAppDraftMail(String token, MailSendVO vo) {
+ String uuid = UUIDUtil.getUUID();
+ Map saveParam = HashMapUtil.beanToMap(vo);
+ saveParam.put("mailId", uuid);
+ setAppSaveInfo(token, saveParam);
+ mailDao.saveDraftMail(saveParam);
+ }
+
@Override
public SuccessResultList> listPageDraftMail(ListPage page) {
UserInfoBO currentUser = securityComponent.getCurrentUser();
@@ -171,12 +269,32 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
+ @Override
+ public SuccessResultList> listPageAppDraftMail(String token, ListPage page) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return new SuccessResultList<>(new ArrayList<>(0), 0, 0L);
+ }
+ PageHelper.startPage(page.getPage(), page.getRows());
+ Map params = page.getParams();
+ params.put("creator", appTokenUser.getId());
+ List list = mailDao.listDraftMail(params);
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
+ }
+
@Override
public MailSendDTO getDraftMail(Map params) {
MailSendDTO dto = mailDao.getDraftMail(params);
return dto;
}
+ @Override
+ public MailSendDTO getAppDraftMail(String token, Map params) {
+ MailSendDTO dto = mailDao.getDraftMail(params);
+ return dto;
+ }
+
@Override
public void updateDraftMail(MailSendVO vo) {
Map updateParam = HashMapUtil.beanToMap(vo);
@@ -184,6 +302,13 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.updateDraftMail(updateParam);
}
+ @Override
+ public void updateAppDraftMail(MailSendVO vo) {
+ Map updateParam = HashMapUtil.beanToMap(vo);
+ updateParam.put("gmtCreate", DateUtil.getTime());
+ mailDao.updateDraftMail(updateParam);
+ }
+
@Override
public void saveSendDraftMail(MailSendVO vo) {
Map saveParam = HashMapUtil.beanToMap(vo);
@@ -195,6 +320,16 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteDraftMail(vo.getMailId());
}
+ @Override
+ public void saveAppSendDraftMail(String token, MailSendVO vo) {
+ Map saveParam = HashMapUtil.beanToMap(vo);
+ setAppSaveInfo(token, saveParam);
+ mailDao.saveSendMail(saveParam);
+ saveParam.put("mailIdLink", vo.getMailId());
+ mailDao.saveInboxMail(saveParam);
+ mailDao.deleteDraftMail(vo.getMailId());
+ }
+
@Override
public void deleteSendMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser();
@@ -219,6 +354,30 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteSendMail(ids);
}
+ @Override
+ public void deleteAppSendMail(String token, String ids) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return;
+ }
+ String[] idArray = ids.split(",");
+ if(idArray.length > 1 && "".equals(idArray[0])){
+ return;
+ }
+ // 将发件箱中邮件保存到垃圾箱中
+ Map param = new HashMap<>(8);
+ for(String str : idArray){
+ param.put("mailId", str);
+ MailSendDTO sendMail = mailDao.getSendMail(param);
+ Map saveObj = HashMapUtil.beanToMap(sendMail);
+ saveObj.put("sourceFrom", "send");
+ saveObj.put("delUserId", appTokenUser.getId());
+ saveObj.put("delTime", DateUtil.getTime());
+ mailDao.saveDelMail(saveObj);
+ }
+ mailDao.deleteSendMail(ids);
+ }
+
@Override
public void deleteInboxMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser();
@@ -244,6 +403,31 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteInboxMail(ids);
}
+ @Override
+ public void deleteAppInboxMail(String token, String ids) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return;
+ }
+ String[] idArray = ids.split(",");
+ if(idArray.length > 1 && "".equals(idArray[0])){
+ return;
+ }
+ // 将收件箱中邮件保存到垃圾箱
+ Map param = new HashMap<>(8);
+ for(String str : idArray){
+ param.put("id", str);
+ MailInboxDTO inboxMail = mailDao.getInboxMail(param);
+ Map saveObj = HashMapUtil.beanToMap(inboxMail);
+ saveObj.put("mailId", saveObj.get("mailIdLink"));
+ saveObj.put("sourceFrom", "inbox");
+ saveObj.put("delUserId", appTokenUser.getId());
+ saveObj.put("delTime", DateUtil.getTime());
+ mailDao.saveDelMail(saveObj);
+ }
+ mailDao.deleteInboxMail(ids);
+ }
+
@Override
public void deleteDraftMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser();
@@ -268,6 +452,30 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteDraftMail(ids);
}
+ @Override
+ public void deleteAppDraftMail(String token, String ids) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return;
+ }
+ String[] idArray = ids.split(",");
+ if(idArray.length > 1 && "".equals(idArray[0])){
+ return;
+ }
+ // 将草稿箱中邮件保存到垃圾箱中
+ Map param = new HashMap<>(8);
+ for(String str : idArray){
+ param.put("mailId", str);
+ MailSendDTO sendMail = mailDao.getDraftMail(param);
+ Map saveObj = HashMapUtil.beanToMap(sendMail);
+ saveObj.put("sourceFrom", "draft");
+ saveObj.put("delUserId", appTokenUser.getId());
+ saveObj.put("delTime", DateUtil.getTime());
+ mailDao.saveDelMail(saveObj);
+ }
+ mailDao.deleteDraftMail(ids);
+ }
+
@Override
public void deleteDelMail(String ids) {
String[] idArray = ids.split(",");
@@ -291,12 +499,32 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
+ @Override
+ public SuccessResultList> listPageAppDelMail(String token, ListPage page) {
+ AppTokenUser appTokenUser = getAppTokenUser(token);
+ if(appTokenUser == null || "".equals(appTokenUser.getId())){
+ return new SuccessResultList<>(new ArrayList<>(0), 0, 0L);
+ }
+ PageHelper.startPage(page.getPage(), page.getRows());
+ Map params = page.getParams();
+ params.put("delUserId", appTokenUser.getId());
+ List list = mailDao.listDelMail(params);
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
+ }
+
@Override
public MailDelDTO getDelMail(Map params) {
MailDelDTO dto = mailDao.getDelMail(params);
return dto;
}
+ @Override
+ public MailDelDTO getAppDelMail(String token, Map params) {
+ MailDelDTO dto = mailDao.getDelMail(params);
+ return dto;
+ }
+
@Override
public void getRecoverDelMail(String ids) {
String[] idArray = ids.split(",");
@@ -334,7 +562,6 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
}
}
-
/**
* 崔宝成-日程通知提醒邮件接口
* @param sendUserId 发件人Id