Commit 558de846 by chentianzhong

7777777

parent 4716e1c0
......@@ -4,12 +4,14 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.zq.email", "com.zq.common.config"})
@MapperScan("com.zq.email.mapper")
@EnableTransactionManagement
@EnableAsync
public class EmailApplication {
public static void main(String[] args) {
......
package com.zq.email.config;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
/**
* 解决异步丢失请求信息
*
* @author wilmiam
* @since 2022/12/10 16:23
*/
public class MyThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
public MyThreadPoolTaskExecutor() {
super();
}
@Override
public void execute(Runnable task) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
super.execute(() -> {
RequestContextHolder.setRequestAttributes(requestAttributes);
task.run();
});
}
@Override
public <T> Future<T> submit(Callable<T> task) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
return super.submit(() -> {
RequestContextHolder.setRequestAttributes(requestAttributes);
return task.call();
});
}
@Override
public Future<?> submit(Runnable task) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
return super.submit(() -> {
RequestContextHolder.setRequestAttributes(requestAttributes);
task.run();
});
}
}
......@@ -101,12 +101,12 @@ public class EmailController {
public ResultVo detail(@RequestBody EmailDetailVo vo) {
OnlineUserDto adminContext = TokenUtils.getAdminContext();
AssertUtils.notNull(adminContext, "登录已失效,请重新登录后再次尝试!");
AssertUtils.notNull(vo.getPersonId(), "缺少参数:personId");
EmailPerson emailPerson = emailPersonService.getById(vo.getPersonId());
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
EmailContent content = emailContentService.getById(vo.getContentId());
AssertUtils.notNull(content, "获取邮件内容失败");
EmailPerson emailPerson = emailPersonService.getByIdAndSendTime(vo.getPersonId(), content.getSendTime());
AssertUtils.notNull(emailPerson, "获取邮件对应人员信息失败");
AssertUtils.isTrue(emailPerson.getUserId().equals(adminContext.getUserId()) , "非本人邮件,不允许阅读");
EmailContent content = emailContentService.getById(emailPerson.getEmailContentId());
AssertUtils.notNull(content, "获取邮件内容失败");
emailPerson.setEmailContent(content);
return ResultVo.success(emailPerson);
}
......@@ -208,6 +208,17 @@ public class EmailController {
@ApiOperation("移动邮件到自定义文件夹或回收站")
@PostMapping("detail/move")
public ResultVo edit(@RequestBody EmailDetailVo vo) {
AssertUtils.notNull(vo.getContentId(), "缺少参数:contentId");
AssertUtils.notNull(vo.getPersonId(), "缺少参数:personId");
emailPersonService.moveDetailEmailFolder(vo);
return ResultVo.success();
}
......
......@@ -40,6 +40,9 @@ public class EmailPersonController {
@ApiOperation("移动邮件到自定义文件夹或回收站")
@PostMapping("move")
public ResultVo edit(@RequestBody EmailFolderMoveVo vo) {
AssertUtils.notEmpty(vo.getPersonIdList(), "缺少参数:personIdList");
AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange");
AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId");
emailPersonService.moveEmailFolder(vo);
return ResultVo.success();
}
......@@ -63,6 +66,7 @@ public class EmailPersonController {
public ResultVo readEmail(@RequestBody EmailReadVo vo) {
AssertUtils.notEmpty(vo.getPersonIdList(), "缺少参数:personIdList");
AssertUtils.notNull(vo.getIsRead(), "缺少参数:isSend");
AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange");
log.info("执行前: {}"+ DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
this.emailPersonService.readEmail(vo);
log.info("执行后: {}"+ DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
......@@ -101,7 +105,7 @@ public class EmailPersonController {
}
@ApiOperation("回收站恢复")
@ApiOperation("回收站恢复(列表)")
@PostMapping("resumeEmail")
public ResultVo resumeEmail(@RequestBody List<Long> personIdList) {
this.emailPersonService.resumeEmail(personIdList);
......
......@@ -13,6 +13,7 @@ import org.springframework.core.io.InputStreamResource;
import org.springframework.http.ResponseEntity;
import javax.mail.internet.MimeMessage;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -66,4 +67,8 @@ public interface IEmailPersonService extends IService<EmailPerson> {
ResultVo getUserPolice();
List<CustomerUserVo> recentlyContacts(List<Long> recentlySendEmail);
EmailPerson getByIdAndSendTime(Long personId, LocalDateTime sendTime);
void moveDetailEmailFolder(EmailDetailVo vo);
}
package com.zq.email.vo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
......@@ -18,5 +19,8 @@ public class EmailFolderMoveVo {
private List<Long> personIdList;
@ApiModelProperty("查询范围,默认最近三个月")
private Integer searchRange;
}
......@@ -13,6 +13,9 @@ public class EmailReadVo {
@ApiModelProperty("personId集合")
private List<Long> personIdList;
@ApiModelProperty("查询范围,默认最近三个月")
private Integer searchRange;
@ApiModelProperty("0:未读 1:已读")
private Integer isRead;
......
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