Commit c6a18a59 by chentianzhong

2023年3月31日11:36:38

parent f750ef75
...@@ -55,18 +55,18 @@ public class EmailContentController { ...@@ -55,18 +55,18 @@ public class EmailContentController {
} }
/****** 这两个接口必须优化掉,,后期影响很大****************/ /****** 这两个接口必须优化掉,,后期影响很大****************/
@ApiOperation("从content中获取邮件收件部门(草稿箱用)") // @ApiOperation("从content中获取邮件收件部门(草稿箱用)")
@PostMapping("findReceiveDeptByContentId") // @PostMapping("findReceiveDeptByContentId")
public ResultVo findReceiveDeptByContentId(@RequestBody EmailDetailVo vo) { // public ResultVo findReceiveDeptByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId"); // AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailContentService.findReceiveDeptByContentId(vo.getContentId())); // return ResultVo.success(emailContentService.findReceiveDeptByContentId(vo.getContentId()));
} // }
//
@ApiOperation("从content中获取邮件收件人(草稿箱用)") // @ApiOperation("从content中获取邮件收件人(草稿箱用)")
@PostMapping("findReceiverByContentId") // @PostMapping("findReceiverByContentId")
public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) { // public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId"); // AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailContentService.findReceiverByContentId(vo.getContentId())); // return ResultVo.success(emailContentService.findReceiverByContentId(vo.getContentId()));
} // }
} }
...@@ -103,7 +103,6 @@ public class EmailController { ...@@ -103,7 +103,6 @@ public class EmailController {
EmailContent content = emailContentService.getById(vo.getContentId()); EmailContent content = emailContentService.getById(vo.getContentId());
AssertUtils.notNull(content, "邮件内容读取失败"); AssertUtils.notNull(content, "邮件内容读取失败");
EmailPerson emailPerson = emailPersonService.getByContentAndFolderId(content.getId(), content.getSendTime(), vo.getFolderId()); EmailPerson emailPerson = emailPersonService.getByContentAndFolderId(content.getId(), content.getSendTime(), vo.getFolderId());
AssertUtils.notNull(emailPerson, "邮件人员信息不匹配");
emailPerson.setEmailContent(content); emailPerson.setEmailContent(content);
return ResultVo.success(emailPerson); return ResultVo.success(emailPerson);
} }
......
...@@ -54,11 +54,18 @@ public class EmailPersonController { ...@@ -54,11 +54,18 @@ public class EmailPersonController {
return ResultVo.success(emailPersonService.findTaskEmailByContentId(vo.getContentId())); return ResultVo.success(emailPersonService.findTaskEmailByContentId(vo.getContentId()));
} }
@ApiOperation("非任务邮件收件人详情(收件箱和个人文件夹用)") @ApiOperation("非任务邮件收件人详情(收件箱、个人文件夹和草稿箱用,草稿箱需要传isPersonId=1, 其他只传contenId)")
@PostMapping("findReceiverByContentId") @PostMapping("findReceiverByContentId")
public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) { public ResultVo findReceiverByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId"); AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailPersonService.findReceiverByContentId(vo.getContentId())); return ResultVo.success(emailPersonService.findReceiverByContentId(vo.getContentId(), vo.getIsPerson()));
}
@ApiOperation("获取草稿箱收件部门")
@PostMapping("findDraftsDeptByContentId")
public ResultVo findDraftsDeptByContentId(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
return ResultVo.success(emailPersonService.findDraftsDeptByContentId(vo.getContentId()));
} }
@ApiOperation("设置为已读或未读") @ApiOperation("设置为已读或未读")
......
...@@ -61,4 +61,6 @@ public class EmailContent implements Serializable { ...@@ -61,4 +61,6 @@ public class EmailContent implements Serializable {
private Integer isTask; private Integer isTask;
private Integer isFile;
} }
package com.zq.email.feign; package com.zq.email.feign;
import com.zq.common.annotation.AnonymousAccess;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -55,4 +57,15 @@ public interface MessageFeignClient { ...@@ -55,4 +57,15 @@ public interface MessageFeignClient {
@PostMapping("/todo/revokeTodoBySysInfo") @PostMapping("/todo/revokeTodoBySysInfo")
ResultVo revokeTodoBySysInfo(@RequestBody Map<String, Object> params); ResultVo revokeTodoBySysInfo(@RequestBody Map<String, Object> params);
@ApiOperation("内部已读")
@PostMapping("/web/batchSetReadByUser")
public ResultVo batchSetReadByUser(@RequestBody Map<String, Object> params);
@ApiOperation("根据系统标识及业务id和人员id关闭(已读)代办")
@PostMapping("/todo/doneByBusinessIdAndSystemTagAndTodoUserId")
public ResultVo doneByBusinessIdAndSystemTagAndTodoUserId(@RequestBody Map<String, Object> params);
} }
...@@ -19,7 +19,7 @@ import java.util.List; ...@@ -19,7 +19,7 @@ import java.util.List;
*/ */
public interface IEmailAttachService extends IService<EmailAttach> { public interface IEmailAttachService extends IService<EmailAttach> {
void saveAttach(EmailEditVo vo, EmailContent content); List<EmailAttach> saveAttach(EmailEditVo vo, EmailContent content);
List<EmailAttach> findByContentId(Long contentId); List<EmailAttach> findByContentId(Long contentId);
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.common.vo.CustomerUserVo; import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.entity.EmailContent; import com.zq.email.entity.EmailContent;
import com.zq.email.entity.EmailPerson; import com.zq.email.entity.EmailPerson;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -47,7 +48,7 @@ public interface IEmailPersonService extends IService<EmailPerson> { ...@@ -47,7 +48,7 @@ public interface IEmailPersonService extends IService<EmailPerson> {
void moveEmailFolder(EmailFolderMoveVo vo); void moveEmailFolder(EmailFolderMoveVo vo);
//邮件接收人列表 //邮件接收人列表
List<EmailPerson> findReceiverByContentId(Long contentId); List<EmailPerson> findReceiverByContentId(Long contentId, Integer isPerson);
//邮件接收人列表(包含回复邮件) //邮件接收人列表(包含回复邮件)
List<EmailPerson> findTaskEmailByContentId(Long contentId); List<EmailPerson> findTaskEmailByContentId(Long contentId);
...@@ -110,4 +111,6 @@ public interface IEmailPersonService extends IService<EmailPerson> { ...@@ -110,4 +111,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
//根据content和文件夹获取person //根据content和文件夹获取person
EmailPerson getByContentAndFolderId(Long contentId, LocalDateTime sendTime, Long folderId); EmailPerson getByContentAndFolderId(Long contentId, LocalDateTime sendTime, Long folderId);
List<DeptSimpleDto> findDraftsDeptByContentId(Long contentId);
} }
...@@ -44,7 +44,7 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email ...@@ -44,7 +44,7 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
private String profile; private String profile;
@Override @Override
public void saveAttach(EmailEditVo vo, EmailContent content) { public List<EmailAttach> saveAttach(EmailEditVo vo, EmailContent content) {
List<EmailAttach> list = new ArrayList<>(); List<EmailAttach> list = new ArrayList<>();
if(CollectionUtil.isNotEmpty(vo.getFileIds())) { if(CollectionUtil.isNotEmpty(vo.getFileIds())) {
...@@ -93,6 +93,7 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email ...@@ -93,6 +93,7 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
} }
} }
this.saveBatch(list); this.saveBatch(list);
return list;
} }
@Override @Override
......
...@@ -77,21 +77,21 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema ...@@ -77,21 +77,21 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
content.setMessageRemind(WhetherEnum.NO.getKey()); content.setMessageRemind(WhetherEnum.NO.getKey());
} }
if (CollectionUtil.isNotEmpty(vo.getReceiver())){ // if (CollectionUtil.isNotEmpty(vo.getReceiver())){
StringBuffer r = new StringBuffer(); // StringBuffer r = new StringBuffer();
for (Long userId : vo.getReceiver()) { // for (Long userId : vo.getReceiver()) {
r.append(userId).append(","); // r.append(userId).append(",");
} // }
content.setUserList(r.toString()); // content.setUserList(r.toString());
} // }
//
if (CollectionUtil.isNotEmpty(vo.getReceiveDeptList())){ // if (CollectionUtil.isNotEmpty(vo.getReceiveDeptList())){
StringBuffer sb = new StringBuffer(); // StringBuffer sb = new StringBuffer();
for (Long deptId : vo.getReceiveDeptList()) { // for (Long deptId : vo.getReceiveDeptList()) {
sb.append(deptId).append(","); // sb.append(deptId).append(",");
} // }
content.setDeptList(sb.toString()); // content.setDeptList(sb.toString());
} // }
this.saveOrUpdate(content); this.saveOrUpdate(content);
return content; return content;
} }
...@@ -111,13 +111,13 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema ...@@ -111,13 +111,13 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
content.setSmsRemind(WhetherEnum.NO.getKey()); content.setSmsRemind(WhetherEnum.NO.getKey());
content.setMessageRemind(WhetherEnum.NO.getKey()); content.setMessageRemind(WhetherEnum.NO.getKey());
if (CollectionUtil.isNotEmpty(receiveIds)){ // if (CollectionUtil.isNotEmpty(receiveIds)){
StringBuffer r = new StringBuffer(); // StringBuffer r = new StringBuffer();
for (Long userId : receiveIds) { // for (Long userId : receiveIds) {
r.append(userId).append(","); // r.append(userId).append(",");
} // }
content.setUserList(r.toString()); // content.setUserList(r.toString());
} // }
this.saveOrUpdate(content); this.saveOrUpdate(content);
return content; return content;
} }
...@@ -136,21 +136,21 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema ...@@ -136,21 +136,21 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
content.setSmsRemind(vo.getIsSmsRemind()); content.setSmsRemind(vo.getIsSmsRemind());
content.setMessageRemind(vo.getIsMessageRemind()); content.setMessageRemind(vo.getIsMessageRemind());
if (CollectionUtil.isNotEmpty(vo.getReceiver())){ // if (CollectionUtil.isNotEmpty(vo.getReceiver())){
StringBuffer r = new StringBuffer(); // StringBuffer r = new StringBuffer();
for (Long userId : vo.getReceiver()) { // for (Long userId : vo.getReceiver()) {
r.append(userId).append(","); // r.append(userId).append(",");
} // }
content.setUserList(r.toString()); // content.setUserList(r.toString());
} // }
//
if (CollectionUtil.isNotEmpty(vo.getReceiveDeptList())){ // if (CollectionUtil.isNotEmpty(vo.getReceiveDeptList())){
StringBuffer sb = new StringBuffer(); // StringBuffer sb = new StringBuffer();
for (Long deptId : vo.getReceiveDeptList()) { // for (Long deptId : vo.getReceiveDeptList()) {
sb.append(deptId).append(","); // sb.append(deptId).append(",");
} // }
content.setDeptList(sb.toString()); // content.setDeptList(sb.toString());
} // }
this.saveOrUpdate(content); this.saveOrUpdate(content);
return content; return content;
} }
......
...@@ -10,6 +10,7 @@ import com.zq.common.vo.CustomerUserVo; ...@@ -10,6 +10,7 @@ import com.zq.common.vo.CustomerUserVo;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.email.constants.EmailConstant; import com.zq.email.constants.EmailConstant;
import com.zq.email.dto.DeptSimpleDto;
import com.zq.email.dto.Person; import com.zq.email.dto.Person;
import com.zq.email.dto.SystemInfo; import com.zq.email.dto.SystemInfo;
import com.zq.email.entity.EmailAttach; import com.zq.email.entity.EmailAttach;
...@@ -130,7 +131,12 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -130,7 +131,12 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
EmailContent content = emailContentService.saveContent(vo, adminContext); EmailContent content = emailContentService.saveContent(vo, adminContext);
if (content !=null) { if (content !=null) {
//附件 //附件
emailAttachService.saveAttach(vo, content); List<EmailAttach> emailAttaches = emailAttachService.saveAttach(vo, content);
//是否存在附件
Integer whether = CollectionUtil.isNotEmpty(emailAttaches) ? WhetherEnum.YES.getKey() : WhetherEnum.NO.getKey();
content.setIsFile(whether);
this.emailContentService.updateById(content);
//person,先删除 //person,先删除
this.lambdaUpdate().eq(EmailPerson::getEmailContentId, content.getId()).remove(); this.lambdaUpdate().eq(EmailPerson::getEmailContentId, content.getId()).remove();
//发件人 //发件人
...@@ -153,8 +159,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -153,8 +159,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
smsUtil.sendBatchSms(receiverList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId()); smsUtil.sendBatchSms(receiverList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId());
} }
//代办 //代办
if (vo.getIsSend().equals(WhetherEnum.YES.getKey()) && (content.getMessageRemind() != null && content.getSmsRemind().equals(WhetherEnum.YES.getKey()))) { if (vo.getIsSend().equals(WhetherEnum.YES.getKey()) && (content.getMessageRemind() != null && content.getMessageRemind().equals(WhetherEnum.YES.getKey()))) {
msgUtil.sendMsg(adminContext.getNickName(), content, receiverList, systemInfo); msgUtil.sendMsg(adminContext.getNickName(), content, receiverList, systemInfo, EmailFolderEnum.FOLDER_INBOX.getKey());
} }
} }
} }
...@@ -176,8 +182,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -176,8 +182,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
smsUtil.sendBatchSms(deptUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId()); smsUtil.sendBatchSms(deptUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId());
} }
//代办 //代办
if (vo.getIsSend().equals(WhetherEnum.YES.getKey()) && content.getSmsRemind().equals(WhetherEnum.YES.getKey())) { if (vo.getIsSend().equals(WhetherEnum.YES.getKey()) && content.getMessageRemind().equals(WhetherEnum.YES.getKey())) {
msgUtil.sendMsg(adminContext.getNickName(), content, deptUserList, systemInfo); msgUtil.sendMsg(adminContext.getNickName(), content, deptUserList, systemInfo, EmailFolderEnum.FOLDER_DEPT_INBOX.getKey());
} }
} }
} }
...@@ -270,9 +276,10 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -270,9 +276,10 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
} }
@Override @Override
public List<EmailPerson> findReceiverByContentId(Long contentId) { public List<EmailPerson> findReceiverByContentId(Long contentId, Integer isPerson) {
return this.lambdaQuery() return this.lambdaQuery()
.eq(EmailPerson::getEmailContentId, contentId) .eq(contentId!=null, EmailPerson::getEmailContentId, contentId)
.eq(isPerson!=null , EmailPerson::getIsPerson, isPerson)
.eq(EmailPerson::getPersonType, EmailConstant.TYPE_EMAIL_RECEIVE) .eq(EmailPerson::getPersonType, EmailConstant.TYPE_EMAIL_RECEIVE)
.orderByAsc(EmailPerson::getId).list(); .orderByAsc(EmailPerson::getId).list();
} }
...@@ -280,7 +287,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -280,7 +287,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
@Override @Override
public List<EmailPerson> findTaskEmailByContentId(Long contentId) { public List<EmailPerson> findTaskEmailByContentId(Long contentId) {
List<EmailPerson> personList = this.lambdaQuery() List<EmailPerson> personList = this.lambdaQuery()
.eq(EmailPerson::getEmailContentId, contentId) .eq(contentId!=null, EmailPerson::getEmailContentId, contentId)
.eq(EmailPerson::getPersonType, EmailConstant.TYPE_EMAIL_RECEIVE) .eq(EmailPerson::getPersonType, EmailConstant.TYPE_EMAIL_RECEIVE)
.orderByAsc(EmailPerson::getId).list(); .orderByAsc(EmailPerson::getId).list();
for (EmailPerson person : personList) { for (EmailPerson person : personList) {
...@@ -313,7 +320,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -313,7 +320,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
@Override @Override
public void readEmail(EmailReadVo vo) { public void readEmail(EmailReadVo vo) {
this.lambdaUpdate() this.lambdaUpdate()
.ge(EmailPerson::getSendTime, DateUtils.getRangeStart(vo.getSearchRange())) .ge(vo.getSearchRange()!=null, EmailPerson::getSendTime, DateUtils.getRangeStart(vo.getSearchRange()))
.le(EmailPerson::getSendTime, LocalDateTime.now()) .le(EmailPerson::getSendTime, LocalDateTime.now())
.in(EmailPerson::getId, vo.getPersonIdList()) .in(EmailPerson::getId, vo.getPersonIdList())
.set(EmailPerson::getIsRead, vo.getIsRead()).update(); .set(EmailPerson::getIsRead, vo.getIsRead()).update();
...@@ -695,7 +702,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -695,7 +702,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
//短信 //短信
smsUtil.sendBatchSms(toUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId()); smsUtil.sendBatchSms(toUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId());
//代办 //代办
msgUtil.sendMsg(fromVo.getData().getNickName(), content, toUserList, systemInfo); msgUtil.sendMsg(fromVo.getData().getNickName(), content, toUserList, systemInfo, EmailFolderEnum.FOLDER_INBOX.getKey());
return content; return content;
} }
...@@ -725,7 +732,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -725,7 +732,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
} }
if (CollectionUtil.isNotEmpty(receiverList)){ if (CollectionUtil.isNotEmpty(receiverList)){
smsUtil.sendBatchSms(receiverList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId()); smsUtil.sendBatchSms(receiverList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId());
msgUtil.sendMsg(formUser.getNickName(), content, receiverList, systemInfo); msgUtil.sendMsg(formUser.getNickName(), content, receiverList, systemInfo, EmailFolderEnum.FOLDER_INBOX.getKey());
} }
} }
...@@ -741,7 +748,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -741,7 +748,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
if (CollectionUtil.isNotEmpty(deptUserList)){ if (CollectionUtil.isNotEmpty(deptUserList)){
smsUtil.sendBatchSms(deptUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId()); smsUtil.sendBatchSms(deptUserList, "您有一封新的邮件,标题为《" + content.getTitle() + "》。请及时查收。", content.getId());
msgUtil.sendMsg(formUser.getNickName(), content, deptUserList, systemInfo); msgUtil.sendMsg(formUser.getNickName(), content, deptUserList, systemInfo, EmailFolderEnum.FOLDER_DEPT_INBOX.getKey());
} }
} }
} }
...@@ -798,17 +805,35 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -798,17 +805,35 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
break; break;
} }
EmailPerson emailPerson = this.getOne(queryWrapper, false);
AssertUtils.notNull(emailPerson, "邮件人员信息不匹配");
return this.getOne(queryWrapper, false); if (emailPerson.getIsRead().equals(WhetherEnum.NO.getKey())){
msgUtil.doneMsgByBusinessIdAndReceiverId(contentId, emailPerson.getUserId());
}
return emailPerson;
} }
@Override
public List<DeptSimpleDto> findDraftsDeptByContentId(Long contentId) {
List<DeptSimpleDto> deptDtoList = new ArrayList<>();
List<EmailPerson> list = this.lambdaQuery()
.eq(contentId != null, EmailPerson::getEmailContentId, contentId)
.eq(EmailPerson::getIsPerson, WhetherEnum.NO.getKey())
.eq(EmailPerson::getPersonType, EmailConstant.TYPE_EMAIL_RECEIVE)
.orderByAsc(EmailPerson::getId).list();
Set<Long> deptIds = new HashSet<>();
for (EmailPerson person : list) {
deptIds.add(person.getDeptId());
}
for (Long deptId : deptIds) {
ResultVo<DeptSimpleDto> byDeptId = adminFeignClient.getByDeptId(deptId);
if (byDeptId.isSuccess() && byDeptId.getData()!=null){
deptDtoList.add(byDeptId.getData());
}
}
return deptDtoList;
}
} }
...@@ -35,8 +35,9 @@ public class MsgUtil { ...@@ -35,8 +35,9 @@ public class MsgUtil {
@Resource @Resource
public MessageFeignClient messageFeignClient; public MessageFeignClient messageFeignClient;
//发送消息和代办
@Async @Async
public void sendMsg(String sender, EmailContent content, List<CustomerUserVo> userVoList, SystemInfo systemInfo) { public void sendMsg(String sender, EmailContent content, List<CustomerUserVo> userVoList, SystemInfo systemInfo, Integer folderId) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params .put("systemTag", EmailConstant.SYSTEM_TAG); params .put("systemTag", EmailConstant.SYSTEM_TAG);
params .put("sender", sender); params .put("sender", sender);
...@@ -45,13 +46,14 @@ public class MsgUtil { ...@@ -45,13 +46,14 @@ public class MsgUtil {
params .put("content", "您有一封新的邮件,标题为《"+content.getTitle()+"》。请及时查收。"); params .put("content", "您有一封新的邮件,标题为《"+content.getTitle()+"》。请及时查收。");
params.put("userIdList", userVoList.stream().map(e->e.getUserId()).collect(Collectors.toList())); params.put("userIdList", userVoList.stream().map(e->e.getUserId()).collect(Collectors.toList()));
params .put("businessId", content.getId()); params .put("businessId", content.getId());
params.put("jumpUrl", systemInfo.getHomeUrl() + "/#/detail?contentId=" + content.getId()); params.put("jumpUrl", systemInfo.getHomeUrl() + "/#/detail?folderId="+folderId+"&contentId=" + content.getId());
log.debug("---发送内部消息打印内容: {}", JSONUtil.toJsonStr(params)); log.debug("---发送内部消息打印内容: {}", JSONUtil.toJsonStr(params));
messageFeignClient.sendApi(params); messageFeignClient.sendApi(params);
messageFeignClient.addToDoApi(params); messageFeignClient.addToDoApi(params);
} }
//撤回消息和代办
@Async @Async
public void revokeMsgByBusinessId(Long businessId) { public void revokeMsgByBusinessId(Long businessId) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
...@@ -63,16 +65,32 @@ public class MsgUtil { ...@@ -63,16 +65,32 @@ public class MsgUtil {
} }
//撤回消息和代办
@Async @Async
public void revokeMsgByBusinessIdAndReceiverId(Long businessId, Long receiverId) { public void revokeMsgByBusinessIdAndReceiverId(Long businessId, Long receiverId) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params .put("systemTag", EmailConstant.SYSTEM_TAG); params .put("systemTag", EmailConstant.SYSTEM_TAG);
params .put("businessId", businessId); params .put("businessId", businessId);
params .put("receiverId", receiverId); params .put("receiverId", receiverId);
params .put("todoUserId", receiverId);
log.debug("---撤回内部消息打印内容: {}", JSONUtil.toJsonStr(params)); log.debug("---撤回内部消息打印内容: {}", JSONUtil.toJsonStr(params));
messageFeignClient.revokeWebBySysInfo(params); messageFeignClient.revokeWebBySysInfo(params);
messageFeignClient.revokeTodoBySysInfo(params); messageFeignClient.revokeTodoBySysInfo(params);
} }
//已读消息和代办
@Async
public void doneMsgByBusinessIdAndReceiverId(Long businessId, Long receiverId) {
Map<String, Object> params = new HashMap<>();
params .put("systemTag", EmailConstant.SYSTEM_TAG);
params .put("businessId", businessId);
params .put("todoUserId", receiverId);
params .put("receiverId", receiverId);
log.debug("---已读消息代办: {}", JSONUtil.toJsonStr(params));
messageFeignClient.batchSetReadByUser(params);
messageFeignClient.doneByBusinessIdAndSystemTagAndTodoUserId(params);
}
} }
...@@ -17,4 +17,7 @@ public class EmailDetailVo { ...@@ -17,4 +17,7 @@ public class EmailDetailVo {
@ApiModelProperty("文件夹Id") @ApiModelProperty("文件夹Id")
private Long folderId; private Long folderId;
@ApiModelProperty("是否个人邮件")
private Integer isPerson;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment