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
Jun.li
2023-07-20 15:45:09 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
01423e3d0aa8057d663360241268ec6d8301644a
01423e3d
2 parents
47bfea74
b4be34e7
Merge branch 'CY23-PI01-接口CN5000-01' into API-2023-07-30
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
80 additions
and
1 deletions
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
src/main/java/com/erry/iclear/dateInterface/enums/ErrorCodeEnum.java
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentService.java
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
View file @
01423e3
package
com
.
erry
.
iclear
.
dateInterface
.
api
;
import
com.erry.iclear.dateInterface.api.request.MawbDetail
;
import
com.erry.iclear.dateInterface.enums.ErrorCodeEnum
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
...
...
@@ -115,6 +116,13 @@ public class CustomsDataInterface {
if
(!
result
.
getSuccess
()){
return
result
;
}
//校验单据币制
result
=
mawbService
.
checkCurrency
(
mawb
);
if
(!
result
.
getSuccess
()){
return
result
;
}
sw
.
stop
();
// //3、TODO 校验子单
...
...
src/main/java/com/erry/iclear/dateInterface/enums/ErrorCodeEnum.java
View file @
01423e3
...
...
@@ -27,7 +27,8 @@ public enum ErrorCodeEnum {
ERROR_30102
(
"30102"
,
"hscode编码字段长度超过2000字符"
),
ERROR_30103
(
"30103"
,
"skuCode与skuName必须传递一项"
),
ERROR_30104
(
"30104"
,
"skuCode或skuName长度超出限制"
),
ERROR_30105
(
"30105"
,
"skuCode编码最少输入4位字符,skuName最少输入2个字符"
);
ERROR_30105
(
"30105"
,
"skuCode编码最少输入4位字符,skuName最少输入2个字符"
),
ERROR_30106
(
"30106"
,
"此申报{columnName}币制不在海关要求的范围内 请修改!"
);
ErrorCodeEnum
(
String
code
,
String
name
){
...
...
src/main/java/com/erry/iclear/dateInterface/service/ChmConsignmentService.java
View file @
01423e3
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
//import cn.hutool.core.date.DateUtil;
import
com.erry.iclear.dateInterface.api.request.MawbDetail
;
import
com.erry.iclear.dateInterface.enums.ErrorCodeEnum
;
import
com.erry.iclear.dateInterface.api.request.FedexMawb
;
import
com.erry.iclear.dateInterface.api.request.FedexReceipt
;
...
...
@@ -19,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
javax.transaction.Transactional
;
import
javax.validation.Valid
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
...
...
src/main/java/com/erry/iclear/dateInterface/service/MawbService.java
View file @
01423e3
package
com
.
erry
.
iclear
.
dateInterface
.
service
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.entity.DictionaryEntries
;
import
com.erry.iclear.dateInterface.enums.ErrorCodeEnum
;
import
com.erry.iclear.dateInterface.api.request.Mawb
;
import
com.erry.iclear.dateInterface.api.request.MawbDetail
;
...
...
@@ -7,12 +9,14 @@ import com.erry.iclear.dateInterface.api.response.IClearCheckResult;
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.DictionaryEntriesRepository
;
import
com.erry.iclear.dateInterface.repository.MawbRepository
;
import
com.erry.iclear.dateInterface.util.HttpUtils
;
import
com.erry.iclear.dateInterface.util.JsonToJava
;
import
com.erry.iclear.dateInterface.util.StringUtil
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -40,6 +44,9 @@ public class MawbService {
@Autowired
private
ChmConsignmentDetailService
consignmentDetailService
;
@Autowired
private
DictionaryEntriesRepository
dictionaryEntriesRepository
;
/**
* 保存主单Request
* @param mawb
...
...
@@ -165,6 +172,67 @@ public class MawbService {
}
return
""
;
}
/**
* 检查成交币制在系统中是否有效 Constant.CURRENCY_SYSTEM+ mawbDetail.getTradeCurr();
* 成交币制 TradeCurr
* 杂费币制 OtherCurr
* 运费币制 FeeCurr
* 保费币制 InsurCurr
*
*/
public
ResultRS
checkCurrency
(
Mawb
mawb
){
ResultRS
result
=
new
ResultRS
(
Boolean
.
TRUE
,
null
,
null
,
null
);
String
feeCurr
=
mawb
.
getFeeCurr
();
DictionaryEntries
feeCurrDict
=
Constant
.
dictionaryEntriesCache
.
get
(
Constant
.
CURRENCY_SYSTEM
+
feeCurr
);
String
otherCurr
=
mawb
.
getOtherCurr
();
DictionaryEntries
otherCurrDict
=
Constant
.
dictionaryEntriesCache
.
get
(
Constant
.
CURRENCY_SYSTEM
+
otherCurr
);
String
insurCurr
=
mawb
.
getInsurCurr
();
DictionaryEntries
insurCurrDict
=
Constant
.
dictionaryEntriesCache
.
get
(
Constant
.
CURRENCY_SYSTEM
+
insurCurr
);
//运费币制检查
if
(
StringUtils
.
isNotEmpty
(
feeCurr
)
&&
Objects
.
isNull
(
feeCurrDict
)
){
result
.
setSuccess
(
Boolean
.
FALSE
);
result
.
setCode
(
ErrorCodeEnum
.
ERROR_30106
.
getCode
());
result
.
setMsg
(
ErrorCodeEnum
.
ERROR_30106
.
getName
().
replace
(
"{columnName}"
,
"运费"
));
return
result
;
}
//杂费币制检查
if
(
StringUtils
.
isNotEmpty
(
otherCurr
)
&&
Objects
.
isNull
(
otherCurrDict
)
){
result
.
setSuccess
(
Boolean
.
FALSE
);
result
.
setCode
(
ErrorCodeEnum
.
ERROR_30106
.
getCode
());
result
.
setMsg
(
ErrorCodeEnum
.
ERROR_30106
.
getName
().
replace
(
"{columnName}"
,
"杂费"
));
return
result
;
}
//保费币制检查
if
(
StringUtils
.
isNotEmpty
(
insurCurr
)
&&
Objects
.
isNull
(
insurCurrDict
)
){
result
.
setSuccess
(
Boolean
.
FALSE
);
result
.
setCode
(
ErrorCodeEnum
.
ERROR_30106
.
getCode
());
result
.
setMsg
(
ErrorCodeEnum
.
ERROR_30106
.
getName
().
replace
(
"{columnName}"
,
"保费"
));
return
result
;
}
//申报币制检查
List
<
MawbDetail
>
mawbDetailList
=
mawb
.
getMawbDetailList
();
for
(
int
i
=
0
,
maxi
=
mawbDetailList
.
size
();
i
<
maxi
;
i
++)
{
MawbDetail
mawbDetail
=
mawbDetailList
.
get
(
i
);
String
tradeCurr
=
mawbDetail
.
getTradeCurr
();
DictionaryEntries
tradeCurrDict
=
Constant
.
dictionaryEntriesCache
.
get
(
Constant
.
CURRENCY_SYSTEM
+
tradeCurr
);
if
((
StringUtils
.
isNotEmpty
(
tradeCurr
)
&&
Objects
.
isNull
(
tradeCurrDict
))){
result
.
setSuccess
(
Boolean
.
FALSE
);
result
.
setCode
(
ErrorCodeEnum
.
ERROR_30106
.
getCode
());
result
.
setMsg
(
ErrorCodeEnum
.
ERROR_30106
.
getName
().
replace
(
"{columnName}"
,
""
));
break
;
}
}
return
result
;
}
/**
* 校验主单
...
...
Please
register
or
login
to post a comment