tao.mo

Merge remote-tracking branch 'origin/master'

package com.fedex.connect.customer.repository.dao;
import com.fedex.connect.common.model.sys.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserExtMapper {
@Select("SELECT * FROM T_SYS_USER WHERE USER_UUID = #{uuid}")
public User findUserByUuid(@Param("uuid") String uuid);
}
......@@ -327,7 +327,7 @@
FROM
T_BIZ_UPLOAD_RECORD
WHERE
CONSIGNMENT_ID = #{consignmentId}
CONSIGNMENT_ID = #{consignmentId} ORDER BY ID DESC
<include refid="OracleDialectSuffix" />
</select>
</mapper>
\ No newline at end of file
......
package com.fedex.connect.customer.repository.repo;
import com.fedex.connect.common.model.sys.User;
public interface IUserRepository {
User findUserByUuid(String uuid);
}
......@@ -49,15 +49,12 @@ public class ConsignmentRepositoryImpl extends BaseDao implements IConsignmentRe
if (SystemDefaultUserConstants.SYSTEM_USER_KEYS.USER_NAME.equals(consignment.getCreateUserName())){
consignment.setCreateUserName(user.getUserName());
}
if (!user.getUserUuid().equals(consignment.getUserUuid()) && (!StringUtils.isEmpty(user.getAccountNo()) && !user.getAccountNo().equals(consignment.getShipperAccount()))
&& (!StringUtils.isEmpty(consignment.getUserInputShipperAccount()) && !consignment.getUserInputShipperAccount().equals(consignment.getShipperAccount()))){
if (!StringUtils.equals(user.getUserUuid(), consignment.getUserUuid())
&& !StringUtils.equals(user.getAccountNo(), consignment.getShipperAccount())
&& !StringUtils.equals(consignment.getUserInputShipperAccount(), consignment.getShipperAccount())) {
consignment.setRecipientContactName(null);
consignment.setRecipientCompany(null);
consignment.setDocNondocFlag(null);
consignment.setCreateUserName(null);
consignment.setCreateTime(null);
consignment.setModifyTime(null);
consignment.setStatusName(null);
consignment.setUserUuid(null);
consignment.setShipperAccount(null);
consignment.setOriginCountry(consignment.getUserInputOriginCountry());
......
package com.fedex.connect.customer.repository.repo.impl;
import com.fedex.connect.common.model.sys.User;
import com.fedex.connect.customer.repository.base.BaseDao;
import com.fedex.connect.customer.repository.repo.IUserRepository;
import org.springframework.stereotype.Repository;
@Repository
public class UserRepositoryImpl extends BaseDao implements IUserRepository {
@Override
public User findUserByUuid(String uuid) {
return null;
}
}
......@@ -84,7 +84,7 @@ public class ConsignmentServiceImpl extends BaseService implements IConsignmentS
*/
if (StringUtils.isEmpty(bo.getShipperAccount())){
ConsignmentAddDto consignmentAddDto = new ConsignmentAddDto();
consignmentAddDto.setIsCreatorFlag(DigitConstants.DIGIT_TWO);
consignmentAddDto.setIsCreatorFlag(DigitConstants.DIGIT_ZERO);
return responseUtils.success(consignmentAddDto);
}
return consignmentUtil.consignmentCheckWithNotCe(consignment,bo);
......
......@@ -5,14 +5,26 @@ import com.fedex.connect.common.dependencies.enums.biz.EmailTypeEnum;
import com.fedex.connect.common.dependencies.util.AssignmentFieldUtils;
import com.fedex.connect.common.model.biz.Consignment;
import com.fedex.connect.common.model.biz.Email;
import com.fedex.connect.customer.repository.repo.IUserRepository;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Optional;
@Component
public class EmailUtil {
@Autowired
private IUserRepository iUserRepository;
public void initNotificationEmail(Email email, Consignment consignment) throws Exception{
email.setBizId(consignment.getId());
email.setBizCode(consignment.getConsignmentCode());
email.setToAddress(consignment.getShipperEmail());
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.setSubject("");
email.setTypeName(EmailTypeEnum.NOTIFICATION_SENDER.getMsg());
......
......@@ -12,6 +12,7 @@ public enum EmailTypeEnum {
PUSH_CON_FILE("emailType_01","Push Pre-Customs Clearance Files","推送预清关文件"),
NOTIFICATION_SENDER("emailType_02","Remind Sender","提醒发件人"),
SEND_FAILED_EMAIL("emailType_03", "Error Email Alert","错误邮件预警"),
SEND_OB("ob", "ob","推送ob"),
;
......
......@@ -38,20 +38,20 @@ public class EmailJob {
* @param
* @return void
*/
//@ProcessingInterval(paramCode = ParamConfigConstants.TASK_PARAM_KEYS.PUSH_CON_EMAIL_INTERVAL)
//@Scheduled(cron = "${export.task.allocation.sendOb}")
//public void pushConsignmentFileTask() {
// pushConsignmentFileService.pushConsignmentFileTask();
//}
//
///**
// * 发送失败邮件提醒
// */
//@ProcessingInterval(paramCode = ParamConfigConstants.TASK_PARAM_KEYS.SEND_FAIL_ALERT_INTERVAL)
//@Scheduled(cron = "${export.task.allocation.sendOb}")
//public void sendingFailedEmailAlert() {
// sendWarningEmail.sendFailedEmail();
//}
@ProcessingInterval(paramCode = ParamConfigConstants.TASK_PARAM_KEYS.PUSH_CON_EMAIL_INTERVAL)
@Scheduled(cron = "${export.task.allocation.sendOb}")
public void pushConsignmentFileTask() {
pushConsignmentFileService.pushConsignmentFileTask();
}
/**
* 发送失败邮件提醒
*/
@ProcessingInterval(paramCode = ParamConfigConstants.TASK_PARAM_KEYS.SEND_FAIL_ALERT_INTERVAL)
@Scheduled(cron = "${export.task.allocation.sendOb}")
public void sendingFailedEmailAlert() {
sendWarningEmail.sendFailedEmail();
}
}
......
......@@ -59,6 +59,14 @@ public class SendFailedEmailAlertServiceImpl extends BaseService implements ISen
*/
List<SendFailedEmailDto> sendFailedEmailDto = sendFailedEmailUtil.createSendFailedEmailDto(emails,obs,paramConfigMap);
/**
* 无错误邮件不发送邮件
*/
boolean dataFlag = sendFailedEmailDto.stream()
.anyMatch(failedEmailDto -> failedEmailDto.getStatusCodeCount() != 0);
if (!dataFlag) {
return;
}
/**
* 构建邮件内容
*/
String emailBody = sendFailedEmailUtil.createEmailBody(sendFailedEmailDto,paramConfigMap);
......
......@@ -149,6 +149,7 @@ public class DuplicateEmailUtil {
}else {
EmailHistory emailHistory = new EmailHistory();
BeanUtils.copyProperties(email, emailHistory);
emailHistory.setId(null);
emailRepository.deleteById(email.getId());
emailHistoryRepository.saveOrUpdate(emailHistory);
}
......
......@@ -228,7 +228,7 @@ public class SendFailedEmailUtil {
|| propertiesConfig.getEnv().equalsIgnoreCase("test")
) {
//ce接收人
mailConfigDto.setTo("zelong.shao@erry.com");
mailConfigDto.setTo("zelong.shao@erry.com,jialiang.song@erry.com");
mailConfigDto.setCcAccount("");
mailConfigDto.setReceiveAccount("zelong.shao@erry.com");
//发件人
......