zelong.shao

customer|邮件bug修复

......@@ -4,6 +4,7 @@ import com.fedex.connect.common.dao.biz.*;
import com.fedex.connect.customer.repository.dao.AttachmentExtMapper;
import com.fedex.connect.customer.repository.dao.ConsignmentExtMapper;
import com.fedex.connect.customer.repository.dao.UploadRecordExtMapper;
import com.fedex.connect.customer.repository.dao.UserExtMapper;
import org.springframework.beans.factory.annotation.Autowired;
public class BaseDao {
......@@ -25,4 +26,6 @@ public class BaseDao {
protected EmailMapper emailMapper;
@Autowired
protected UploadRecordExtMapper uploadRecordExtMapper;
@Autowired
protected UserExtMapper userExtMapper;
}
\ No newline at end of file
......
......@@ -34,7 +34,7 @@
c.USER_INPUT_SHIPPER_ACCOUNT,
c.USER_INPUT_ORIGIN_COUNTRY_CODE,
c.USER_INPUT_ORIGIN_COUNTRY,
m.CE_FLAG
MAX(m.CE_FLAG) AS CE_FLAG
</sql>
<select id="findConsignments" resultType="com.fedex.connect.customer.data.dto.FindConsignmentsDto">
......@@ -66,6 +66,12 @@
#{item}
</foreach>
</if>
GROUP BY
c.ID, c.CONSIGNMENT_CODE, c.RECIPIENT_CONTACT_NAME, c.RECIPIENT_COMPANY,
c.ORIGIN_COUNTRY, c.DOC_NONDOC_FLAG, c.CREATE_USER_NAME, c.CREATE_TIME,
c.MODIFY_TIME, c.STATUS_NAME, c.USER_UUID, c.SHIPPER_ACCOUNT,
c.USER_INPUT_SHIPPER_ACCOUNT, c.USER_INPUT_ORIGIN_COUNTRY_CODE,
c.USER_INPUT_ORIGIN_COUNTRY
ORDER BY c.CREATE_TIME DESC
<include refid="OracleDialectSuffix" />
</select>
......
......@@ -46,7 +46,7 @@ public class ConsignmentRepositoryImpl extends BaseDao implements IConsignmentRe
if (SystemDefaultUserConstants.SYSTEM_USER_KEYS.USER_NAME.equals(consignment.getCreateUserName())){
consignment.setCreateUserName(user.getUserName());
}
if (!StringUtils.equals(user.getUserUuid(), consignment.getUserUuid()) || (consignment.getCeFlag() != null && consignment.getCeFlag() == 0)) {
if (!StringUtils.equals(user.getUserUuid(), consignment.getUserUuid()) && (consignment.getCeFlag() != null && consignment.getCeFlag() == 0)) {
consignment.setRecipientContactName(null);
consignment.setRecipientCompany(null);
consignment.setDocNondocFlag(null);
......
......@@ -9,6 +9,6 @@ import org.springframework.stereotype.Repository;
public class UserRepositoryImpl extends BaseDao implements IUserRepository {
@Override
public User findUserByUuid(String uuid) {
return null;
return userExtMapper.findUserByUuid(uuid);
}
}
......
......@@ -27,7 +27,7 @@ public class EmailServiceImpl extends BaseService implements IEmailService {
*/
@Override
public void saveNotificationEmail(Consignment consignment, User user) throws Exception {
if (!StringUtils.isEmpty(consignment.getUserUuid()) && consignment.getUserUuid().equals(user.getUserUuid())){
if (StringUtils.isEmpty(consignment.getUserUuid()) || consignment.getUserUuid().equals(user.getUserUuid())) {
return;
}
/**
......
......@@ -36,7 +36,7 @@ public class ConsignmentQueryUtil {
Consignment resultConsignment = null;
if(Objects.nonNull(consignment)){
//uuid相同,则将运单所有信息返回给到前端
if(Objects.equals(userConsignmentInfoQuery.getUserUuid(),consignment.getUserUuid()) || (byUserIdAndConsignmentCode.getCeFlag() != null &&byUserIdAndConsignmentCode.getCeFlag() == 1L)){
if(Objects.equals(userConsignmentInfoQuery.getUserUuid(),consignment.getUserUuid()) || (byUserIdAndConsignmentCode.getCeFlag() == null || byUserIdAndConsignmentCode.getCeFlag() == 1L)){
//1:如果运单UUID与登录账号UUID相同或者用户shipperAccount与运单shipperAccount相同,则显示运单、收发件人信息,以及501信息
resultConsignment = consignment;
}else {
......
......@@ -2,6 +2,7 @@ package com.fedex.connect.customer.util.service.biz;
import com.fedex.connect.common.dependencies.enums.biz.EmailStatusEnum;
import com.fedex.connect.common.dependencies.enums.biz.EmailTypeEnum;
import com.fedex.connect.common.dependencies.template.clearanceEmail.DuplicateEmailTemplate;
import com.fedex.connect.common.dependencies.util.AssignmentFieldUtils;
import com.fedex.connect.common.model.biz.Consignment;
import com.fedex.connect.common.model.biz.Email;
......@@ -17,6 +18,8 @@ import java.util.Optional;
public class EmailUtil {
@Autowired
private IUserRepository iUserRepository;
@Autowired
private DuplicateEmailTemplate duplicateEmailTemplate;
public void initNotificationEmail(Email email, Consignment consignment) throws Exception{
email.setBizId(consignment.getId());
......@@ -26,7 +29,7 @@ public class EmailUtil {
.map(user -> StringUtils.defaultIfEmpty(user.getEmail(), consignment.getShipperEmail()))
.orElse(consignment.getShipperEmail());
email.setToAddress(emailAddress);
email.setSubject("");
email.setSubject(duplicateEmailTemplate.getTitle(email.getBizCode()));
email.setTypeName(EmailTypeEnum.NOTIFICATION_SENDER.getMsg());
email.setTypeCode(EmailTypeEnum.NOTIFICATION_SENDER.getCode());
email.setStatusName(EmailStatusEnum.PENDING.getMsg());
......@@ -37,11 +40,6 @@ public class EmailUtil {
public void initPushConsignmentFileEmail(Email email, Consignment consignment,UploadRecord uploadRecord) throws Exception{
email.setBizId(uploadRecord.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());
......
......@@ -61,7 +61,7 @@ public class EmailHistory implements Serializable {
/**
* 发送次数(0-3次)
*/
private Long sendNum;
private int sendNum;
/**
* 邮件发送时间
......@@ -190,11 +190,11 @@ public class EmailHistory implements Serializable {
this.statusName = statusName == null ? null : statusName.trim();
}
public Long getSendNum() {
public int getSendNum() {
return sendNum;
}
public void setSendNum(Long sendNum) {
public void setSendNum(int sendNum) {
this.sendNum = sendNum;
}
......
......@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Select;
@Mapper
public interface PortclearEmailMappingExtMapper {
@Select("SELECT EMAIL FROM T_BI_PORTCLEAR_EMAIL_MAPPING WHERE PORT_CODE = #{portCode AND STATUS = 1")
@Select("SELECT EMAIL FROM T_BI_PORTCLEAR_EMAIL_MAPPING WHERE PORT_CODE = #{portCode} AND STATUS = 1")
String findEmailByPortCode(@Param("portCode") String portCode);
}
......
......@@ -10,6 +10,7 @@ import com.fedex.connect.task.service.base.BaseService;
import com.fedex.connect.task.service.biz.IDuplicateConsignmentEmailService;
import com.fedex.connect.task.utils.sys.DuplicateEmailUtil;
import com.fedex.connect.task.utils.sys.EmailUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -51,7 +52,10 @@ public class DuplicateConsignmentEmailServiceImpl extends BaseService implements
/**
* 发送邮件
*/
boolean result = emailUtil.sendMail(mailConfigDto);
boolean result = false;
if (StringUtils.isNotEmpty(mailConfigDto.getTo())){
result = emailUtil.sendMail(mailConfigDto);
}
/**
* 更新邮件实体
*/
......
......@@ -149,7 +149,10 @@ public class ConFileEmailUtil {
/**
* 发送邮件
*/
boolean result = emailUtil.sendMail(mailMessageReqDto);
boolean result = false;
if (StringUtils.isNotEmpty(emailAddress)){
result = emailUtil.sendMail(mailMessageReqDto);
}
return result;
}
......@@ -273,13 +276,14 @@ public class ConFileEmailUtil {
conPushEmail.setStatusCode(success.getCode());
conPushEmail.setStatusName(success.getDescription());
}else {
if (conPushEmail.getSendNum()<3){
if (conPushEmail.getSendNum()<2 && StringUtils.isNotEmpty(mailMessageReqDto.getTo())){
conPushEmail.setStatusCode(pending.getCode());
conPushEmail.setStatusName(pending.getDescription());
conPushEmail.setSendNum(conPushEmail.getSendNum()+1);
}else {
conPushEmail.setStatusCode(failed.getCode());
conPushEmail.setStatusName(failed.getDescription());
conPushEmail.setSendNum(conPushEmail.getSendNum()+1);
}
}
}
......
......@@ -10,7 +10,7 @@ import com.fedex.connect.task.config.PropertiesConfig;
import com.fedex.connect.task.data.dto.MailConfigDto;
import com.fedex.connect.task.repository.repo.biz.IEmailRepository;
import com.fedex.connect.task.repository.repo.log.IEmailHistoryRepository;
import com.fedex.connect.task.repository.repo.sys.IParamConfigRepository;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -33,8 +33,6 @@ public class DuplicateEmailUtil {
@Autowired
private DuplicateEmailTemplate duplicateEmailTemplate;
@Autowired
private IParamConfigRepository paramConfigRepository;
/**
* @Author Szl
......@@ -125,7 +123,7 @@ public class DuplicateEmailUtil {
email.setStatusCode(success.getCode());
email.setStatusName(success.getDescription());
}else {
if (email.getSendNum()<3){
if (email.getSendNum()<3 && StringUtils.isNotEmpty(mailConfigDto.getTo())){
email.setStatusCode(pending.getCode());
email.setStatusName(pending.getDescription());
email.setSendNum(email.getSendNum()+1);
......@@ -145,7 +143,7 @@ public class DuplicateEmailUtil {
*/
@Transactional
public void saveEmail(Email email){
if (EmailStatusEnum.PENDING.getCode().equals(email.getTypeCode())){
if (EmailStatusEnum.PENDING.getCode().equals(email.getStatusCode())){
emailRepository.saveOrUpdate(email);
}else {
EmailHistory emailHistory = new EmailHistory();
......
......@@ -265,7 +265,7 @@ public class SendFailedEmailUtil {
email.setStatusCode(EmailStatusEnum.FAILED.getCode());
email.setStatusName(EmailStatusEnum.FAILED.getEnMsg());
}
email.setSendNum(DigitConstants.DIGIT_ONE_LONG);
email.setSendNum(DigitConstants.DIGIT_ONE);
email.setSendTime(new Date());
AssignmentFieldUtils.assignmentTableBaseField(email);
......