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
2021-09-15 10:44:17 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2e22f4f4fbbb3daf7177222ebc955a505f2b79c1
2e22f4f4
1 parent
b49717cd
BASF接口
mt 2021年9月15日10:44:06
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
219 additions
and
149 deletions
src/main/java/com/erry/iclear/dateInterface/api/BasfDataInterface.java
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
src/main/java/com/erry/iclear/dateInterface/api/request/BasfMawb.java
src/main/java/com/erry/iclear/dateInterface/repository/BasfMawbRepository.java
src/main/java/com/erry/iclear/dateInterface/service/BasfService.java
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
src/main/java/com/erry/iclear/dateInterface/api/BasfDataInterface.java
0 → 100644
View file @
2e22f4f
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.entity.IClearApiLog
;
import
com.erry.iclear.dateInterface.service.BasfService
;
import
com.erry.iclear.dateInterface.service.IClearApiLogService
;
import
com.erry.iclear.dateInterface.service.MawbService
;
import
com.google.gson.Gson
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StopWatch
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Date
;
import
java.util.Objects
;
@RestController
@RequestMapping
(
"/basf"
)
@Slf4j
public
class
BasfDataInterface
{
private
Gson
gson
=
new
Gson
();
@Autowired
private
BasfService
basfService
;
@Autowired
private
IClearApiLogService
iClearApiLogService
;
@ApiOperation
(
value
=
"BASF推送运单数据"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/customs/sendMawbBasf"
)
@PostMapping
(
"/sendMawbBasf"
)
@ResponseBody
public
ResultRS
sendMawbBasf
(
HttpServletRequest
request
,
@Validated
@RequestBody
Basfc
basfc
)
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
basfc
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
basfc
));
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
""
,
""
);
if
(
Objects
.
equals
(
basfc
,
null
)){
result
.
setCode
(
"-7"
);
result
.
setMsg
(
"请求信息不能为空"
);
return
result
;
}
//1、保存请求信息,保存到iClear的 SQLServer
StopWatch
sw
=
new
StopWatch
(
"receice mawbBasf"
);
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
(
basfc
,
appId
,
appKey
,
new
Date
(
Long
.
valueOf
(
timeStamp
))));
basfc
.
setAppId
(
appId
);
Mawb
saveMawbBasfResult
=
null
;
if
(!
Objects
.
equals
(
saveIClearApiLogResult
,
null
)){
log
.
info
(
"请求保存成功,msgId:"
+
saveIClearApiLogResult
.
getMsgId
());
basfc
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
basfc
.
getBasfcDetailList
().
forEach
(
d
->{
d
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
});
saveMawbBasfResult
=
basfService
.
saveMawbBasf
(
basfc
);
if
(!
Objects
.
equals
(
saveMawbBasfResult
,
null
)){
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存成功,msgId:"
+
saveMawbBasfResult
.
getMsgId
());
}
else
{
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存失败,msgId:"
+
saveMawbBasfResult
.
getMsgId
());
}
}
else
{
log
.
info
(
"请求日志保存失败,consignmentCode:"
+
basfc
.
getConsignmentCode
());
}
sw
.
stop
();
//2、TODO 校验主单
/* sw.start("checkMawb");
result=mawbService.checkMawb(mawb);
if(!result.getSuccess()){
return result;
}
sw.stop();*/
// //3、TODO 校验子单
// sw.start("checkMawbDetail");
// result=mawbDetailServicel.checkMawbDetail(mawb);
// if(!result.getSuccess()){
// return result;
// }
// sw.stop();
//4、保存运单到iclear中
sw
.
start
(
"processChmConsignment"
);
result
=
chmConsignmentService
.
processChmConsignment
(
saveMawbBasfResult
,
timeStamp
,
appId
);
if
(!
result
.
getSuccess
()){
return
result
;
}
sw
.
stop
();
//5、更新日志
sw
.
start
(
"updateIClearApiLog"
);
if
(!
Objects
.
equals
(
saveIClearApiLogResult
,
null
)){
saveIClearApiLogResult
.
setReceiveResult
(
result
.
getSuccess
().
toString
());
saveIClearApiLogResult
.
setErrorCode
(
result
.
getCode
());
saveIClearApiLogResult
.
setResponseTime
(
new
Date
());
saveIClearApiLogResult
.
setSpendTime
(
sw
.
getTotalTimeMillis
());
iClearApiLogService
.
updateIClearApiLog
(
saveIClearApiLogResult
);
}
log
.
info
(
"请求数据consignmentCode:"
+
basfc
.
getConsignmentCode
()
+
" 接收结束"
);
sw
.
stop
();
log
.
info
(
sw
.
prettyPrint
());
//6、return result
result
.
setSuccess
(
Boolean
.
TRUE
);
result
.
setCode
(
"0"
);
return
result
;
}
}
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
View file @
2e22f4f
...
...
@@ -135,95 +135,6 @@ public class CustomsDataInterface {
result
.
setCode
(
"0"
);
return
result
;
}
@ApiOperation
(
value
=
"BASF推送运单数据"
,
httpMethod
=
"POST"
,
notes
=
"ex: http://192.168.1.75:8080/customs/sendMawbBasf"
)
@PostMapping
(
"/sendMawbBasf"
)
@ResponseBody
public
ResultRS
sendMawbBasf
(
HttpServletRequest
request
,
@Validated
@RequestBody
Basfc
basfc
)
{
log
.
info
(
"接收到请求数据consignmentCode:"
+
basfc
.
getConsignmentCode
()+
" data:"
+
gson
.
toJson
(
basfc
));
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
""
,
""
);
if
(
Objects
.
equals
(
basfc
,
null
)){
result
.
setCode
(
"-7"
);
result
.
setMsg
(
"请求信息不能为空"
);
return
result
;
}
//1、保存请求信息,保存到iClear的 SQLServer
StopWatch
sw
=
new
StopWatch
(
"receice mawbBasf"
);
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
(
basfc
,
appId
,
appKey
,
new
Date
(
Long
.
valueOf
(
timeStamp
))));
basfc
.
setAppId
(
appId
);
Mawb
saveMawbBasfResult
=
null
;
if
(!
Objects
.
equals
(
saveIClearApiLogResult
,
null
)){
log
.
info
(
"请求保存成功,msgId:"
+
saveIClearApiLogResult
.
getMsgId
());
basfc
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
basfc
.
getBasfcDetailList
().
forEach
(
d
->{
d
.
setMsgId
(
saveIClearApiLogResult
.
getMsgId
());
});
saveMawbBasfResult
=
mawbService
.
saveMawbBasf
(
basfc
);
if
(!
Objects
.
equals
(
saveMawbBasfResult
,
null
)){
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存成功,msgId:"
+
saveMawbBasfResult
.
getMsgId
());
}
else
{
log
.
info
(
"请求数据运单号"
+
basfc
.
getConsignmentCode
()+
"保存失败,msgId:"
+
saveMawbBasfResult
.
getMsgId
());
}
}
else
{
log
.
info
(
"请求日志保存失败,consignmentCode:"
+
basfc
.
getConsignmentCode
());
}
sw
.
stop
();
//2、TODO 校验主单
/* sw.start("checkMawb");
result=mawbService.checkMawb(mawb);
if(!result.getSuccess()){
return result;
}
sw.stop();*/
// //3、TODO 校验子单
// sw.start("checkMawbDetail");
// result=mawbDetailServicel.checkMawbDetail(mawb);
// if(!result.getSuccess()){
// return result;
// }
// sw.stop();
//4、保存运单到iclear中
sw
.
start
(
"processChmConsignment"
);
result
=
chmConsignmentService
.
processChmConsignment
(
saveMawbBasfResult
,
timeStamp
,
appId
);
if
(!
result
.
getSuccess
()){
return
result
;
}
sw
.
stop
();
//5、更新日志
sw
.
start
(
"updateIClearApiLog"
);
if
(!
Objects
.
equals
(
saveIClearApiLogResult
,
null
)){
saveIClearApiLogResult
.
setReceiveResult
(
result
.
getSuccess
().
toString
());
saveIClearApiLogResult
.
setErrorCode
(
result
.
getCode
());
saveIClearApiLogResult
.
setResponseTime
(
new
Date
());
saveIClearApiLogResult
.
setSpendTime
(
sw
.
getTotalTimeMillis
());
iClearApiLogService
.
updateIClearApiLog
(
saveIClearApiLogResult
);
}
log
.
info
(
"请求数据consignmentCode:"
+
basfc
.
getConsignmentCode
()
+
" 接收结束"
);
sw
.
stop
();
log
.
info
(
sw
.
prettyPrint
());
//6、return result
result
.
setSuccess
(
Boolean
.
TRUE
);
result
.
setCode
(
"0"
);
return
result
;
}
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/request/BasfMawb.java
0 → 100644
View file @
2e22f4f
This diff is collapsed. Click to expand it.
src/main/java/com/erry/iclear/dateInterface/repository/BasfMawbRepository.java
0 → 100644
View file @
2e22f4f
package
com
.
erry
.
iclear
.
dateInterface
.
repository
;
import
com.erry.iclear.dateInterface.api.request.BasfMawb
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* @author Administrator
*/
@Repository
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
interface
BasfMawbRepository
extends
JpaRepository
<
BasfMawb
,
Integer
>,
JpaSpecificationExecutor
<
BasfMawb
>
{
}
src/main/java/com/erry/iclear/dateInterface/service/BasfService.java
0 → 100644
View file @
2e22f4f
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.api.request.*
;
import
com.erry.iclear.dateInterface.repository.BasfMawbRepository
;
import
com.erry.iclear.dateInterface.util.NumberUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author Administrator
*/
@Service
@Slf4j
public
class
BasfService
{
@Autowired
private
BasfMawbRepository
basfMawbRepository
;
/**
* 保存主单Request --basfc
* @param basfc
*/
public
Mawb
saveMawbBasf
(
Basfc
basfc
){
Mawb
result
=
null
;
try
{
log
.
info
(
"saveMawb start>>>>>>>>>>>"
);
//运单头部信息
BasfMawb
mawb
=
new
BasfMawb
();
mawb
.
setAppId
(
basfc
.
getAppId
());
mawb
.
setMsgId
(
basfc
.
getMsgId
());
mawb
.
setConsignmentCodeId
(
basfc
.
getConsignmentId
());
mawb
.
setType
(
basfc
.
getConsType
());
//TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
//运单号-->提单号
mawb
.
setBillNo
(
basfc
.
getConsignmentCode
());
//经营单位 --> 消费使用/生产销售单位名称
mawb
.
setOwnerName
(
basfc
.
getOperateUnitName
());
//经营单位海关编码 --> 消费使用/生产销售单位代码
mawb
.
setOwnerCode
(
basfc
.
getOperateUnitCode
());
//经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
mawb
.
setOwnerCodeScc
(
basfc
.
getOperateSCC
());
//发件人 --> 境内收发货人名称
mawb
.
setTradeName
(
basfc
.
getSender
());
//发件人海关编码 --> 境内收发货人编号
mawb
.
setTradeCode
(
basfc
.
getShipperCustomsCode
());
//发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
mawb
.
setTradeCodeScc
(
basfc
.
getShipperSCC
());
mawb
.
setEANNo
(
basfc
.
getEANNo
());
//明细
List
<
MawbDetail
>
mawbDetailList
=
new
ArrayList
<>();
if
(
basfc
.
getBasfcDetailList
().
size
()>
0
){
for
(
BasfcDetail
basfcDetail
:
basfc
.
getBasfcDetailList
()){
MawbDetail
mawbDetail
=
new
MawbDetail
();
mawbDetail
.
setDetailId
(
basfcDetail
.
getConsignmentDetailId
());
mawbDetail
.
setGmodel
(
basfcDetail
.
getModel
());
mawbDetail
.
setCodeTS
(
basfcDetail
.
getSkuCode
());
mawbDetail
.
setGname
(
basfcDetail
.
getSkuName
());
mawbDetail
.
setGqty
(
basfcDetail
.
getKnockdownNumber
());
mawbDetail
.
setGunit
(
basfcDetail
.
getKnockdownUnit
());
mawbDetail
.
setFirstUnit
(
basfcDetail
.
getUnitLegalFirst
());
mawbDetail
.
setFirstQty
(
NumberUtils
.
bigDecimalToIntger
(
basfcDetail
.
getQtyLegalFirst
()));
mawbDetail
.
setSecondQty
(
NumberUtils
.
bigDecimalToIntger
(
basfcDetail
.
getQtyLegalSecond
()));
mawbDetail
.
setSecondUnit
(
basfcDetail
.
getUnitLegalSecond
());
mawbDetail
.
setDeclTotal
(
basfcDetail
.
getDeclaredAmount
());
mawbDetail
.
setTradeCurr
(
basfcDetail
.
getCurrency
());
mawbDetail
.
setDeclaredWeight
(
basfcDetail
.
getDeclaredWeight
());
mawbDetailList
.
add
(
mawbDetail
);
}
}
mawb
.
setMawbDetailList
(
mawbDetailList
);
result
=
basfMawbRepository
.
save
(
mawb
);
log
.
info
(
"saveMawb end>>>>>>>>>>>"
);
}
catch
(
Exception
e
){
log
.
error
(
"saveMawb() error:"
+
e
.
getMessage
());
}
return
result
;
}
}
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
View file @
2e22f4f
...
...
@@ -66,66 +66,6 @@ public class MawbService {
/**
* 保存主单Request --basfc
* @param basfc
*/
public
Mawb
saveMawbBasf
(
Basfc
basfc
){
Mawb
result
=
null
;
try
{
log
.
info
(
"saveMawb start>>>>>>>>>>>"
);
//运单头部信息
Mawb
mawb
=
new
Mawb
();
mawb
.
setAppId
(
basfc
.
getAppId
());
mawb
.
setMsgId
(
basfc
.
getMsgId
());
mawb
.
setConsignmentCodeId
(
basfc
.
getConsignmentId
());
mawb
.
setType
(
basfc
.
getConsType
());
//TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
//运单号-->提单号
mawb
.
setBillNo
(
basfc
.
getConsignmentCode
());
//经营单位 --> 消费使用/生产销售单位名称
mawb
.
setOwnerName
(
basfc
.
getOperateUnitName
());
//经营单位海关编码 --> 消费使用/生产销售单位代码
mawb
.
setOwnerCode
(
basfc
.
getOperateUnitCode
());
//经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
mawb
.
setOwnerCodeScc
(
basfc
.
getOperateSCC
());
//发件人 --> 境内收发货人名称
mawb
.
setTradeName
(
basfc
.
getSender
());
//发件人海关编码 --> 境内收发货人编号
mawb
.
setTradeCode
(
basfc
.
getShipperCustomsCode
());
//发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
mawb
.
setTradeCodeScc
(
basfc
.
getShipperSCC
());
mawb
.
setEANNo
(
basfc
.
getEANNo
());
//明细
List
<
MawbDetail
>
mawbDetailList
=
new
ArrayList
<>();
if
(
basfc
.
getBasfcDetailList
().
size
()>
0
){
for
(
BasfcDetail
basfcDetail
:
basfc
.
getBasfcDetailList
()){
MawbDetail
mawbDetail
=
new
MawbDetail
();
mawbDetail
.
setDetailId
(
basfcDetail
.
getConsignmentDetailId
());
mawbDetail
.
setGmodel
(
basfcDetail
.
getModel
());
mawbDetail
.
setCodeTS
(
basfcDetail
.
getSkuCode
());
mawbDetail
.
setGname
(
basfcDetail
.
getSkuName
());
mawbDetail
.
setGqty
(
basfcDetail
.
getKnockdownNumber
());
mawbDetail
.
setGunit
(
basfcDetail
.
getKnockdownUnit
());
mawbDetail
.
setFirstUnit
(
basfcDetail
.
getUnitLegalFirst
());
mawbDetail
.
setFirstQty
(
NumberUtils
.
bigDecimalToIntger
(
basfcDetail
.
getQtyLegalFirst
()));
mawbDetail
.
setSecondQty
(
NumberUtils
.
bigDecimalToIntger
(
basfcDetail
.
getQtyLegalSecond
()));
mawbDetail
.
setSecondUnit
(
basfcDetail
.
getUnitLegalSecond
());
mawbDetail
.
setDeclTotal
(
basfcDetail
.
getDeclaredAmount
());
mawbDetail
.
setTradeCurr
(
basfcDetail
.
getCurrency
());
mawbDetail
.
setDeclaredWeight
(
basfcDetail
.
getDeclaredWeight
());
mawbDetailList
.
add
(
mawbDetail
);
}
}
mawb
.
setMawbDetailList
(
mawbDetailList
);
result
=
mawbRepository
.
save
(
mawb
);
log
.
info
(
"saveMawb end>>>>>>>>>>>"
);
}
catch
(
Exception
e
){
log
.
error
(
"saveMawb() error:"
+
e
.
getMessage
());
}
return
result
;
}
/**
* 校验主单
* @param mawb
* @return
...
...
Please
register
or
login
to post a comment