zelong.shao

customer|提交初始化发送文件邮件

......@@ -5,4 +5,6 @@ import com.fedex.connect.common.model.sys.User;
public interface IEmailService {
void saveNotificationEmail(Consignment consignment, User user) throws Exception;
void savePushConsignmentFileEmail(Consignment consignment, User user) throws Exception;
}
......
......@@ -39,4 +39,20 @@ public class EmailServiceImpl extends BaseService implements IEmailService {
*/
emailRepository.save(email);
}
@Override
public void savePushConsignmentFileEmail(Consignment consignment, User user) throws Exception {
if (!StringUtils.isEmpty(consignment.getUserUuid()) && consignment.getUserUuid().equals(user.getUserUuid())){
return;
}
/**
* 初始化Email对象
*/
Email email = new Email();
emailUtil.initPushConsignmentFileEmail(email,consignment);
/**
* 保存入库
*/
emailRepository.save(email);
}
}
......
......@@ -290,7 +290,10 @@ public class ConsignmentUtil {
* 初始化插入提醒发件人邮件日志
*/
emailService.saveNotificationEmail(consignment,user);
/**
* 初始化插入预清关文件邮件推送日志
*/
emailService.savePushConsignmentFileEmail(consignment,user);
/**
* 推送进口文件主表
*/
......
......@@ -26,11 +26,26 @@ public class EmailUtil {
.orElse(consignment.getShipperEmail());
email.setToAddress(emailAddress);
email.setSubject("");
email.setSubject("");
email.setTypeName(EmailTypeEnum.NOTIFICATION_SENDER.getMsg());
email.setTypeCode(EmailTypeEnum.NOTIFICATION_SENDER.getCode());
email.setStatusName(EmailStatusEnum.PENDING.getMsg());
email.setStatusCode(EmailStatusEnum.PENDING.getCode());
AssignmentFieldUtils.assignmentTableBaseField(email);
}
public void initPushConsignmentFileEmail(Email email, Consignment consignment) throws Exception{
email.setBizId(consignment.getId());
email.setBizCode(consignment.getConsignmentCode());
String emailAddress = Optional.ofNullable(consignment.getUserUuid())
.map(iUserRepository::findUserByUuid)
.map(user -> StringUtils.defaultIfEmpty(user.getEmail(), consignment.getShipperEmail()))
.orElse(consignment.getShipperEmail());
email.setToAddress(emailAddress);
email.setSubject("");
email.setTypeName(EmailTypeEnum.PUSH_CON_FILE.getMsg());
email.setTypeCode(EmailTypeEnum.PUSH_CON_FILE.getCode());
email.setStatusName(EmailStatusEnum.PENDING.getMsg());
email.setStatusCode(EmailStatusEnum.PENDING.getCode());
AssignmentFieldUtils.assignmentTableBaseField(email);
}
}
......