添加APP内部邮件接口

This commit is contained in:
wans 2022-04-21 11:47:21 +08:00
parent c84a23a3d6
commit 0efcf0f638
7 changed files with 546 additions and 7 deletions

View File

@ -94,7 +94,7 @@ public class MailController extends DefaultBaseController {
} }
/** /**
* 查询收件箱详情 * 草稿箱分页列表
* @param page * @param page
* @return * @return
*/ */
@ -117,7 +117,7 @@ public class MailController extends DefaultBaseController {
} }
/** /**
* 保存草稿箱 * 更新草稿
*/ */
@PostMapping("update-draft-mail") @PostMapping("update-draft-mail")
public SuccessResult updateDraftMail(@RequestBody MailSendVO vo){ public SuccessResult updateDraftMail(@RequestBody MailSendVO vo){
@ -167,7 +167,7 @@ public class MailController extends DefaultBaseController {
} }
/** /**
* 查询收件箱详情 * 查询垃圾箱详情
* @return * @return
*/ */
@GetMapping("get-del-mail") @GetMapping("get-del-mail")
@ -178,7 +178,7 @@ public class MailController extends DefaultBaseController {
} }
/** /**
* 查询收件箱详情 * 恢复垃圾箱邮件
* @return * @return
*/ */
@GetMapping("get-recover-del-mail/{ids}") @GetMapping("get-recover-del-mail/{ids}")

View File

@ -1,17 +1,23 @@
package cn.com.tenlion.systemoa.controller.app.api.mail; 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.pojo.vos.mail.MailSendVO;
import cn.com.tenlion.systemoa.service.mail.IMailService; import cn.com.tenlion.systemoa.service.mail.IMailService;
import ink.wgink.annotation.CheckRequestBodyAnnotation;
import ink.wgink.common.base.DefaultBaseController; import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult; import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResult; import ink.wgink.pojo.result.SuccessResult;
import ink.wgink.pojo.result.SuccessResultList;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/** /**
* @author xwangs * @author xwangs
* @create 2022-04-19 17:18 * @create 2022-04-19 17:18
@ -37,4 +43,224 @@ public class MailAppController extends DefaultBaseController {
return new SuccessResult(); 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<List<MailSendDTO>> listPageAppSendMail(@RequestHeader("token") String token, ListPage page) {
Map<String, Object> 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<String, Object> 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<List<MailInboxDTO>> listPageAppInboxMail(@RequestHeader("token") String token, ListPage page) {
Map<String, Object> 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<String, Object> 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<List<MailSendDTO>> listPageAppDraftMail(@RequestHeader("token") String token, ListPage page) {
Map<String, Object> 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<String, Object> 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<List<MailDelDTO>> listPageAppDelMail(@RequestHeader("token") String token, ListPage page) {
Map<String, Object> 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<String, Object> 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);
}
} }

View File

@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail; package cn.com.tenlion.systemoa.pojo.dtos.mail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -10,23 +12,41 @@ import lombok.ToString;
*/ */
@Data @Data
@ToString @ToString
@ApiModel
public class MailDelDTO { public class MailDelDTO {
@ApiModelProperty(name = "id", value = "自增主键")
private String id; private String id;
@ApiModelProperty(name = "mailId", value = "逻辑主键")
private String mailId; private String mailId;
@ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds; private String recipientIds;
@ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames; private String recipientNames;
@ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds; private String copyForIds;
@ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames; private String copyForNames;
@ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds; private String secretIds;
@ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames; private String secretNames;
@ApiModelProperty(name = "title", value = "邮件主题")
private String title; private String title;
@ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles; private String mailFiles;
@ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich; private String contentRich;
@ApiModelProperty(name = "content", value = "纯文本内容")
private String content; private String content;
@ApiModelProperty(name = "creator", value = "发件人ID")
private String creator; private String creator;
@ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate; private String gmtCreate;
@ApiModelProperty(name = "sourceFrom", value = "来源")
private String sourceFrom; private String sourceFrom;
@ApiModelProperty(name = "delUserId", value = "删除人")
private String delUserId; private String delUserId;
@ApiModelProperty(name = "delTime", value = "删除时间")
private String delTime; private String delTime;
} }

View File

@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail; package cn.com.tenlion.systemoa.pojo.dtos.mail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -10,23 +12,41 @@ import lombok.ToString;
*/ */
@Data @Data
@ToString @ToString
@ApiModel
public class MailInboxDTO { public class MailInboxDTO {
@ApiModelProperty(name = "mailId", value = "自增主键")
private String id; private String id;
@ApiModelProperty(name = "mailIdLink", value = "邮件ID")
private String mailIdLink; private String mailIdLink;
@ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds; private String recipientIds;
@ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames; private String recipientNames;
@ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds; private String copyForIds;
@ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames; private String copyForNames;
@ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds; private String secretIds;
@ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames; private String secretNames;
@ApiModelProperty(name = "title", value = "邮件主题")
private String title; private String title;
@ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles; private String mailFiles;
@ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich; private String contentRich;
@ApiModelProperty(name = "content", value = "纯文本内容")
private String content; private String content;
@ApiModelProperty(name = "creator", value = "发件人ID")
private String creator; private String creator;
@ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate; private String gmtCreate;
@ApiModelProperty(name = "copyForTypes", value = "抄送标记")
private String copyForTypes; private String copyForTypes;
@ApiModelProperty(name = "secretTypes", value = "密送标记")
private String secretTypes; private String secretTypes;
@ApiModelProperty(name = "creatorNames", value = "发件人姓名")
private String creatorNames; private String creatorNames;
} }

View File

@ -1,5 +1,7 @@
package cn.com.tenlion.systemoa.pojo.dtos.mail; package cn.com.tenlion.systemoa.pojo.dtos.mail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -10,21 +12,37 @@ import lombok.ToString;
*/ */
@Data @Data
@ToString @ToString
@ApiModel
public class MailSendDTO { public class MailSendDTO {
@ApiModelProperty(name = "mailId", value = "逻辑主键")
private String mailId; private String mailId;
@ApiModelProperty(name = "recipientIds", value = "收件人IDs-逗号分割")
private String recipientIds; private String recipientIds;
@ApiModelProperty(name = "recipientNames", value = "收件人名字")
private String recipientNames; private String recipientNames;
@ApiModelProperty(name = "copyForIds", value = "抄送人IDs-逗号分割")
private String copyForIds; private String copyForIds;
@ApiModelProperty(name = "copyForNames", value = "抄送人名字")
private String copyForNames; private String copyForNames;
@ApiModelProperty(name = "secretIds", value = "密送人IDs-逗号分割")
private String secretIds; private String secretIds;
@ApiModelProperty(name = "secretNames", value = "密送人名字")
private String secretNames; private String secretNames;
@ApiModelProperty(name = "title", value = "邮件主题")
private String title; private String title;
@ApiModelProperty(name = "mailFiles", value = "附件IDs")
private String mailFiles; private String mailFiles;
@ApiModelProperty(name = "contentRich", value = "富文本内容")
private String contentRich; private String contentRich;
@ApiModelProperty(name = "content", value = "纯文本内容")
private String content; private String content;
@ApiModelProperty(name = "creator", value = "发件人ID")
private String creator; private String creator;
@ApiModelProperty(name = "gmtCreate", value = "发件时间")
private String gmtCreate; private String gmtCreate;
@ApiModelProperty(name = "modifier", value = "系统默认字段")
private String modifier; private String modifier;
@ApiModelProperty(name = "gmtModified", value = "系统默认字段")
private String gmtModified; private String gmtModified;
} }

View File

@ -71,4 +71,32 @@ public interface IMailService {
* @param vo 邮件VO * @param vo 邮件VO
*/ */
void appSendMail(String token, MailSendVO vo); void appSendMail(String token, MailSendVO vo);
SuccessResultList<List<MailSendDTO>> listPageAppSendMail(String token, ListPage page);
SuccessResultList<List<MailInboxDTO>> listPageAppInboxMail(String token, ListPage page);
MailInboxDTO getAppInboxMail(String token, Map<String, Object> params);
void saveAppDraftMail(String token, MailSendVO vo);
SuccessResultList<List<MailSendDTO>> listPageAppDraftMail(String token, ListPage page);
MailSendDTO getAppDraftMail(String token, Map<String, Object> params);
void updateAppDraftMail(MailSendVO vo);
void saveAppSendDraftMail(String token, MailSendVO vo);
SuccessResultList<List<MailDelDTO>> listPageAppDelMail(String token, ListPage page);
MailDelDTO getAppDelMail(String token, Map<String, Object> params);
void deleteAppSendMail(String token, String ids);
void deleteAppInboxMail(String token, String ids);
void deleteAppDraftMail(String token, String ids);
} }

View File

@ -69,6 +69,21 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal()); return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
} }
@Override
public SuccessResultList<List<MailSendDTO>> 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<String, Object> params = page.getParams();
params.put("creator", appTokenUser.getId());
List<MailSendDTO> list = mailDao.listSendMail(params);
PageInfo<MailSendDTO> pageInfo = new PageInfo<>(list);
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override @Override
public MailSendDTO getSendMail(Map<String, Object> params) { public MailSendDTO getSendMail(Map<String, Object> params) {
MailSendDTO dto = mailDao.getSendMail(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()); return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
} }
@Override
public SuccessResultList<List<MailInboxDTO>> listPageAppInboxMail(String token, ListPage page) {
AppTokenUser appTokenUser = getAppTokenUser(token);
if(appTokenUser == null || "".equals(appTokenUser.getId())){
return new SuccessResultList<>(new ArrayList<>(0), 0, 0L);
}
Map<String, Object> params = page.getParams();
params.put("userId", appTokenUser.getId());
PageHelper.startPage(page.getPage(), page.getRows());
List<MailInboxDTO> 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<MailInboxDTO> pageInfo = new PageInfo<>(list);
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override @Override
public MailInboxDTO getInboxMail(Map<String, Object> params) { public MailInboxDTO getInboxMail(Map<String, Object> params) {
MailInboxDTO dto = mailDao.getInboxMail(params); MailInboxDTO dto = mailDao.getInboxMail(params);
@ -148,6 +209,34 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return dto; return dto;
} }
@Override
public MailInboxDTO getAppInboxMail(String token, Map<String, Object> 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 = "<p><br></p><p><br></p><p><br></p><p>在 "+ dto.getGmtCreate() + ", "
+"<span style='color: blue;'>"+ currentUser.getUserUsername() + " [" + currentUser.getUserName() + "]</span> 写道:" +"</p>" +
"<p><hr style='border: 1px dashed'></hr></p>";
dto.setContentRich(spx + dto.getContentRich());*/
return dto;
}
@Override @Override
public void saveDraftMail(MailSendVO vo) { public void saveDraftMail(MailSendVO vo) {
String uuid = UUIDUtil.getUUID(); String uuid = UUIDUtil.getUUID();
@ -157,6 +246,15 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.saveDraftMail(saveParam); mailDao.saveDraftMail(saveParam);
} }
@Override
public void saveAppDraftMail(String token, MailSendVO vo) {
String uuid = UUIDUtil.getUUID();
Map<String, Object> saveParam = HashMapUtil.beanToMap(vo);
saveParam.put("mailId", uuid);
setAppSaveInfo(token, saveParam);
mailDao.saveDraftMail(saveParam);
}
@Override @Override
public SuccessResultList<List<MailSendDTO>> listPageDraftMail(ListPage page) { public SuccessResultList<List<MailSendDTO>> listPageDraftMail(ListPage page) {
UserInfoBO currentUser = securityComponent.getCurrentUser(); UserInfoBO currentUser = securityComponent.getCurrentUser();
@ -171,12 +269,32 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal()); return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
} }
@Override
public SuccessResultList<List<MailSendDTO>> 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<String, Object> params = page.getParams();
params.put("creator", appTokenUser.getId());
List<MailSendDTO> list = mailDao.listDraftMail(params);
PageInfo<MailSendDTO> pageInfo = new PageInfo<>(list);
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override @Override
public MailSendDTO getDraftMail(Map<String, Object> params) { public MailSendDTO getDraftMail(Map<String, Object> params) {
MailSendDTO dto = mailDao.getDraftMail(params); MailSendDTO dto = mailDao.getDraftMail(params);
return dto; return dto;
} }
@Override
public MailSendDTO getAppDraftMail(String token, Map<String, Object> params) {
MailSendDTO dto = mailDao.getDraftMail(params);
return dto;
}
@Override @Override
public void updateDraftMail(MailSendVO vo) { public void updateDraftMail(MailSendVO vo) {
Map<String, Object> updateParam = HashMapUtil.beanToMap(vo); Map<String, Object> updateParam = HashMapUtil.beanToMap(vo);
@ -184,6 +302,13 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.updateDraftMail(updateParam); mailDao.updateDraftMail(updateParam);
} }
@Override
public void updateAppDraftMail(MailSendVO vo) {
Map<String, Object> updateParam = HashMapUtil.beanToMap(vo);
updateParam.put("gmtCreate", DateUtil.getTime());
mailDao.updateDraftMail(updateParam);
}
@Override @Override
public void saveSendDraftMail(MailSendVO vo) { public void saveSendDraftMail(MailSendVO vo) {
Map<String, Object> saveParam = HashMapUtil.beanToMap(vo); Map<String, Object> saveParam = HashMapUtil.beanToMap(vo);
@ -195,6 +320,16 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteDraftMail(vo.getMailId()); mailDao.deleteDraftMail(vo.getMailId());
} }
@Override
public void saveAppSendDraftMail(String token, MailSendVO vo) {
Map<String, Object> saveParam = HashMapUtil.beanToMap(vo);
setAppSaveInfo(token, saveParam);
mailDao.saveSendMail(saveParam);
saveParam.put("mailIdLink", vo.getMailId());
mailDao.saveInboxMail(saveParam);
mailDao.deleteDraftMail(vo.getMailId());
}
@Override @Override
public void deleteSendMail(String ids) { public void deleteSendMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser(); UserInfoBO currentUser = securityComponent.getCurrentUser();
@ -219,6 +354,30 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteSendMail(ids); 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<String, Object> param = new HashMap<>(8);
for(String str : idArray){
param.put("mailId", str);
MailSendDTO sendMail = mailDao.getSendMail(param);
Map<String, Object> 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 @Override
public void deleteInboxMail(String ids) { public void deleteInboxMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser(); UserInfoBO currentUser = securityComponent.getCurrentUser();
@ -244,6 +403,31 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteInboxMail(ids); 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<String, Object> param = new HashMap<>(8);
for(String str : idArray){
param.put("id", str);
MailInboxDTO inboxMail = mailDao.getInboxMail(param);
Map<String, Object> 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 @Override
public void deleteDraftMail(String ids) { public void deleteDraftMail(String ids) {
UserInfoBO currentUser = securityComponent.getCurrentUser(); UserInfoBO currentUser = securityComponent.getCurrentUser();
@ -268,6 +452,30 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
mailDao.deleteDraftMail(ids); 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<String, Object> param = new HashMap<>(8);
for(String str : idArray){
param.put("mailId", str);
MailSendDTO sendMail = mailDao.getDraftMail(param);
Map<String, Object> 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 @Override
public void deleteDelMail(String ids) { public void deleteDelMail(String ids) {
String[] idArray = ids.split(","); String[] idArray = ids.split(",");
@ -291,12 +499,32 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal()); return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
} }
@Override
public SuccessResultList<List<MailDelDTO>> 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<String, Object> params = page.getParams();
params.put("delUserId", appTokenUser.getId());
List<MailDelDTO> list = mailDao.listDelMail(params);
PageInfo<MailDelDTO> pageInfo = new PageInfo<>(list);
return new SuccessResultList<>(list, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override @Override
public MailDelDTO getDelMail(Map<String, Object> params) { public MailDelDTO getDelMail(Map<String, Object> params) {
MailDelDTO dto = mailDao.getDelMail(params); MailDelDTO dto = mailDao.getDelMail(params);
return dto; return dto;
} }
@Override
public MailDelDTO getAppDelMail(String token, Map<String, Object> params) {
MailDelDTO dto = mailDao.getDelMail(params);
return dto;
}
@Override @Override
public void getRecoverDelMail(String ids) { public void getRecoverDelMail(String ids) {
String[] idArray = ids.split(","); String[] idArray = ids.split(",");
@ -334,7 +562,6 @@ public class MailServiceImpl extends DefaultBaseService implements IMailService
} }
} }
/** /**
* 崔宝成-日程通知提醒邮件接口 * 崔宝成-日程通知提醒邮件接口
* @param sendUserId 发件人Id * @param sendUserId 发件人Id