Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
iClear-Connect-Pre-Clearance
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
zelong.shao
2025-01-16 15:37:03 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1f09e38b32b8c591b280a8f080af9948cc01ca6a
1f09e38b
1 parent
15af457d
task|邮件取值调整
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
36 deletions
server/biz-customer/src/main/java/com/fedex/connect/customer/data/query/ConsignmentQuery.java
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/biz/EmailTypeEnum.java
server/task-schedule/src/main/java/com/fedex/connect/task/data/dto/PushZipEmailDto.java
server/task-schedule/src/main/java/com/fedex/connect/task/repository/dao/AttachmentExtMapper.java
server/task-schedule/src/main/java/com/fedex/connect/task/utils/sys/ConFileEmailUtil.java
server/task-schedule/src/main/java/com/fedex/connect/task/utils/sys/SendFailedEmailUtil.java
server/biz-customer/src/main/java/com/fedex/connect/customer/data/query/ConsignmentQuery.java
View file @
1f09e38
...
...
@@ -22,11 +22,21 @@ public class ConsignmentQuery extends PageBase {
if
(
Utils
.
isNotEmpty
(
query
.
getConsignmentCode
()))
{
query
.
setConsignmentCodeList
(
Utils
.
split
(
query
.
getConsignmentCode
(),
"[;\\n]"
));
}
if
(!
CollectionUtils
.
isEmpty
(
query
.
getConsignmentCodeList
()))
{
query
.
setCreateTimeFrom
(
null
);
query
.
setCreateTimeTo
(
null
);
}
if
(
Utils
.
isEmpty
(
query
.
getCreateTimeFrom
())
&&
Utils
.
isEmpty
(
query
.
getCreateTimeTo
()))
{
if
(!
CollectionUtils
.
isEmpty
(
query
.
getConsignmentCodeList
())
&&
Utils
.
isEmpty
(
query
.
getCreateTimeFrom
())
&&
Utils
.
isEmpty
(
query
.
getCreateTimeTo
()))
{
// 获取当前日期,减去180天
LocalDate
localDate
=
LocalDate
.
now
().
minusDays
(
180
);
// 设置 createTimeFrom 为 180 天前的日期(不带时分秒)
String
createTimeFrom
=
localDate
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
query
.
setCreateTimeFrom
(
createTimeFrom
);
// 获取当前日期(不带时分秒)
LocalDate
currentDate
=
LocalDate
.
now
();
// 设置 createTimeTo 为今天的日期(不带时分秒)
String
createTimeTo
=
currentDate
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
query
.
setCreateTimeTo
(
createTimeTo
);
}
else
if
(
Utils
.
isEmpty
(
query
.
getCreateTimeFrom
())
&&
Utils
.
isEmpty
(
query
.
getCreateTimeTo
()))
{
// 获取当前日期,减去3天
LocalDate
localDate
=
LocalDate
.
now
().
minusDays
(
3
);
...
...
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/biz/EmailTypeEnum.java
View file @
1f09e38
...
...
@@ -32,10 +32,10 @@ public enum EmailTypeEnum {
}
// 获取 enMsg 根据 code
public
static
String
get
En
MsgByCode
(
String
code
)
{
public
static
String
getMsgByCode
(
String
code
)
{
for
(
EmailTypeEnum
emailType
:
EmailTypeEnum
.
values
())
{
if
(
emailType
.
code
.
equals
(
code
))
{
return
emailType
.
enM
sg
;
return
emailType
.
m
sg
;
}
}
return
null
;
// 如果找不到对应的 code,返回 null
...
...
server/task-schedule/src/main/java/com/fedex/connect/task/data/dto/PushZipEmailDto.java
View file @
1f09e38
...
...
@@ -15,4 +15,7 @@ public class PushZipEmailDto {
private
String
shipperAccount
;
private
String
originCountry
;
private
String
fileName
;
private
String
userInputShipperAccount
;
private
String
userInputOriginCountry
;
private
Long
ceFlag
;
}
...
...
server/task-schedule/src/main/java/com/fedex/connect/task/repository/dao/AttachmentExtMapper.java
View file @
1f09e38
...
...
@@ -10,18 +10,23 @@ import java.util.List;
public
interface
AttachmentExtMapper
{
@Select
(
"SELECT a.FILE_PATH, "
+
"c.DEST_IATA_CODE, "
+
"c.CONSIGNMENT_CODE, "
+
"c.SHIPPER_CONTACT_NAME, "
+
"c.SHIPPER_EMAIL, "
+
"c.SHIPPER_PHONE, "
+
"c.SHIPPER_ACCOUNT, "
+
"c.ORIGIN_COUNTRY, "
+
"a.FILE_NAME "
+
" c.DEST_IATA_CODE, "
+
" c.CONSIGNMENT_CODE, "
+
" c.SHIPPER_CONTACT_NAME, "
+
" c.SHIPPER_EMAIL, "
+
" c.SHIPPER_PHONE, "
+
" c.SHIPPER_ACCOUNT, "
+
" c.ORIGIN_COUNTRY, "
+
" a.FILE_NAME, "
+
" c.USER_INPUT_SHIPPER_ACCOUNT, "
+
" c.USER_INPUT_ORIGIN_COUNTRY, "
+
" ucm.CE_FLAG "
+
"FROM T_BIZ_ATTACHMENT a "
+
"JOIN T_BIZ_UPLOAD_RECORD ur ON a.UPLOAD_RECORD_ID = ur.ID "
+
"JOIN T_BIZ_CONSIGNMENT c ON ur.CONSIGNMENT_ID = c.ID "
+
"WHERE a.UPLOAD_RECORD_ID = #{bizId,jdbcType=NUMERIC}"
)
"JOIN T_BIZ_USER_CONSIGNMENT_MAPPING ucm ON ucm.CONSIGNMENT_ID = c.ID "
+
"WHERE a.UPLOAD_RECORD_ID = #{bizId,jdbcType=NUMERIC} "
+
" AND ucm.USER_ID = ur.CREATE_USER_ID"
)
List
<
PushZipEmailDto
>
findAttachmentDetailsByBizId
(
@Param
(
"bizId"
)
Long
bizId
);
@Select
(
"SELECT * FROM T_BIZ_ATTACHMENT WHERE UPLOAD_RECORD_ID = #{uploadRecordId,jdbcType=NUMERIC} AND BIZ_ID = #{consignmentId,jdbcType=NUMERIC} AND STATUS = 1"
)
...
...
server/task-schedule/src/main/java/com/fedex/connect/task/utils/sys/ConFileEmailUtil.java
View file @
1f09e38
...
...
@@ -3,6 +3,7 @@ package com.fedex.connect.task.utils.sys;
import
com.fedex.connect.common.dependencies.cache.CacheSystem
;
import
com.fedex.connect.common.dependencies.contants.BaseConstants
;
import
com.fedex.connect.common.dependencies.contants.BaseSeparatorConstants
;
import
com.fedex.connect.common.dependencies.contants.DigitConstants
;
import
com.fedex.connect.common.dependencies.enums.biz.EmailStatusEnum
;
import
com.fedex.connect.common.dependencies.i18n.LocaleMessageUtil
;
import
com.fedex.connect.common.dependencies.template.clearanceEmail.ClearanceEmailTemplate
;
...
...
@@ -85,11 +86,17 @@ public class ConFileEmailUtil {
if
(
file
.
exists
())
{
filesList
.
add
(
file
);
}
portFileDto
.
setShipperContactName
(
pushZipEmailDto
.
getShipperContactName
());
portFileDto
.
setShipperEmail
(
pushZipEmailDto
.
getShipperEmail
());
portFileDto
.
setShipperPhone
(
pushZipEmailDto
.
getShipperPhone
());
portFileDto
.
setShipperAccount
(
pushZipEmailDto
.
getShipperAccount
());
portFileDto
.
setOriginCountry
(
pushZipEmailDto
.
getOriginCountry
());
if
(
pushZipEmailDto
.
getCeFlag
().
equals
(
DigitConstants
.
DIGIT_ONE_LONG
)){
portFileDto
.
setShipperContactName
(
pushZipEmailDto
.
getShipperContactName
());
portFileDto
.
setShipperEmail
(
pushZipEmailDto
.
getShipperEmail
());
portFileDto
.
setShipperPhone
(
pushZipEmailDto
.
getShipperPhone
());
portFileDto
.
setShipperAccount
(
pushZipEmailDto
.
getShipperAccount
());
portFileDto
.
setOriginCountry
(
pushZipEmailDto
.
getOriginCountry
());
}
else
{
portFileDto
.
setShipperAccount
(
pushZipEmailDto
.
getUserInputShipperAccount
());
portFileDto
.
setOriginCountry
(
pushZipEmailDto
.
getUserInputOriginCountry
());
portFileDto
.
setShipperEmail
(
pushZipEmailDto
.
getShipperEmail
());
}
}
String
date
=
DateUtil
.
yyyyMMddHHmmss
(
new
Date
());
String
fileName
=
date
+
BaseSeparatorConstants
.
SEPARATOR_UNDERLINE
+
consignmentCode
+
BaseConstants
.
FILE_SUFFIX_KEYS
.
ZIP
;
...
...
@@ -180,6 +187,7 @@ public class ConFileEmailUtil {
//设置邮件标题
mailConfigDto
.
setSubject
(
"推送预清关文件"
);
//设置邮件内容
portFileDto
.
setShipperEmail
(
emailAddress
);
String
body
=
this
.
generateContent
(
"zelong.shao@erry.com"
,
propertiesConfig
.
getEmailAccount
(),
portFileDto
,
conPushEmail
.
getBizCode
());
mailConfigDto
.
setContent
(
body
);
//放入文件列表
...
...
@@ -283,7 +291,9 @@ public class ConFileEmailUtil {
}
else
{
conPushEmail
.
setStatusCode
(
failed
.
getCode
());
conPushEmail
.
setStatusName
(
failed
.
getDescription
());
conPushEmail
.
setSendNum
(
conPushEmail
.
getSendNum
()+
1
);
if
(
StringUtils
.
isNotEmpty
(
mailMessageReqDto
.
getTo
())){
conPushEmail
.
setSendNum
(
conPushEmail
.
getSendNum
()+
1
);
}
}
}
}
...
...
@@ -348,7 +358,7 @@ public class ConFileEmailUtil {
emailHistoryRepository
.
saveOrUpdate
(
emailHistory
);
}
else
{
//失败则根据是否第三次,如果是第三次失败则删除,保存到历史表
if
(
conPushEmail
.
getSendNum
()
==
3
){
if
(
conPushEmail
.
getSendNum
()
==
3
||
StringUtils
.
isEmpty
(
conPushEmail
.
getToAddress
())
){
emailRepository
.
deleteById
(
conPushEmail
.
getId
());
emailHistory
.
setId
(
null
);
emailHistoryRepository
.
saveOrUpdate
(
emailHistory
);
...
...
@@ -356,7 +366,6 @@ public class ConFileEmailUtil {
emailRepository
.
saveOrUpdate
(
conPushEmail
);
}
}
}
}
...
...
server/task-schedule/src/main/java/com/fedex/connect/task/utils/sys/SendFailedEmailUtil.java
View file @
1f09e38
...
...
@@ -82,11 +82,12 @@ public class SendFailedEmailUtil {
.
filter
(
pushOb
->
PushObStatusEnum
.
PUSH_FAILED
.
getCode
().
equals
(
pushOb
.
getStatusCode
()))
.
count
();
//
获取前 10 条
CONSIGNMENT_CODE
//
2. 获取 STATUS_CODE 为 PUSH_FAILED 且 MODIFY_TIME 最晚的指定数量的
CONSIGNMENT_CODE
List
<
String
>
latestConsignmentCodes
=
obs
.
stream
()
.
sorted
(
Comparator
.
comparing
(
PushOb:
:
getModifyTime
).
reversed
())
// 按 MODIFY_TIME 降序排序
.
limit
(
Long
.
parseLong
(
size
))
// 取前 10 条
.
map
(
PushOb:
:
getConsignmentCode
)
// 获取 CONSIGNMENT_CODE
.
filter
(
pushOb
->
PushObStatusEnum
.
PUSH_FAILED
.
getCode
().
equals
(
pushOb
.
getStatusCode
()))
// 筛选 STATUS_CODE 为 PUSH_FAILED
.
sorted
(
Comparator
.
comparing
(
PushOb:
:
getModifyTime
).
reversed
())
// 按 MODIFY_TIME 降序排序
.
limit
(
Long
.
parseLong
(
size
))
// 获取指定数量
.
map
(
PushOb:
:
getConsignmentCode
)
// 提取 CONSIGNMENT_CODE
.
collect
(
Collectors
.
toList
());
return
new
SendFailedEmailDto
(
"ob"
,
statusCodeCount
,
latestConsignmentCodes
,
totalCount
);
}
...
...
@@ -116,17 +117,19 @@ public class SendFailedEmailUtil {
.
filter
(
email
->
EmailStatusEnum
.
FAILED
.
getCode
().
equals
(
email
.
getStatusCode
()))
.
count
();
// 2. 获取 MODIFY_TIME 最晚的 10 个 BIZ_CODE
List
<
String
>
latestBizCodes
=
emailList
.
stream
()
.
sorted
(
Comparator
.
comparing
(
EmailHistory:
:
getModifyTime
).
reversed
())
.
limit
(
Long
.
parseLong
(
size
))
.
map
(
EmailHistory:
:
getBizCode
)
// 2. 获取 STATUS_CODE 为 FAILED 且 MODIFY_TIME 最晚的 10 个 BIZ_CODE
List
<
String
>
latestFailedBizCodes
=
emailList
.
stream
()
.
filter
(
email
->
EmailStatusEnum
.
FAILED
.
getCode
().
equals
(
email
.
getStatusCode
()))
// 筛选 STATUS_CODE 为 FAILED
.
sorted
(
Comparator
.
comparing
(
EmailHistory:
:
getModifyTime
).
reversed
())
// 按 MODIFY_TIME 降序排序
.
limit
(
Long
.
parseLong
(
size
))
// 获取最晚的指定数量
.
map
(
EmailHistory:
:
getBizCode
)
// 提取 BIZ_CODE
.
collect
(
Collectors
.
toList
());
// 3. 统计 TYPE_CODE 的总数量
long
totalCount
=
emailList
.
size
();
return
new
SendFailedEmailDto
(
typeCode
,
statusCodeCount
,
latestBizCodes
,
totalCount
);
return
new
SendFailedEmailDto
(
typeCode
,
statusCodeCount
,
latest
Failed
BizCodes
,
totalCount
);
})
.
collect
(
Collectors
.
toList
());
return
results
;
...
...
@@ -173,7 +176,7 @@ public class SendFailedEmailUtil {
.
map
(
String:
:
trim
)
// 去除每个元素的前后空格
.
collect
(
Collectors
.
joining
(
","
));
tableRows
.
append
(
"<tr>"
+
"<td style=\"border: 1px solid #dddddd;text-align: left;padding: 8px;\">"
+
EmailTypeEnum
.
get
En
MsgByCode
(
failedEmailDto
.
getTypeCode
())+
"</td>"
+
"<td style=\"border: 1px solid #dddddd;text-align: left;padding: 8px;\">"
+
EmailTypeEnum
.
getMsgByCode
(
failedEmailDto
.
getTypeCode
())+
"</td>"
+
"<td style=\"border: 1px solid #dddddd;text-align: left;padding: 8px;\">"
+
bizCodesStr
+
"</td>"
+
"<td style=\"border: 1px solid #dddddd;text-align: left;padding: 8px;\">"
+
failedEmailDto
.
getTotalCount
()
+
"</td>"
+
"<td style=\"border: 1px solid #dddddd;text-align: left;padding: 8px;\">"
+
failedEmailDto
.
getStatusCodeCount
()
+
"</td>"
+
...
...
@@ -230,7 +233,7 @@ public class SendFailedEmailUtil {
//ce接收人
mailConfigDto
.
setTo
(
"zelong.shao@erry.com,jialiang.song@erry.com"
);
mailConfigDto
.
setCcAccount
(
""
);
mailConfigDto
.
setReceiveAccount
(
"zelong.shao@erry.com"
);
mailConfigDto
.
setReceiveAccount
(
"zelong.shao@erry.com
,jialiang.song@erry.com
"
);
//发件人
mailConfigDto
.
setFrom
(
propertiesConfig
.
getEmailAccount
());
//发件人密码
...
...
Please
register
or
login
to post a comment