Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
iClear-api
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
tao.mo
2022-04-21 17:12:50 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f41c7b9d1a09d6cdbb87e58e9fd73ee83d6a2e7a
f41c7b9d
1 parent
3cfdb439
BASF修改成fedex
mt 2022年4月21日17:12:32
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
240 additions
and
276 deletions
doc/数据推送接口(D类)文档v4.5.docx → doc/FedEx在线申报系统API - HSCode.docx
doc/FedEx申报系统数据落地接口V4.5.docx → doc/FedEx在线申报系统API - 数据推送接口(D类).docx
doc/Export发送HSCODE接口文档v2.0.docx → doc/FedEx在线申报系统API - 数据落地接口(C类).docx
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
src/main/java/com/erry/iclear/dateInterface/api/BasfDataInterface.java → src/main/java/com/erry/iclear/dateInterface/api/FedexDataInterface.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfConsignment.java → src/main/java/com/erry/iclear/dateInterface/api/request/FedexConsignment.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfcDetail.java → src/main/java/com/erry/iclear/dateInterface/api/request/FedexDetail.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfMawb.java → src/main/java/com/erry/iclear/dateInterface/api/request/FedexMawb.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfMawbDetail.java → src/main/java/com/erry/iclear/dateInterface/api/request/FedexMawbDetail.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfcReceipt.java → src/main/java/com/erry/iclear/dateInterface/api/request/FedexReceipt.java
src/main/java/com/erry/iclear/dateInterface/api/request/Basfc.java → src/main/java/com/erry/iclear/dateInterface/api/request/Fedexc.java
src/main/java/com/erry/iclear/dateInterface/api/response/BasfResultChmRS.java → src/main/java/com/erry/iclear/dateInterface/api/response/FedexResultChmRS.java
src/main/java/com/erry/iclear/dateInterface/api/response/BasfResultRS.java → src/main/java/com/erry/iclear/dateInterface/api/response/FedexResultRS.java
src/main/java/com/erry/iclear/dateInterface/api/response/ResultHsCode.java
src/main/java/com/erry/iclear/dateInterface/config/InterceptorConfig.java
src/main/java/com/erry/iclear/dateInterface/repository/BasfMawbRepository.java → src/main/java/com/erry/iclear/dateInterface/repository/FedexMawbRepository.java
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentDetailService.java
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentService.java
src/main/java/com/erry/iclear/dateInterface/service/DeclearTaskService.java
src/main/java/com/erry/iclear/dateInterface/service/BasfConsignmentService.java → src/main/java/com/erry/iclear/dateInterface/service/FedexConsignmentService.java
src/main/java/com/erry/iclear/dateInterface/service/BasfService.java → src/main/java/com/erry/iclear/dateInterface/service/FedexService.java
src/main/java/com/erry/iclear/dateInterface/service/IClearApiHsCodeLogService.java
src/main/java/com/erry/iclear/dateInterface/service/IClearApiLogService.java
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
src/test/java/com/erry/iclear/dateInterface/ApiTest.java
src/test/java/com/erry/iclear/dateInterface/ChmConsignmentServiceTest.java
src/test/java/com/erry/iclear/dateInterface/SelectDecListBasf.java → src/test/java/com/erry/iclear/dateInterface/SelectChmListFedex.java
src/test/java/com/erry/iclear/dateInterface/SelectChmListBasf.java → src/test/java/com/erry/iclear/dateInterface/SelectDecListFedex.java
src/test/java/com/erry/iclear/dateInterface/SendMawbBasf.java → src/test/java/com/erry/iclear/dateInterface/SendMawbFedex.java
doc/
数据推送接口(D类)文档v4.5
.docx
→
doc/
FedEx在线申报系统API - HSCode
.docx
View file @
f41c7b9
No preview for this file type
doc/FedEx
申报系统数据落地接口V4.5
.docx
→
doc/FedEx
在线申报系统API - 数据推送接口(D类)
.docx
View file @
f41c7b9
No preview for this file type
doc/
Export发送HSCODE接口文档v2.0
.docx
→
doc/
FedEx在线申报系统API - 数据落地接口(C类)
.docx
View file @
f41c7b9
No preview for this file type
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
api
;
import
com.erry.iclear.dateInterface.api.request.Basfc
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.entity.IClearApiLog
;
import
com.erry.iclear.dateInterface.repository.MawbAdd
;
import
com.erry.iclear.dateInterface.service.*
;
import
com.erry.iclear.dateInterface.util.DateUtils
;
import
com.erry.iclear.dateInterface.util.SHA256Util
;
import
com.google.gson.Gson
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StopWatch
;
import
org.springframework.validation.annotation.Validated
;
...
...
src/main/java/com/erry/iclear/dateInterface/api/
Basf
DataInterface.java
→
src/main/java/com/erry/iclear/dateInterface/api/
Fedex
DataInterface.java
View file @
f41c7b9
...
...
@@ -6,8 +6,8 @@ import com.arronlong.httpclientutil.common.HttpConfig;
import
com.arronlong.httpclientutil.common.HttpHeader
;
import
com.arronlong.httpclientutil.exception.HttpProcessException
;
import
com.erry.iclear.dateInterface.api.request.*
;
import
com.erry.iclear.dateInterface.api.response.
Basf
ResultChmRS
;
import
com.erry.iclear.dateInterface.api.response.
Basf
ResultRS
;
import
com.erry.iclear.dateInterface.api.response.
Fedex
ResultChmRS
;
import
com.erry.iclear.dateInterface.api.response.
Fedex
ResultRS
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.entity.ChmConsignment
;
import
com.erry.iclear.dateInterface.entity.DeclaredInfo
;
...
...
@@ -32,13 +32,13 @@ import java.util.List;
import
java.util.Objects
;
@RestController
@RequestMapping
(
"/
basf
"
)
@RequestMapping
(
"/
fedex
"
)
@Slf4j
public
class
Basf
DataInterface
{
public
class
Fedex
DataInterface
{
private
Gson
gson
=
new
Gson
();
@Autowired
private
BasfService
basf
Service
;
private
FedexService
fedex
Service
;
@Autowired
private
ChmConsignmentService
chmConsignmentService
;
...
...
@@ -50,7 +50,7 @@ public class BasfDataInterface {
private
DeclaredInfoService
declaredInfoService
;
@Autowired
private
BasfConsignmentService
basf
ConsignmentService
;
private
FedexConsignmentService
fedex
ConsignmentService
;
@Autowired
private
DeclearTaskService
declearTaskService
;
...
...
@@ -62,52 +62,52 @@ public class BasfDataInterface {
String
iclearCSubmitUrl
;
@ApiOperation
(
value
=
"
BASF推送运单数据"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/basf/sendMawbBasf
"
)
@PostMapping
(
"/sendMawb
Basf
"
)
@ApiOperation
(
value
=
"
Fedex推送运单数据"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/fedex/sendMawbFedex
"
)
@PostMapping
(
"/sendMawb
Fedex
"
)
@ResponseBody
public
ResultRS
sendMawb
Basf
(
HttpServletRequest
request
,
@Validated
@RequestBody
Basfc
basf
c
)
throws
HttpProcessException
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
basfc
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
basf
c
));
public
ResultRS
sendMawb
Fedex
(
HttpServletRequest
request
,
@Validated
@RequestBody
Fedexc
fedex
c
)
throws
HttpProcessException
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
fedexc
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
fedex
c
));
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
""
,
""
);
if
(
Objects
.
equals
(
basf
c
,
null
)){
if
(
Objects
.
equals
(
fedex
c
,
null
)){
result
.
setCode
(
"-7"
);
result
.
setMsg
(
"请求信息不能为空"
);
return
result
;
}
//1、保存请求信息,保存到iClear的 SQLServer
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Basf
"
);
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Fedex
"
);
sw
.
start
(
"save log"
);
String
appId
=(
String
)
request
.
getHeader
(
"Appid"
);
String
appKey
=(
String
)
request
.
getHeader
(
"Appkey"
);
String
timeStamp
=(
String
)
request
.
getHeader
(
"TimeStamp"
);
IClearApiLog
saveIClearApiLogResult
=
iClearApiLogService
.
saveIClearApiLog
(
iClearApiLogService
.
convertToIClearApiLogC
(
basf
c
,
appId
,
appKey
,
new
Date
(
Long
.
valueOf
(
timeStamp
))));
IClearApiLog
saveIClearApiLogResult
=
iClearApiLogService
.
saveIClearApiLog
(
iClearApiLogService
.
convertToIClearApiLogC
(
fedex
c
,
appId
,
appKey
,
new
Date
(
Long
.
valueOf
(
timeStamp
))));
basf
c
.
setAppId
(
appId
);
BasfMawb
saveMawbBasf
Result
=
null
;
fedex
c
.
setAppId
(
appId
);
FedexMawb
saveMawbFedex
Result
=
null
;
if
(!
Objects
.
equals
(
saveIClearApiLogResult
,
null
)){
log
.
info
(
"请求保存成功,msgId:"
+
saveIClearApiLogResult
.
getMsgId
());
basf
c
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
basf
c
.
getConsignmentList
().
forEach
(
d
->{
fedex
c
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
fedex
c
.
getConsignmentList
().
forEach
(
d
->{
d
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
});
saveMawb
BasfResult
=
basfService
.
saveMawbBasf
(
basf
c
);
if
(!
Objects
.
equals
(
saveMawb
Basf
Result
,
null
)){
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存成功,msgId:"
+
saveMawbBasf
Result
.
getMsgId
());
saveMawb
FedexResult
=
fedexService
.
saveMawbFedex
(
fedex
c
);
if
(!
Objects
.
equals
(
saveMawb
Fedex
Result
,
null
)){
log
.
info
(
"请求数据运单号"
+
fedexc
.
getConsignmentCode
()+
"保存成功,msgId:"
+
saveMawbFedex
Result
.
getMsgId
());
}
else
{
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存失败,msgId:"
+
saveMawbBasf
Result
.
getMsgId
());
log
.
info
(
"请求数据运单号"
+
fedexc
.
getConsignmentCode
()+
"保存失败,msgId:"
+
saveMawbFedex
Result
.
getMsgId
());
}
}
else
{
log
.
info
(
"请求日志保存失败,consignmentCode:"
+
basf
c
.
getConsignmentCode
());
log
.
info
(
"请求日志保存失败,consignmentCode:"
+
fedex
c
.
getConsignmentCode
());
}
sw
.
stop
();
//2、TODO 校验主单
sw
.
start
(
"check
Basf
Mawb"
);
result
=
basfService
.
checkBasfMawb
(
saveMawbBasf
Result
);
sw
.
start
(
"check
Fedex
Mawb"
);
result
=
fedexService
.
checkFedexMawb
(
saveMawbFedex
Result
);
if
(!
result
.
getSuccess
()){
return
result
;
}
...
...
@@ -124,7 +124,7 @@ public class BasfDataInterface {
//4、保存运单到iclear中
sw
.
start
(
"processChmConsignment"
);
result
=
chmConsignmentService
.
processChmConsignment
Basf
(
saveMawbBasf
Result
,
timeStamp
,
appId
);
result
=
chmConsignmentService
.
processChmConsignment
Fedex
(
saveMawbFedex
Result
,
timeStamp
,
appId
);
if
(!
result
.
getSuccess
()){
return
result
;
}
...
...
@@ -143,7 +143,7 @@ public class BasfDataInterface {
.
encoding
(
"utf-8"
)
.
json
(
objJson
);
String
json
=
HttpClientUtil
.
post
(
config
);
log
.
info
(
"<<<<<<<< check
basf
Mawb start >>>>>>>>>> result :"
+
result
.
getSuccess
()
+
" iclear check response : "
+
json
+
" status : "
+
result
.
getSuccess
());
log
.
info
(
"<<<<<<<< check
fedex
Mawb start >>>>>>>>>> result :"
+
result
.
getSuccess
()
+
" iclear check response : "
+
json
+
" status : "
+
result
.
getSuccess
());
//5、更新日志
...
...
@@ -156,7 +156,7 @@ public class BasfDataInterface {
iClearApiLogService
.
updateIClearApiLog
(
saveIClearApiLogResult
);
}
log
.
info
(
"请求数据consignmentCode:"
+
basf
c
.
getConsignmentCode
()
+
" 接收结束"
);
log
.
info
(
"请求数据consignmentCode:"
+
fedex
c
.
getConsignmentCode
()
+
" 接收结束"
);
sw
.
stop
();
log
.
info
(
sw
.
prettyPrint
());
...
...
@@ -166,13 +166,13 @@ public class BasfDataInterface {
return
result
;
}
@ApiOperation
(
value
=
"
BASF获取申报信息"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/basf/selectDecListBasf
"
)
@PostMapping
(
"/selectDecList
Basf
"
)
@ApiOperation
(
value
=
"
Fedex获取申报信息"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/fedex/selectDecListFedex
"
)
@PostMapping
(
"/selectDecList
Fedex
"
)
@ResponseBody
public
BasfResultChmRS
selectDecListBasf
(
HttpServletRequest
request
public
FedexResultChmRS
selectDecListFedex
(
HttpServletRequest
request
,
@Validated
@RequestBody
ConsignmentCode
consignmentCode
)
throws
Exception
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
consignmentCode
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
consignmentCode
));
BasfResultChmRS
result
=
new
Basf
ResultChmRS
(
Boolean
.
FALSE
,
""
,
""
,
null
);
FedexResultChmRS
result
=
new
Fedex
ResultChmRS
(
Boolean
.
FALSE
,
""
,
""
,
null
);
//获取请求的运单号
String
[]
splitConsignment
=
StringUtil
.
split
(
consignmentCode
.
getConsignmentCode
(),
","
);
if
(
splitConsignment
.
length
>
20
){
...
...
@@ -185,7 +185,7 @@ public class BasfDataInterface {
result
.
setMsg
(
"请求信息不能为空"
);
return
result
;
}
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Basf
"
);
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Fedex
"
);
sw
.
start
(
"save log"
);
String
appId
=(
String
)
request
.
getHeader
(
"Appid"
);
...
...
@@ -196,11 +196,11 @@ public class BasfDataInterface {
//查询请求需要得运单申报信息
List
<
DeclaredInfo
>
declaredInfos
=
declaredInfoService
.
selectDeclaredInfo
(
splitConsignment
,
appId
);
//构造返回数据
List
<
BasfConsignment
>
basfConsignments
=
basfConsignmentService
.
basf
ConsignmentList
(
declaredInfos
);
List
<
FedexConsignment
>
fedexConsignments
=
fedexConsignmentService
.
fedex
ConsignmentList
(
declaredInfos
);
//返回申报数据
if
(
basf
Consignments
.
size
()
>
0
){
if
(
fedex
Consignments
.
size
()
>
0
){
result
.
setSuccess
(
Boolean
.
TRUE
);
result
.
setConsignmentList
(
basf
Consignments
);
result
.
setConsignmentList
(
fedex
Consignments
);
result
.
setMsg
(
"操作成功!"
);
}
else
{
result
.
setSuccess
(
Boolean
.
TRUE
);
...
...
@@ -216,22 +216,22 @@ public class BasfDataInterface {
}
//记录返回的申报数据记录
if
(
result
.
getSuccess
()){
declearTaskService
.
insertDeclareTask
(
basf
Consignments
,
saveIClearApiLogResult
.
getMsgId
());
declearTaskService
.
insertDeclareTask
(
fedex
Consignments
,
saveIClearApiLogResult
.
getMsgId
());
}
log
.
info
(
"
BASF
申报数据请求成功!"
);
log
.
info
(
"
Fedex
申报数据请求成功!"
);
//6、return result
result
.
setSuccess
(
Boolean
.
TRUE
);
result
.
setCode
(
"0"
);
return
result
;
}
@ApiOperation
(
value
=
"
BASF获取回执信息"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/basf/selectChmListBasf
"
)
@PostMapping
(
"/selectChmList
Basf
"
)
@ApiOperation
(
value
=
"
Fedex获取回执信息"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/fedex/selectChmListFedex
"
)
@PostMapping
(
"/selectChmList
Fedex
"
)
@ResponseBody
public
BasfResultRS
selectChmListBasf
(
HttpServletRequest
request
public
FedexResultRS
selectChmListFedex
(
HttpServletRequest
request
,
@Validated
@RequestBody
ConsignmentCode
consignmentCode
)
throws
Exception
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
consignmentCode
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
consignmentCode
));
BasfResultRS
result
=
new
Basf
ResultRS
(
Boolean
.
FALSE
,
""
,
""
,
null
);
FedexResultRS
result
=
new
Fedex
ResultRS
(
Boolean
.
FALSE
,
""
,
""
,
null
);
//获取请求的运单号
String
[]
splitConsignment
=
StringUtil
.
split
(
consignmentCode
.
getConsignmentCode
(),
","
);
if
(
splitConsignment
.
length
>
20
){
...
...
@@ -244,7 +244,7 @@ public class BasfDataInterface {
result
.
setMsg
(
"请求信息不能为空"
);
return
result
;
}
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Basf
"
);
StopWatch
sw
=
new
StopWatch
(
"receice mawb
Fedex
"
);
sw
.
start
(
"save log"
);
String
appId
=(
String
)
request
.
getHeader
(
"Appid"
);
...
...
@@ -254,9 +254,8 @@ public class BasfDataInterface {
IClearApiLog
saveIClearApiLogResult
=
iClearApiLogService
.
saveIClearApiLog
(
iClearApiLogService
.
convertToIClearApiLogCselect
(
consignmentCode
.
getConsignmentCode
(),
appId
,
appKey
,
new
Date
(
Long
.
valueOf
(
timeStamp
))));
//查询请求需要得运单申报信息
//List<DeclaredInfo> declaredInfos = declaredInfoService.selectDeclaredInfo(splitConsignment);
List
<
Basfc
Receipt
>
chmConsignments
=
chmConsignmentService
.
getConsignmentCode
(
splitConsignment
,
appId
);
List
<
Fedex
Receipt
>
chmConsignments
=
chmConsignmentService
.
getConsignmentCode
(
splitConsignment
,
appId
);
//构造返回数据
//List<BasfConsignment> basfConsignments = basfConsignmentService.basfConsignmentList(declaredInfos);
//返回申报数据
if
(
chmConsignments
.
size
()
>
0
){
result
.
setSuccess
(
Boolean
.
TRUE
);
...
...
@@ -278,7 +277,7 @@ public class BasfDataInterface {
if
(
result
.
getSuccess
()){
declearTaskService
.
insertChmTask
(
chmConsignments
,
saveIClearApiLogResult
.
getMsgId
());
}
log
.
info
(
"
BASF
回执数据请求成功!"
);
log
.
info
(
"
Fedex
回执数据请求成功!"
);
//6、return result
result
.
setSuccess
(
Boolean
.
TRUE
);
result
.
setCode
(
"0"
);
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basf
Consignment.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
Consignment.java
View file @
f41c7b9
...
...
@@ -6,7 +6,7 @@ import java.util.List;
/**
* BASF申报数据构造 2021年11月9日 xjq
*/
public
class
BasfConsignment
implements
Serializable
{
public
class
FedexConsignment
implements
Serializable
{
/**
* 运单号
*/
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basfc
Detail.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
Detail.java
View file @
f41c7b9
...
...
@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
import
java.math.BigDecimal
;
@ApiModel
(
value
=
"
basf
cDetail"
,
description
=
"运单明细"
)
@ApiModel
(
value
=
"
fedex
cDetail"
,
description
=
"运单明细"
)
@Entity
@Table
(
name
=
"T_ICLEAR_API_BASFCDETAIL"
)
@Data
public
class
Basfc
Detail
{
public
class
Fedex
Detail
{
private
static
final
long
serialVersionUID
=
-
6706944312498119267L
;
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basf
Mawb.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
Mawb.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
api
.
request
;
import
com.erry.iclear.dateInterface.repository.MawbAdd
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -9,8 +8,6 @@ import org.hibernate.annotations.DynamicUpdate;
import
javax.persistence.*
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -25,7 +22,7 @@ import java.util.List;
@DynamicInsert
@DynamicUpdate
@Data
public
class
Basf
Mawb
implements
Serializable
{
public
class
Fedex
Mawb
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7092144710653831972L
;
@Id
...
...
@@ -242,5 +239,5 @@ public class BasfMawb implements Serializable {
@ApiModelProperty
(
value
=
"运单明细"
,
name
=
"BasfMawbDetail"
,
example
=
""
)
@OneToMany
(
cascade
=
CascadeType
.
PERSIST
)
@JoinColumn
(
name
=
"mawbId"
)
private
List
<
Basf
MawbDetail
>
mawbDetailList
;
private
List
<
Fedex
MawbDetail
>
mawbDetailList
;
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basf
MawbDetail.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
MawbDetail.java
View file @
f41c7b9
...
...
@@ -14,7 +14,7 @@ import java.math.BigDecimal;
@Entity
@Table
(
name
=
"T_ICLEAR_API_MAWBDETAIL"
)
@Data
public
class
Basf
MawbDetail
implements
Serializable
{
public
class
Fedex
MawbDetail
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6706944312498119267L
;
@Id
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basfc
Receipt.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
Receipt.java
View file @
f41c7b9
...
...
@@ -11,7 +11,7 @@ import java.util.Date;
/**
* BASF回执数据构造 xjq 2021年11月16日
*/
public
class
Basfc
Receipt
implements
Serializable
{
public
class
Fedex
Receipt
implements
Serializable
{
@Autowired
private
DictionaryEntriesRepository
dictionaryEntriesRepository
;
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/
Basf
c.java
→
src/main/java/com/erry/iclear/dateInterface/api/request/
Fedex
c.java
View file @
f41c7b9
...
...
@@ -2,7 +2,6 @@ package com.erry.iclear.dateInterface.api.request;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
...
...
@@ -14,13 +13,13 @@ import javax.validation.constraints.NotNull;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"
basf
c"
,
description
=
"主运单"
)
@ApiModel
(
value
=
"
fedex
c"
,
description
=
"主运单"
)
@Entity
@Table
(
name
=
"T_ICLEAR_API_MAWB"
)
@DynamicInsert
@DynamicUpdate
@Data
public
class
Basf
c
implements
Serializable
{
public
class
Fedex
c
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7092144710653831972L
;
...
...
@@ -94,5 +93,5 @@ public class Basfc implements Serializable {
@ApiModelProperty
(
value
=
"运单明细"
,
name
=
"consignmentList"
,
example
=
""
)
@OneToMany
(
cascade
=
CascadeType
.
PERSIST
)
@JoinColumn
(
name
=
"BASFCID"
)
private
List
<
Basfc
Detail
>
consignmentList
;
private
List
<
Fedex
Detail
>
consignmentList
;
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/response/
Basf
ResultChmRS.java
→
src/main/java/com/erry/iclear/dateInterface/api/response/
Fedex
ResultChmRS.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
api
.
response
;
import
com.erry.iclear.dateInterface.api.request.
Basf
Consignment
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
Consignment
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -13,7 +13,7 @@ import java.util.List;
*/
@Data
@AllArgsConstructor
public
class
Basf
ResultChmRS
implements
Serializable
{
public
class
Fedex
ResultChmRS
implements
Serializable
{
//成功标识
private
Boolean
success
=
true
;
...
...
@@ -22,6 +22,6 @@ public class BasfResultChmRS implements Serializable {
//错误信息
private
String
msg
;
//Object data;
private
List
<
Basf
Consignment
>
consignmentList
;
private
List
<
Fedex
Consignment
>
consignmentList
;
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/response/
Basf
ResultRS.java
→
src/main/java/com/erry/iclear/dateInterface/api/response/
Fedex
ResultRS.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
api
.
response
;
import
com.erry.iclear.dateInterface.api.request.BasfConsignment
;
import
com.erry.iclear.dateInterface.api.request.BasfcReceipt
;
import
com.erry.iclear.dateInterface.api.request.FedexReceipt
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -13,7 +12,7 @@ import java.util.List;
*/
@Data
@AllArgsConstructor
public
class
Basf
ResultRS
implements
Serializable
{
public
class
Fedex
ResultRS
implements
Serializable
{
//成功标识
private
Boolean
success
=
true
;
...
...
@@ -22,6 +21,6 @@ public class BasfResultRS implements Serializable {
//错误信息
private
String
msg
;
//Object data;
private
List
<
Basfc
Receipt
>
consignmentList
;
private
List
<
Fedex
Receipt
>
consignmentList
;
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/response/ResultHsCode.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
api
.
response
;
import
com.erry.iclear.dateInterface.api.request.BasfcReceipt
;
import
com.erry.iclear.dateInterface.entity.HsCode
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/erry/iclear/dateInterface/config/InterceptorConfig.java
View file @
f41c7b9
...
...
@@ -15,7 +15,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
new
SignInterceptor
()).
addPathPatterns
(
"/customs/*"
);
registry
.
addInterceptor
(
new
SignInterceptor
()).
addPathPatterns
(
"/
basf
/*"
);
registry
.
addInterceptor
(
new
SignInterceptor
()).
addPathPatterns
(
"/
fedex
/*"
);
registry
.
addInterceptor
(
new
HsCodeInterceptor
()).
addPathPatterns
(
"/hscode/*"
);
}
}
...
...
src/main/java/com/erry/iclear/dateInterface/repository/
Basf
MawbRepository.java
→
src/main/java/com/erry/iclear/dateInterface/repository/
Fedex
MawbRepository.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
repository
;
import
com.erry.iclear.dateInterface.api.request.
Basf
Mawb
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
Mawb
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -11,5 +11,5 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Repository
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
interface
BasfMawbRepository
extends
JpaRepository
<
BasfMawb
,
Integer
>,
JpaSpecificationExecutor
<
Basf
Mawb
>
{
public
interface
FedexMawbRepository
extends
JpaRepository
<
FedexMawb
,
Integer
>,
JpaSpecificationExecutor
<
Fedex
Mawb
>
{
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentDetailService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.
Basf
MawbDetail
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
MawbDetail
;
import
com.erry.iclear.dateInterface.api.request.MawbDetail
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.entity.*
;
import
com.erry.iclear.dateInterface.repository.ChmConsignmentDetailRepository
;
import
com.erry.iclear.dateInterface.repository.ChmConsignmentRepository
;
import
com.erry.iclear.dateInterface.util.NumberUtils
;
import
com.erry.iclear.dateInterface.util.StringUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -138,7 +137,7 @@ public class ChmConsignmentDetailService {
* @param mawbDetail
* @return
*/
public
ChmConsignmentDetail
convertToChmConsignmentDetail
Basf
(
Basf
MawbDetail
mawbDetail
,
ChmConsignment
chmConsignment
){
public
ChmConsignmentDetail
convertToChmConsignmentDetail
Fedex
(
Fedex
MawbDetail
mawbDetail
,
ChmConsignment
chmConsignment
){
ChmConsignmentDetail
result
=
new
ChmConsignmentDetail
();
try
{
result
.
setChmConsignment
(
chmConsignment
);
...
...
@@ -185,7 +184,7 @@ public class ChmConsignmentDetailService {
result
.
setDeclaredWeight
(
bigDecimalFormat
(
mawbDetail
.
getDeclaredWeight
()));
result
.
setDetailId
(
mawbDetail
.
getDetailId
());
}
catch
(
Exception
e
){
log
.
error
(
"convertToChmConsignmentDetail
Basf
() error:"
+
e
.
getMessage
());
log
.
error
(
"convertToChmConsignmentDetail
Fedex
() error:"
+
e
.
getMessage
());
}
return
result
;
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
//import cn.hutool.core.date.DateUtil;
import
com.erry.iclear.dateInterface.api.request.
Basf
Mawb
;
import
com.erry.iclear.dateInterface.api.request.
Basfc
Receipt
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
Mawb
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
Receipt
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.common.Constant
;
...
...
@@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
javax.transaction.Transactional
;
import
java.math.BigDecimal
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
...
...
@@ -241,7 +240,7 @@ public class ChmConsignmentService {
return
result
;
}
public
ChmConsignment
convertToChmConsignment
Basf
(
BasfMawb
mawb
,
Date
pushTime
,
String
creator
){
public
ChmConsignment
convertToChmConsignment
Fedex
(
FedexMawb
mawb
,
Date
pushTime
,
String
creator
){
ChmConsignment
result
=
new
ChmConsignment
();
try
{
//运单号
...
...
@@ -294,7 +293,7 @@ public class ChmConsignmentService {
}
catch
(
Exception
e
){
result
=
null
;
e
.
printStackTrace
();
log
.
error
(
"convertToChmConsignment
Basf
() error:"
+
e
.
getMessage
());
log
.
error
(
"convertToChmConsignment
Fedex
() error:"
+
e
.
getMessage
());
}
return
result
;
}
...
...
@@ -560,14 +559,14 @@ public class ChmConsignmentService {
/**
* 保存或更新 iclear中的运单信息
* @param
basf
Mawb
* @param
fedex
Mawb
* @param timeStamp
*/
public
ResultRS
processChmConsignment
Basf
(
BasfMawb
basf
Mawb
,
String
timeStamp
,
String
creator
)
{
public
ResultRS
processChmConsignment
Fedex
(
FedexMawb
fedex
Mawb
,
String
timeStamp
,
String
creator
)
{
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
null
,
null
);
try
{
Date
pushTime
=
DateUtils
.
timeStampToDate
(
Long
.
valueOf
(
timeStamp
));
ChmConsignment
chmConsignment
=
this
.
convertToChmConsignment
Basf
(
basf
Mawb
,
pushTime
,
creator
);
ChmConsignment
chmConsignment
=
this
.
convertToChmConsignment
Fedex
(
fedex
Mawb
,
pushTime
,
creator
);
if
(
Objects
.
equals
(
chmConsignment
,
null
)){
result
.
setCode
(
"30001"
);
result
.
setMsg
(
"数据格式不正确"
);
...
...
@@ -575,8 +574,8 @@ public class ChmConsignmentService {
}
List
<
ChmConsignmentDetail
>
chmConsignmentDetailList
=
new
ArrayList
<>();
basf
Mawb
.
getMawbDetailList
().
forEach
(
detail
->{
chmConsignmentDetailList
.
add
(
chmConsignmentDetailService
.
convertToChmConsignmentDetail
Basf
(
detail
,
chmConsignment
));
fedex
Mawb
.
getMawbDetailList
().
forEach
(
detail
->{
chmConsignmentDetailList
.
add
(
chmConsignmentDetailService
.
convertToChmConsignmentDetail
Fedex
(
detail
,
chmConsignment
));
});
chmConsignment
.
setChmConsignmentDetailList
(
chmConsignmentDetailList
);
...
...
@@ -586,14 +585,14 @@ public class ChmConsignmentService {
//3、新增或更新
//新增:如果没有就插入
if
(
Objects
.
equals
(
chmConsignmentDB
,
null
)){
log
.
info
(
"新增主单"
+
basf
Mawb
.
getBillNo
());
log
.
info
(
"新增主单"
+
fedex
Mawb
.
getBillNo
());
ChmConsignment
chmConsignmentSaveResult
=
this
.
saveChmConsignment
(
chmConsignment
);
if
(!
Objects
.
equals
(
chmConsignmentSaveResult
,
null
)){
log
.
info
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 保存成功,chmConsignmentId:"
+
chmConsignmentSaveResult
.
getId
());
log
.
info
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 保存成功,chmConsignmentId:"
+
chmConsignmentSaveResult
.
getId
());
}
else
{
log
.
info
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 保存失败"
);
log
.
info
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 保存失败"
);
result
.
setCode
(
"30002"
);
result
.
setMsg
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 保存失败"
);
result
.
setMsg
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 保存失败"
);
return
result
;
}
//更新:
...
...
@@ -606,7 +605,7 @@ public class ChmConsignmentService {
&&
pushTime
.
getTime
()>
chmConsignmentDB
.
getUpdateTime
().
getTime
()
){
//更新数据
log
.
info
(
"更新主单"
+
basf
Mawb
.
getBillNo
());
log
.
info
(
"更新主单"
+
fedex
Mawb
.
getBillNo
());
for
(
ChmConsignmentDetail
newDetail:
chmConsignment
.
getChmConsignmentDetailList
()){
for
(
ChmConsignmentDetail
oldDetail:
chmConsignmentDB
.
getChmConsignmentDetailList
()){
...
...
@@ -622,11 +621,11 @@ public class ChmConsignmentService {
chmConsignment
.
setUpdateTime
(
pushTime
);
ChmConsignment
updateResult
=
this
.
saveChmConsignment
(
chmConsignment
);
if
(!
Objects
.
equals
(
updateResult
,
null
)){
log
.
info
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 更新成功,chmConsignmentId:"
+
updateResult
.
getId
());
log
.
info
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 更新成功,chmConsignmentId:"
+
updateResult
.
getId
());
}
else
{
log
.
info
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 更新失败"
);
log
.
info
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 更新失败"
);
result
.
setCode
(
"30003"
);
result
.
setMsg
(
"主单"
+
basf
Mawb
.
getBillNo
()+
" 更新失败"
);
result
.
setMsg
(
"主单"
+
fedex
Mawb
.
getBillNo
()+
" 更新失败"
);
return
result
;
}
}
...
...
@@ -637,28 +636,28 @@ public class ChmConsignmentService {
return
result
;
}
public
List
<
BasfcReceipt
>
getConsignmentCode
(
String
[]
consignmentCode
,
String
creator
)
throws
ParseException
{
public
List
<
FedexReceipt
>
getConsignmentCode
(
String
[]
consignmentCode
,
String
creator
)
throws
ParseException
{
DictionaryEntries
consTypeC
=
dictionaryEntriesRepository
.
findDictionaryEntriesByCode
(
Constant
.
consType_C
);
SysUser
sysUser
=
sysUserRepository
.
findUserByLoginName
(
creator
);
List
<
String
>
stringList
=
declaredInfoService
.
stringList
(
consignmentCode
);
List
<
Object
[]>
chmByConsignmentCode
=
chmConsignmentRepository
.
findChmByConsignmentCode
(
stringList
,
consTypeC
.
getId
(),
sysUser
.
getId
());
List
<
BasfcReceipt
>
basf
cReceiptList
=
new
ArrayList
<>();
List
<
FedexReceipt
>
fedex
cReceiptList
=
new
ArrayList
<>();
if
(
chmByConsignmentCode
.
size
()>
0
){
for
(
int
i
=
0
;
i
<
chmByConsignmentCode
.
size
();
i
++)
{
Object
[]
objs
=
chmByConsignmentCode
.
get
(
i
);
BasfcReceipt
basfcReceipt
=
new
Basfc
Receipt
();
basf
cReceipt
.
setConsignmentId
(
Long
.
valueOf
(
objs
[
0
].
toString
()));
basf
cReceipt
.
setConsignmentCode
(
objs
[
1
].
toString
());
basf
cReceipt
.
setConsignmentType
(
"C"
);
basf
cReceipt
.
setCustomsReceiptStatus
(
objs
[
2
].
toString
());
FedexReceipt
fedexcReceipt
=
new
Fedex
Receipt
();
fedex
cReceipt
.
setConsignmentId
(
Long
.
valueOf
(
objs
[
0
].
toString
()));
fedex
cReceipt
.
setConsignmentCode
(
objs
[
1
].
toString
());
fedex
cReceipt
.
setConsignmentType
(
"C"
);
fedex
cReceipt
.
setCustomsReceiptStatus
(
objs
[
2
].
toString
());
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
str
=
objs
[
4
].
toString
();
System
.
out
.
println
(
str
);
Date
date
=
sdf
.
parse
(
objs
[
4
].
toString
());
basf
cReceipt
.
setCustomsReceiptTime
(
date
);
basfcReceiptList
.
add
(
basf
cReceipt
);
fedex
cReceipt
.
setCustomsReceiptTime
(
date
);
fedexcReceiptList
.
add
(
fedex
cReceipt
);
}
}
return
basf
cReceiptList
;
return
fedex
cReceiptList
;
}
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/DeclearTaskService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.BasfConsignment
;
import
com.erry.iclear.dateInterface.api.request.BasfcReceipt
;
import
com.erry.iclear.dateInterface.common.BaseModel
;
import
com.erry.iclear.dateInterface.entity.ChmConsignment
;
import
com.erry.iclear.dateInterface.api.request.FedexConsignment
;
import
com.erry.iclear.dateInterface.api.request.FedexReceipt
;
import
com.erry.iclear.dateInterface.entity.DeclearTask
;
import
com.erry.iclear.dateInterface.repository.DeclearTaskRepository
;
import
com.erry.iclear.dateInterface.util.StringUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -28,14 +25,14 @@ public class DeclearTaskService{
@Autowired
private
DeclearTaskRepository
declareTaskRepository
;
public
void
insertDeclareTask
(
List
<
BasfConsignment
>
basf
Consignments
,
Long
logId
)
throws
Exception
{
public
void
insertDeclareTask
(
List
<
FedexConsignment
>
fedex
Consignments
,
Long
logId
)
throws
Exception
{
List
<
DeclearTask
>
declareTaskList
=
new
ArrayList
<>();
try
{
if
(
basf
Consignments
.
size
()>
0
){
for
(
BasfConsignment
basfConsignment
:
basf
Consignments
)
{
if
(
fedex
Consignments
.
size
()>
0
){
for
(
FedexConsignment
fedexConsignment
:
fedex
Consignments
)
{
DeclearTask
declareTask
=
new
DeclearTask
();
declareTask
.
setChmsignmentId
(
BigDecimal
.
valueOf
(
basf
Consignment
.
getConsignmentId
()));
declareTask
.
setChmsignmentCode
(
basf
Consignment
.
getConsignmentCode
());
declareTask
.
setChmsignmentId
(
BigDecimal
.
valueOf
(
fedex
Consignment
.
getConsignmentId
()));
declareTask
.
setChmsignmentCode
(
fedex
Consignment
.
getConsignmentCode
());
declareTask
.
setOperationTime
(
new
Date
());
declareTask
.
setFileType
(
"1"
);
declareTask
.
setOperationName
(
"root"
);
...
...
@@ -53,14 +50,14 @@ public class DeclearTaskService{
}
public
void
insertChmTask
(
List
<
BasfcReceipt
>
basf
Consignments
,
Long
logId
)
throws
Exception
{
public
void
insertChmTask
(
List
<
FedexReceipt
>
fedex
Consignments
,
Long
logId
)
throws
Exception
{
List
<
DeclearTask
>
declareTaskList
=
new
ArrayList
<>();
try
{
if
(
basf
Consignments
.
size
()>
0
){
for
(
BasfcReceipt
basfConsignment
:
basf
Consignments
)
{
if
(
fedex
Consignments
.
size
()>
0
){
for
(
FedexReceipt
fedexConsignment
:
fedex
Consignments
)
{
DeclearTask
declareTask
=
new
DeclearTask
();
declareTask
.
setChmsignmentId
(
BigDecimal
.
valueOf
(
basf
Consignment
.
getConsignmentId
()));
declareTask
.
setChmsignmentCode
(
basf
Consignment
.
getConsignmentCode
());
declareTask
.
setChmsignmentId
(
BigDecimal
.
valueOf
(
fedex
Consignment
.
getConsignmentId
()));
declareTask
.
setChmsignmentCode
(
fedex
Consignment
.
getConsignmentCode
());
declareTask
.
setOperationTime
(
new
Date
());
declareTask
.
setFileType
(
"2"
);
declareTask
.
setOperationName
(
"root"
);
...
...
src/main/java/com/erry/iclear/dateInterface/service/
Basf
ConsignmentService.java
→
src/main/java/com/erry/iclear/dateInterface/service/
Fedex
ConsignmentService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.
Basf
Consignment
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
Consignment
;
import
com.erry.iclear.dateInterface.api.request.ConsignmentDetail
;
import
com.erry.iclear.dateInterface.entity.DeclaredInfo
;
import
org.springframework.stereotype.Service
;
...
...
@@ -9,34 +9,34 @@ import java.util.ArrayList;
import
java.util.List
;
@Service
public
class
Basf
ConsignmentService
{
public
class
Fedex
ConsignmentService
{
public
List
<
BasfConsignment
>
basf
ConsignmentList
(
List
<
DeclaredInfo
>
consignment
){
List
<
BasfConsignment
>
basf
ConsignmentList
=
new
ArrayList
<>();
public
List
<
FedexConsignment
>
fedex
ConsignmentList
(
List
<
DeclaredInfo
>
consignment
){
List
<
FedexConsignment
>
fedex
ConsignmentList
=
new
ArrayList
<>();
try
{
if
(
consignment
.
size
()>
0
){
String
consignmentCode
=
null
;
List
<
ConsignmentDetail
>
consignmentDetails
=
new
ArrayList
<>();
BasfConsignment
basfConsignment
=
new
Basf
Consignment
();
FedexConsignment
fedexConsignment
=
new
Fedex
Consignment
();
for
(
DeclaredInfo
declaredInfo
:
consignment
){
if
(!
declaredInfo
.
getConsignmentCode
().
equals
(
consignmentCode
))
{
if
(
consignmentCode
!=
null
){
basf
Consignment
.
setConsignmentList
(
consignmentDetails
);
fedex
Consignment
.
setConsignmentList
(
consignmentDetails
);
consignmentDetails
=
new
ArrayList
<>();
basfConsignmentList
.
add
(
basf
Consignment
);
basfConsignment
=
new
Basf
Consignment
();
fedexConsignmentList
.
add
(
fedex
Consignment
);
fedexConsignment
=
new
Fedex
Consignment
();
}
consignmentCode
=
declaredInfo
.
getConsignmentCode
();
basf
Consignment
.
setConsignmentCode
(
declaredInfo
.
getConsignmentCode
());
basf
Consignment
.
setConsignmentId
(
declaredInfo
.
getConsignmentId
());
basf
Consignment
.
setConsType
(
declaredInfo
.
getConsType
());
basf
Consignment
.
setOperateUnitName
(
declaredInfo
.
getOperateUnitName
());
basf
Consignment
.
setOperateUnitCode
(
declaredInfo
.
getOperateUnitCode
());
basf
Consignment
.
setOperateSCC
(
declaredInfo
.
getTradeCoSCC
());
basf
Consignment
.
setSender
(
declaredInfo
.
getSender
());
basf
Consignment
.
setShipperCustomsCode
(
declaredInfo
.
getOwnerCode
());
basf
Consignment
.
setShipperSCC
(
declaredInfo
.
getOwnerCodeScc
());
fedex
Consignment
.
setConsignmentCode
(
declaredInfo
.
getConsignmentCode
());
fedex
Consignment
.
setConsignmentId
(
declaredInfo
.
getConsignmentId
());
fedex
Consignment
.
setConsType
(
declaredInfo
.
getConsType
());
fedex
Consignment
.
setOperateUnitName
(
declaredInfo
.
getOperateUnitName
());
fedex
Consignment
.
setOperateUnitCode
(
declaredInfo
.
getOperateUnitCode
());
fedex
Consignment
.
setOperateSCC
(
declaredInfo
.
getTradeCoSCC
());
fedex
Consignment
.
setSender
(
declaredInfo
.
getSender
());
fedex
Consignment
.
setShipperCustomsCode
(
declaredInfo
.
getOwnerCode
());
fedex
Consignment
.
setShipperSCC
(
declaredInfo
.
getOwnerCodeScc
());
}
ConsignmentDetail
consignmentDetail
=
new
ConsignmentDetail
();
consignmentDetail
.
setSkuCode
(
declaredInfo
.
getSkuCode
());
...
...
@@ -58,12 +58,12 @@ public class BasfConsignmentService {
consignmentDetail
.
setDeclaredWeight
(
declaredInfo
.
getDeclaredWeight
());
consignmentDetails
.
add
(
consignmentDetail
);
}
basf
Consignment
.
setConsignmentList
(
consignmentDetails
);
basfConsignmentList
.
add
(
basf
Consignment
);
fedex
Consignment
.
setConsignmentList
(
consignmentDetails
);
fedexConsignmentList
.
add
(
fedex
Consignment
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
basf
ConsignmentList
;
return
fedex
ConsignmentList
;
}
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/
Basf
Service.java
→
src/main/java/com/erry/iclear/dateInterface/service/
Fedex
Service.java
View file @
f41c7b9
...
...
@@ -8,10 +8,8 @@ import com.erry.iclear.dateInterface.api.response.IClearCheckResponseResult;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.entity.ChmConsignment
;
import
com.erry.iclear.dateInterface.entity.ChmConsignmentDetail
;
import
com.erry.iclear.dateInterface.repository.BasfMawbRepository
;
import
com.erry.iclear.dateInterface.repository.MawbRepository
;
import
com.erry.iclear.dateInterface.repository.FedexMawbRepository
;
import
com.erry.iclear.dateInterface.util.JsonToJava
;
import
com.erry.iclear.dateInterface.util.NumberUtils
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.Header
;
...
...
@@ -28,7 +26,7 @@ import java.util.Objects;
*/
@Service
@Slf4j
public
class
Basf
Service
{
public
class
Fedex
Service
{
private
Gson
gson
=
new
Gson
();
...
...
@@ -42,62 +40,62 @@ public class BasfService {
private
ChmConsignmentDetailService
consignmentDetailService
;
@Autowired
private
BasfMawbRepository
basf
MawbRepository
;
private
FedexMawbRepository
fedex
MawbRepository
;
/**
* 保存主单Request --
basf
c
* @param
basf
c
* 保存主单Request --
fedex
c
* @param
fedex
c
*/
public
BasfMawb
saveMawbBasf
(
Basfc
basf
c
){
Basf
Mawb
result
=
null
;
public
FedexMawb
saveMawbFedex
(
Fedexc
fedex
c
){
Fedex
Mawb
result
=
null
;
try
{
log
.
info
(
"saveMawb start>>>>>>>>>>>"
);
//运单头部信息
BasfMawb
basfMawb
=
new
Basf
Mawb
();
basfMawb
.
setAppId
(
basf
c
.
getAppId
());
basfMawb
.
setMsgId
(
basf
c
.
getMsgId
());
basfMawb
.
setConsignmentCodeId
(
basf
c
.
getConsignmentId
());
basfMawb
.
setType
(
basf
c
.
getConsType
());
FedexMawb
fedexMawb
=
new
Fedex
Mawb
();
fedexMawb
.
setAppId
(
fedex
c
.
getAppId
());
fedexMawb
.
setMsgId
(
fedex
c
.
getMsgId
());
fedexMawb
.
setConsignmentCodeId
(
fedex
c
.
getConsignmentId
());
fedexMawb
.
setType
(
fedex
c
.
getConsType
());
//TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
//运单号-->提单号
basfMawb
.
setBillNo
(
basf
c
.
getConsignmentCode
());
fedexMawb
.
setBillNo
(
fedex
c
.
getConsignmentCode
());
//经营单位 --> 消费使用/生产销售单位名称
basfMawb
.
setOwnerName
(
basf
c
.
getOperateUnitName
());
fedexMawb
.
setOwnerName
(
fedex
c
.
getOperateUnitName
());
//经营单位海关编码 --> 消费使用/生产销售单位代码
basfMawb
.
setOwnerCode
(
basf
c
.
getOperateUnitCode
());
fedexMawb
.
setOwnerCode
(
fedex
c
.
getOperateUnitCode
());
//经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
basfMawb
.
setOwnerCodeScc
(
basf
c
.
getOperateSCC
());
fedexMawb
.
setOwnerCodeScc
(
fedex
c
.
getOperateSCC
());
//发件人 --> 境内收发货人名称
basfMawb
.
setTradeName
(
basf
c
.
getSender
());
fedexMawb
.
setTradeName
(
fedex
c
.
getSender
());
//发件人海关编码 --> 境内收发货人编号
basfMawb
.
setTradeCode
(
basf
c
.
getShipperCustomsCode
());
fedexMawb
.
setTradeCode
(
fedex
c
.
getShipperCustomsCode
());
//发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
basfMawb
.
setTradeCodeScc
(
basf
c
.
getShipperSCC
());
fedexMawb
.
setTradeCodeScc
(
fedex
c
.
getShipperSCC
());
basfMawb
.
setEanNo
(
basf
c
.
getEanNo
());
fedexMawb
.
setEanNo
(
fedex
c
.
getEanNo
());
//明细
List
<
Basf
MawbDetail
>
mawbDetailList
=
new
ArrayList
<>();
if
(
basf
c
.
getConsignmentList
().
size
()>
0
){
for
(
BasfcDetail
basfcDetail
:
basf
c
.
getConsignmentList
()){
BasfMawbDetail
mawbDetail
=
new
Basf
MawbDetail
();
mawbDetail
.
setDetailId
(
String
.
valueOf
(
basf
cDetail
.
getConsignmentDetailId
()));
mawbDetail
.
setGmodel
(
basf
cDetail
.
getModel
());
mawbDetail
.
setCodeTS
(
basf
cDetail
.
getSkuCode
());
mawbDetail
.
setGname
(
basf
cDetail
.
getSkuName
());
mawbDetail
.
setGqty
(
basf
cDetail
.
getKnockdownNumber
());
mawbDetail
.
setGunit
(
basf
cDetail
.
getKnockdownUnit
());
mawbDetail
.
setFirstUnit
(
basf
cDetail
.
getUnitLegalFirst
());
mawbDetail
.
setFirstQty
(
basf
cDetail
.
getQtyLegalFirst
());
mawbDetail
.
setSecondQty
(
basf
cDetail
.
getQtyLegalSecond
());
mawbDetail
.
setSecondUnit
(
basf
cDetail
.
getUnitLegalSecond
());
mawbDetail
.
setDeclTotal
(
basf
cDetail
.
getDeclaredAmount
());
mawbDetail
.
setTradeCurr
(
basf
cDetail
.
getCurrency
());
mawbDetail
.
setDeclaredWeight
(
basf
cDetail
.
getDeclaredWeight
());
List
<
Fedex
MawbDetail
>
mawbDetailList
=
new
ArrayList
<>();
if
(
fedex
c
.
getConsignmentList
().
size
()>
0
){
for
(
FedexDetail
fedexcDetail
:
fedex
c
.
getConsignmentList
()){
FedexMawbDetail
mawbDetail
=
new
Fedex
MawbDetail
();
mawbDetail
.
setDetailId
(
String
.
valueOf
(
fedex
cDetail
.
getConsignmentDetailId
()));
mawbDetail
.
setGmodel
(
fedex
cDetail
.
getModel
());
mawbDetail
.
setCodeTS
(
fedex
cDetail
.
getSkuCode
());
mawbDetail
.
setGname
(
fedex
cDetail
.
getSkuName
());
mawbDetail
.
setGqty
(
fedex
cDetail
.
getKnockdownNumber
());
mawbDetail
.
setGunit
(
fedex
cDetail
.
getKnockdownUnit
());
mawbDetail
.
setFirstUnit
(
fedex
cDetail
.
getUnitLegalFirst
());
mawbDetail
.
setFirstQty
(
fedex
cDetail
.
getQtyLegalFirst
());
mawbDetail
.
setSecondQty
(
fedex
cDetail
.
getQtyLegalSecond
());
mawbDetail
.
setSecondUnit
(
fedex
cDetail
.
getUnitLegalSecond
());
mawbDetail
.
setDeclTotal
(
fedex
cDetail
.
getDeclaredAmount
());
mawbDetail
.
setTradeCurr
(
fedex
cDetail
.
getCurrency
());
mawbDetail
.
setDeclaredWeight
(
fedex
cDetail
.
getDeclaredWeight
());
mawbDetailList
.
add
(
mawbDetail
);
}
}
basf
Mawb
.
setMawbDetailList
(
mawbDetailList
);
result
=
basfMawbRepository
.
save
(
basf
Mawb
);
fedex
Mawb
.
setMawbDetailList
(
mawbDetailList
);
result
=
fedexMawbRepository
.
save
(
fedex
Mawb
);
log
.
info
(
"saveMawb end>>>>>>>>>>>"
);
}
catch
(
Exception
e
){
log
.
error
(
"saveMawb() error:"
+
e
.
getMessage
());
...
...
@@ -107,24 +105,24 @@ public class BasfService {
/**
* 校验主单
* @param
basf
Mawb
* @param
fedex
Mawb
* @return
*/
public
ResultRS
check
BasfMawb
(
BasfMawb
basf
Mawb
){
public
ResultRS
check
FedexMawb
(
FedexMawb
fedex
Mawb
){
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
null
,
null
);
try
{
log
.
info
(
"checkMawb start>>>>>>>>>> mawb:"
+
gson
.
toJson
(
basf
Mawb
));
log
.
info
(
"checkMawb start>>>>>>>>>> mawb:"
+
gson
.
toJson
(
fedex
Mawb
));
//1、将请求转换为运单
ChmConsignment
chmConsignment
=
consignmentService
.
convertToChmConsignment
Basf
(
basf
Mawb
,
null
,
"IDE-ICLEAR-API"
);
ChmConsignment
chmConsignment
=
consignmentService
.
convertToChmConsignment
Fedex
(
fedex
Mawb
,
null
,
"IDE-ICLEAR-API"
);
if
(
Objects
.
equals
(
chmConsignment
,
null
)){
result
.
setCode
(
"30001"
);
result
.
setMsg
(
"数据格式不正确"
);
return
result
;
}
List
<
ChmConsignmentDetail
>
chmConsignmentDetailList
=
new
ArrayList
<>();
basf
Mawb
.
getMawbDetailList
().
forEach
(
detail
->{
chmConsignmentDetailList
.
add
(
consignmentDetailService
.
convertToChmConsignmentDetail
Basf
(
detail
,
chmConsignment
));
fedex
Mawb
.
getMawbDetailList
().
forEach
(
detail
->{
chmConsignmentDetailList
.
add
(
consignmentDetailService
.
convertToChmConsignmentDetail
Fedex
(
detail
,
chmConsignment
));
});
chmConsignment
.
setChmConsignmentDetailList
(
chmConsignmentDetailList
);
...
...
@@ -145,7 +143,7 @@ public class BasfService {
result
.
setSuccess
(
iclearCheckResponseResult
.
getSuccess
());
result
.
setCode
(
iclearCheckResponseResult
.
getCode
());
result
.
setMsg
(
iclearCheckResponseResult
.
getMessage
());
log
.
info
(
"<<<<<<<< checkMawb start >>>>>>>>>> mawb:"
+
gson
.
toJson
(
basf
Mawb
)
+
" result :"
+
result
.
getSuccess
()
+
" iclear check response : "
+
json
+
" status : "
+
result
.
getSuccess
());
log
.
info
(
"<<<<<<<< checkMawb start >>>>>>>>>> mawb:"
+
gson
.
toJson
(
fedex
Mawb
)
+
" result :"
+
result
.
getSuccess
()
+
" iclear check response : "
+
json
+
" status : "
+
result
.
getSuccess
());
}
catch
(
Exception
e
){
log
.
error
(
"checkMawb() error:"
+
e
.
getMessage
());
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/IClearApiHsCodeLogService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.Basfc
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.entity.IClearApiHsCodeLog
;
import
com.erry.iclear.dateInterface.entity.IClearApiLog
;
import
com.erry.iclear.dateInterface.repository.IClearApiHsCodeLogRepository
;
import
com.erry.iclear.dateInterface.repository.IClearApiLogRepository
;
import
com.erry.iclear.dateInterface.util.DateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
*
* hscode请求日志
...
...
src/main/java/com/erry/iclear/dateInterface/service/IClearApiLogService.java
View file @
f41c7b9
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.
Basf
c
;
import
com.erry.iclear.dateInterface.api.request.
Fedex
c
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.entity.IClearApiLog
;
...
...
@@ -63,7 +63,7 @@ public class IClearApiLogService {
* 创建日志
* @return
*/
public
IClearApiLog
convertToIClearApiLogC
(
Basfc
basf
c
,
String
appId
,
String
appKey
,
Date
pushTime
){
public
IClearApiLog
convertToIClearApiLogC
(
Fedexc
fedex
c
,
String
appId
,
String
appKey
,
Date
pushTime
){
IClearApiLog
result
=
new
IClearApiLog
();
try
{
result
.
setMsgType
(
Constant
.
MSG_TYPE_C
);
...
...
@@ -75,7 +75,7 @@ public class IClearApiLogService {
result
.
setResponseTime
(
null
);
result
.
setSpendTime
(
null
);
result
.
setSendTimes
(
1
);
result
.
setBillNo
(
basf
c
.
getConsignmentCode
());
result
.
setBillNo
(
fedex
c
.
getConsignmentCode
());
//result.setContrNo(mawb.getContrNo());
}
catch
(
Exception
e
){
log
.
error
(
"convertToIClearApiLog() error:"
+
e
.
getMessage
());
...
...
@@ -87,7 +87,7 @@ public class IClearApiLogService {
* BASF请求申报/回执数据-添加日志 2021年11月3日 xjq
* @return
*/
public
IClearApiLog
convertToIClearApiLogCselect
(
String
basf
c
,
String
appId
,
String
appKey
,
Date
pushTime
){
public
IClearApiLog
convertToIClearApiLogCselect
(
String
fedex
c
,
String
appId
,
String
appKey
,
Date
pushTime
){
IClearApiLog
result
=
new
IClearApiLog
();
try
{
result
.
setMsgType
(
Constant
.
MSG_TYPE_C
);
...
...
@@ -99,7 +99,7 @@ public class IClearApiLogService {
result
.
setResponseTime
(
null
);
result
.
setSpendTime
(
null
);
result
.
setSendTimes
(
1
);
result
.
setBillNo
(
basf
c
);
result
.
setBillNo
(
fedex
c
);
}
catch
(
Exception
e
){
log
.
error
(
"convertToIClearApiLog() error:"
+
e
.
getMessage
());
}
...
...
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
View file @
f41c7b9
...
...
@@ -3,25 +3,19 @@ package com.erry.iclear.dateInterface.service;
import
com.arronlong.httpclientutil.HttpClientUtil
;
import
com.arronlong.httpclientutil.common.HttpConfig
;
import
com.arronlong.httpclientutil.common.HttpHeader
;
import
com.erry.iclear.dateInterface.api.request.Basfc
;
import
com.erry.iclear.dateInterface.api.request.BasfcDetail
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.api.request.MawbDetail
;
import
com.erry.iclear.dateInterface.api.response.IClearCheckResponseResult
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.entity.ChmConsignment
;
import
com.erry.iclear.dateInterface.entity.ChmConsignmentDetail
;
import
com.erry.iclear.dateInterface.repository.MawbAdd
;
import
com.erry.iclear.dateInterface.repository.MawbRepository
;
import
com.erry.iclear.dateInterface.util.JsonToJava
;
import
com.erry.iclear.dateInterface.util.NumberUtils
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.Header
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
import
java.util.*
;
...
...
src/test/java/com/erry/iclear/dateInterface/ApiTest.java
View file @
f41c7b9
...
...
@@ -16,11 +16,11 @@ public class ApiTest {
//D类申报的数据落地接口
public
static
String
sendMawb
=
"/customs/sendMawb"
;
//C类申报的数据落地接口
public
static
String
sendMawbBasf
=
"/
basf
/sendMawbBasf"
;
public
static
String
sendMawbBasf
=
"/
fedex
/sendMawbBasf"
;
//C类EDI数据接口
public
static
String
selectDecListBasf
=
"/
basf
/selectDecListBasf"
;
public
static
String
selectDecListBasf
=
"/
fedex
/selectDecListBasf"
;
//C类回执数据接口
public
static
String
selectChmListBasf
=
"
basf
/selectChmListBasf"
;
public
static
String
selectChmListBasf
=
"
fedex
/selectChmListBasf"
;
//获取HSCODE接口地址
public
static
String
hscodeRequest
=
"hscode/hscodeRequest"
;
...
...
src/test/java/com/erry/iclear/dateInterface/ChmConsignmentServiceTest.java
View file @
f41c7b9
...
...
@@ -3,7 +3,7 @@ package com.erry.iclear.dateInterface;
import
com.erry.iclear.dateInterface.api.CustomsDataInterface
;
import
com.erry.iclear.dateInterface.api.request.*
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.service.
Basf
Service
;
import
com.erry.iclear.dateInterface.service.
Fedex
Service
;
import
com.erry.iclear.dateInterface.service.ChmConsignmentService
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -23,7 +23,7 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
private
CustomsDataInterface
customsDataInterface
;
@Autowired
private
BasfService
basf
Service
;
private
FedexService
fedex
Service
;
/*@Test
...
...
@@ -42,12 +42,12 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
public
void
testProcessChmConsignment1
(){
try
{
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
""
,
""
);
Basfc
basfc
=
this
.
createNewBasf
();
BasfMawb
mawb
=
basfService
.
saveMawbBasf
(
basf
c
);
//Basfc
basf
c = this.createNewBasf();
Fedexc
fedexc
=
this
.
createNewFedex
();
FedexMawb
mawb
=
fedexService
.
saveMawbFedex
(
fedex
c
);
//Basfc
fedex
c = this.createNewBasf();
String
timeStamp
=
String
.
valueOf
(
new
Date
().
getTime
());
ResultRS
resultRS
=
chmConsignmentService
.
processChmConsignment
Basf
(
mawb
,
timeStamp
,
"BASF"
);
/*result=
basf
Service.checkBasfMawb(mawb);
ResultRS
resultRS
=
chmConsignmentService
.
processChmConsignment
Fedex
(
mawb
,
timeStamp
,
"BASF"
);
/*result=
fedex
Service.checkBasfMawb(mawb);
if(!result.getSuccess()){
System.out.println(result.getMsg());
}*/
...
...
@@ -58,37 +58,37 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
System
.
out
.
println
(
"1"
);
}
private
Basfc
createNewBasf
(){
List
<
BasfcDetail
>
basf
cDetailList
=
new
ArrayList
<>();
BasfcDetail
basfcDetail
=
new
Basfc
Detail
();
basf
cDetail
.
setConsignmentDetailId
(
222L
);
basf
cDetail
.
setSkuCode
(
"29262000"
);
basf
cDetail
.
setSkuName
(
"210908001测试"
);
basf
cDetail
.
setModel
(
"0|0|1|1||||||||"
);
basf
cDetail
.
setUnitLegalFirst
(
"035"
);
basf
cDetail
.
setQtyLegalFirst
(
BigDecimal
.
valueOf
(
1
));
basf
cDetail
.
setKnockdownUnit
(
"035"
);
basf
cDetail
.
setKnockdownNumber
(
BigDecimal
.
valueOf
(
1
));
basf
cDetail
.
setUnitLegalSecond
(
"007"
);
basf
cDetail
.
setQtyLegalSecond
(
BigDecimal
.
valueOf
(
1
));
basf
cDetail
.
setDeclaredAmount
(
BigDecimal
.
valueOf
(
1
));
basf
cDetail
.
setCurrency
(
"USD"
);
basf
cDetail
.
setDeclaredWeight
(
BigDecimal
.
valueOf
(
1
));
basfcDetailList
.
add
(
basf
cDetail
);
Basfc
basfc
=
new
Basf
c
();
basf
c
.
setConsignmentCode
(
"210908002"
);
basf
c
.
setConsignmentId
(
1L
);
basf
c
.
setConsType
(
"C"
);
basf
c
.
setSender
(
"天津知行博创科技有限公司"
);
basf
c
.
setShipperCustomsCode
(
"11119608L9"
);
basf
c
.
setShipperSCC
(
"123456789012345678"
);
basf
c
.
setOperateUnitName
(
"天津丰铭佳业科贸有限公司"
);
basf
c
.
setOperateUnitCode
(
""
);
basf
c
.
setOperateSCC
(
""
);
//
basf
c.setEANNo("");
//
basfc.setBasfcDetailList(basf
cDetailList);
return
basf
c
;
private
Fedexc
createNewFedex
(){
List
<
FedexDetail
>
fedex
cDetailList
=
new
ArrayList
<>();
FedexDetail
fedexcDetail
=
new
Fedex
Detail
();
fedex
cDetail
.
setConsignmentDetailId
(
222L
);
fedex
cDetail
.
setSkuCode
(
"29262000"
);
fedex
cDetail
.
setSkuName
(
"210908001测试"
);
fedex
cDetail
.
setModel
(
"0|0|1|1||||||||"
);
fedex
cDetail
.
setUnitLegalFirst
(
"035"
);
fedex
cDetail
.
setQtyLegalFirst
(
BigDecimal
.
valueOf
(
1
));
fedex
cDetail
.
setKnockdownUnit
(
"035"
);
fedex
cDetail
.
setKnockdownNumber
(
BigDecimal
.
valueOf
(
1
));
fedex
cDetail
.
setUnitLegalSecond
(
"007"
);
fedex
cDetail
.
setQtyLegalSecond
(
BigDecimal
.
valueOf
(
1
));
fedex
cDetail
.
setDeclaredAmount
(
BigDecimal
.
valueOf
(
1
));
fedex
cDetail
.
setCurrency
(
"USD"
);
fedex
cDetail
.
setDeclaredWeight
(
BigDecimal
.
valueOf
(
1
));
fedexcDetailList
.
add
(
fedex
cDetail
);
Fedexc
fedexc
=
new
Fedex
c
();
fedex
c
.
setConsignmentCode
(
"210908002"
);
fedex
c
.
setConsignmentId
(
1L
);
fedex
c
.
setConsType
(
"C"
);
fedex
c
.
setSender
(
"天津知行博创科技有限公司"
);
fedex
c
.
setShipperCustomsCode
(
"11119608L9"
);
fedex
c
.
setShipperSCC
(
"123456789012345678"
);
fedex
c
.
setOperateUnitName
(
"天津丰铭佳业科贸有限公司"
);
fedex
c
.
setOperateUnitCode
(
""
);
fedex
c
.
setOperateSCC
(
""
);
//
fedex
c.setEANNo("");
//
fedexc.setBasfcDetailList(fedex
cDetailList);
return
fedex
c
;
}
private
Mawb
createNewMawb
(){
...
...
src/test/java/com/erry/iclear/dateInterface/Select
DecListBasf
.java
→
src/test/java/com/erry/iclear/dateInterface/Select
ChmListFedex
.java
View file @
f41c7b9
...
...
@@ -8,17 +8,15 @@ import com.arronlong.httpclientutil.common.SSLs;
import
com.erry.iclear.dateInterface.util.SHA256Util
;
import
org.apache.http.Header
;
import
java.util.Date
;
/**
* C类EDI数据接口
* fedex
* 2022年4月14日17:55:55
*/
public
class
Select
DecListBasf
{
public
static
String
url
=
"https://
40.73.78.157
:8780"
;
public
class
Select
ChmListFedex
{
public
static
String
url
=
"https://
localhost
:8780"
;
//C类EDI数据接口
public
static
String
path
=
"/
basf/selectDecListBasf
"
;
public
static
String
path
=
"/
fedex/selectChmListFedex
"
;
//时间戳
public
static
String
timeStamp
=
"1649839249891"
;
//APPID
...
...
@@ -39,14 +37,14 @@ public class SelectDecListBasf {
//consignmentCode 运单号需要修改
String
json
=
"{\"consignmentCode\":\"289050515424\"}"
;
String
token
=
SHA256Util
.
getSHA256String
(
Select
DecListBasf
.
appId
+
SelectDecListBasf
.
appKey
+
SelectDecListBasf
.
security
+
SelectDecListBasf
.
timeStamp
);
String
token
=
SHA256Util
.
getSHA256String
(
Select
ChmListFedex
.
appId
+
SelectChmListFedex
.
appKey
+
SelectChmListFedex
.
security
+
SelectChmListFedex
.
timeStamp
);
System
.
out
.
println
(
token
);
//消息头
Header
[]
headers
=
HttpHeader
.
custom
()
.
other
(
"Content-Type"
,
"application/json"
)
.
other
(
"Appid"
,
Select
DecListBasf
.
appId
)
.
other
(
"appKey"
,
Select
DecListBasf
.
appKey
)
.
other
(
"TimeStamp"
,
Select
DecListBasf
.
timeStamp
)
.
other
(
"Appid"
,
Select
ChmListFedex
.
appId
)
.
other
(
"appKey"
,
Select
ChmListFedex
.
appKey
)
.
other
(
"TimeStamp"
,
Select
ChmListFedex
.
timeStamp
)
.
other
(
"token"
,
token
)
.
build
();
//客户端配置
...
...
@@ -57,7 +55,7 @@ public class SelectDecListBasf {
.
ssl
()
.
retry
(
3
);
//URL
String
url
=
Select
DecListBasf
.
url
+
SelectDecListBasf
.
path
;
String
url
=
Select
ChmListFedex
.
url
+
SelectChmListFedex
.
path
;
//HTTP请求
HttpConfig
config
=
HttpConfig
.
custom
()
.
headers
(
headers
)
...
...
src/test/java/com/erry/iclear/dateInterface/Select
ChmListBasf
.java
→
src/test/java/com/erry/iclear/dateInterface/Select
DecListFedex
.java
View file @
f41c7b9
...
...
@@ -13,10 +13,10 @@ import org.apache.http.Header;
* fedex
* 2022年4月14日17:55:55
*/
public
class
Select
ChmListBasf
{
public
class
Select
DecListFedex
{
public
static
String
url
=
"https://40.73.78.157:8780"
;
//C类EDI数据接口
public
static
String
path
=
"/
basf/selectChmListBasf
"
;
public
static
String
path
=
"/
fedex/selectDecListFedex
"
;
//时间戳
public
static
String
timeStamp
=
"1649839249891"
;
//APPID
...
...
@@ -37,14 +37,14 @@ public class SelectChmListBasf {
//consignmentCode 运单号需要修改
String
json
=
"{\"consignmentCode\":\"289050515424\"}"
;
String
token
=
SHA256Util
.
getSHA256String
(
Select
ChmListBasf
.
appId
+
SelectChmListBasf
.
appKey
+
SelectChmListBasf
.
security
+
SelectChmListBasf
.
timeStamp
);
String
token
=
SHA256Util
.
getSHA256String
(
Select
DecListFedex
.
appId
+
SelectDecListFedex
.
appKey
+
SelectDecListFedex
.
security
+
SelectDecListFedex
.
timeStamp
);
System
.
out
.
println
(
token
);
//消息头
Header
[]
headers
=
HttpHeader
.
custom
()
.
other
(
"Content-Type"
,
"application/json"
)
.
other
(
"Appid"
,
Select
ChmListBasf
.
appId
)
.
other
(
"appKey"
,
Select
ChmListBasf
.
appKey
)
.
other
(
"TimeStamp"
,
Select
ChmListBasf
.
timeStamp
)
.
other
(
"Appid"
,
Select
DecListFedex
.
appId
)
.
other
(
"appKey"
,
Select
DecListFedex
.
appKey
)
.
other
(
"TimeStamp"
,
Select
DecListFedex
.
timeStamp
)
.
other
(
"token"
,
token
)
.
build
();
//客户端配置
...
...
@@ -55,7 +55,7 @@ public class SelectChmListBasf {
.
ssl
()
.
retry
(
3
);
//URL
String
url
=
Select
ChmListBasf
.
url
+
SelectChmListBasf
.
path
;
String
url
=
Select
DecListFedex
.
url
+
SelectDecListFedex
.
path
;
//HTTP请求
HttpConfig
config
=
HttpConfig
.
custom
()
.
headers
(
headers
)
...
...
src/test/java/com/erry/iclear/dateInterface/SendMawb
Basf
.java
→
src/test/java/com/erry/iclear/dateInterface/SendMawb
Fedex
.java
View file @
f41c7b9
...
...
@@ -8,17 +8,15 @@ import com.arronlong.httpclientutil.common.SSLs;
import
com.erry.iclear.dateInterface.util.SHA256Util
;
import
org.apache.http.Header
;
import
java.util.Date
;
/**
* C类申报数据落地接口
* fedex
* 2022年4月14日17:55:55
*/
public
class
SendMawb
Basf
{
public
class
SendMawb
Fedex
{
public
static
String
url
=
"https://40.73.78.157:8780"
;
//C类申报数据落地接口
public
static
String
path
=
"/
basf/sendMawbBasf
"
;
public
static
String
path
=
"/
fedex/sendMawbFedex
"
;
//时间戳
public
static
String
timeStamp
=
"1649839249891"
;
//APPID
...
...
@@ -39,14 +37,14 @@ public class SendMawbBasf {
//申报数据:consignmentCode 运单号需要修改
String
json
=
"{\"consignmentCode\":\"271002102051\",\"consignmentId\":164535620,\"consType\":\"C\",\"sender\":\"巴斯夫护理化学品(上海)有限公司\",\"shipperCustomsCode\":\"3119920047\",\"shipperSCC\":\"91310000607239894U\",\"operateUnitName\":\"巴斯夫护理化学品(上海)有限公司\",\"operateUnitCode\":\"3119920047\",\"operateSCC\":\"91310000607239894U\",\"consignmentList\":[{\"consignmentDetailId\":83010676,\"skuCode\":\"2917341090\",\"skuName\":\"邻苯二甲酸二丁酯\",\"model\":\"品名:邻苯二甲酸二丁酯 |品牌类型:0|出口享惠情况:0|成分含量:100% 邻苯二甲酸二丁酯|用途:化学分析用试剂,实验用途|GTIN:|CAS:|其他[非必报要素,请根据实际情况填报]:|\",\"knockdownNumber\":1,\"knockdownUnit\":\"035\",\"qtyLegalFirst\":1,\"unitLegalFirst\":\"035\",\"qtyLegalSecond\":\"1.0000\",\"unitLegalSecond\":\"\",\"declaredAmount\":10,\"currency\":\"USD\",\"declaredWeight\":1}]}"
;
String
token
=
SHA256Util
.
getSHA256String
(
SendMawb
Basf
.
appId
+
SendMawbBasf
.
appKey
+
SendMawbBasf
.
security
+
SendMawbBasf
.
timeStamp
);
String
token
=
SHA256Util
.
getSHA256String
(
SendMawb
Fedex
.
appId
+
SendMawbFedex
.
appKey
+
SendMawbFedex
.
security
+
SendMawbFedex
.
timeStamp
);
System
.
out
.
println
(
token
);
//消息头
Header
[]
headers
=
HttpHeader
.
custom
()
.
other
(
"Content-Type"
,
"application/json"
)
.
other
(
"Appid"
,
SendMawb
Basf
.
appId
)
.
other
(
"appKey"
,
SendMawb
Basf
.
appKey
)
.
other
(
"TimeStamp"
,
SendMawb
Basf
.
timeStamp
)
.
other
(
"Appid"
,
SendMawb
Fedex
.
appId
)
.
other
(
"appKey"
,
SendMawb
Fedex
.
appKey
)
.
other
(
"TimeStamp"
,
SendMawb
Fedex
.
timeStamp
)
.
other
(
"token"
,
token
)
.
build
();
//客户端配置
...
...
@@ -57,7 +55,7 @@ public class SendMawbBasf {
.
ssl
()
.
retry
(
3
);
//URL
String
url
=
SendMawb
Basf
.
url
+
SendMawbBasf
.
path
;
String
url
=
SendMawb
Fedex
.
url
+
SendMawbFedex
.
path
;
//HTTP请求
HttpConfig
config
=
HttpConfig
.
custom
()
.
headers
(
headers
)
...
...
Please
register
or
login
to post a comment