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