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
wei.zhou
2021-06-21 12:30:16 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
51c0012e294e76d43664b6cc646f37c87800e676
51c0012e
1 parent
76baa10b
提交代码
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
204 additions
and
41 deletions
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
src/main/java/com/erry/iclear/dateInterface/api/response/ResultRS.java
src/main/java/com/erry/iclear/dateInterface/config/InterceptorConfig.java
src/main/java/com/erry/iclear/dateInterface/interceptor/SignInterceptor.java
src/test/java/com/erry/iclear/dateInterface/ApiTest.java
src/main/java/com/erry/iclear/dateInterface/api/CustomsDataInterface.java
View file @
51c0012
...
...
@@ -50,8 +50,7 @@ public class CustomsDataInterface {
public
ResultRS
sendMawb
(
HttpServletRequest
request
,
@RequestBody
Mawb
mawb
)
{
log
.
info
(
"接收到请求数据billNo:"
+
mawb
.
getBillNo
()+
" data:"
+
gson
.
toJson
(
mawb
));
ResultRS
result
=
new
ResultRS
();
result
.
setSuccess
(
Boolean
.
FALSE
);
ResultRS
result
=
new
ResultRS
(
Boolean
.
FALSE
,
""
,
""
);
if
(
Objects
.
equals
(
mawb
,
null
)){
result
.
setCode
(
"-7"
);
...
...
@@ -88,9 +87,9 @@ public class CustomsDataInterface {
//1、校验用户名密码
sw
.
start
(
"checkAppSecret"
);
result
=
this
.
checkAppSecret
(
request
,
result
);
sw
.
stop
();
//
sw.start("checkAppSecret");
//
result=this.checkAppSecret(request, result);
//
sw.stop();
//2、TODO 校验主单
...
...
@@ -143,45 +142,33 @@ public class CustomsDataInterface {
* 校验用户
* @param request
* @param result
*/
private ResultRS checkAppSecret(HttpServletRequest request, ResultRS result) {
String appId=(String) request.getHeader("Appid");
String appkey=(String) request.getHeader("Appkey");
String timeStamp=(String) request.getHeader("TimeStamp");
String token= (String) request.getHeader("token");
if(StringUtils.isBlank(appId)){
result.setCode("-1");
result.setMsg("Appid 不能为空");
return result;
}
if(StringUtils.isBlank(appkey)){
result.setCode("-2");
result.setMsg("Appkey 不能为空");
return result;
}
if(StringUtils.isBlank(timeStamp)){
result.setCode("-6");
result.setMsg("TimeStamp 不能为空");
return result;
}
if(StringUtils.isBlank(token)){
result.setCode("-4");
result.setMsg("token 不能为空");
return result;
}
HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
if(secretMap==null){
result.setCode("-100");
...
...
@@ -196,33 +183,16 @@ public class CustomsDataInterface {
return result;
}
String sha256Str = SHA256Util.getSHA256String(appId+appkey+secretInSys+timeStamp);
if(!token.equals(sha256Str)){
result.setCode("-4");
result.setMsg("Token验证失败");
return result;
}
result.setSuccess(true);
return result;
}
/**
* 检查状态是否小于已报关
* @param statusCode
* @return
* true:报关之前
* false:报关之后
*/
private
boolean
compareStatusCode
(
String
statusCode
){
return
false
;
}
}
...
...
src/main/java/com/erry/iclear/dateInterface/api/response/ResultRS.java
View file @
51c0012
package
com
.
erry
.
iclear
.
dateInterface
.
api
.
response
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -8,6 +9,7 @@ import java.io.Serializable;
* @author Administrator
*/
@Data
@AllArgsConstructor
public
class
ResultRS
implements
Serializable
{
//成功标识
...
...
@@ -16,5 +18,7 @@ public class ResultRS implements Serializable {
//错误信息
private
String
msg
;
private
Object
data
;
//Object data;
}
...
...
src/main/java/com/erry/iclear/dateInterface/config/InterceptorConfig.java
0 → 100644
View file @
51c0012
package
com
.
erry
.
iclear
.
dateInterface
.
config
;
import
com.erry.iclear.dateInterface.interceptor.SignInterceptor
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
/**
* @author Administrator
*/
@Configuration
public
class
InterceptorConfig
implements
WebMvcConfigurer
{
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
new
SignInterceptor
()).
addPathPatterns
(
"/**"
);
}
}
src/main/java/com/erry/iclear/dateInterface/interceptor/SignInterceptor.java
0 → 100644
View file @
51c0012
package
com
.
erry
.
iclear
.
dateInterface
.
interceptor
;
import
com.erry.iclear.dateInterface.api.response.ResultRS
;
import
com.erry.iclear.dateInterface.common.Constant
;
import
com.erry.iclear.dateInterface.util.SHA256Util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.util.HashMap
;
/**
* @author Administrator
*/
@Component
@Slf4j
public
class
SignInterceptor
extends
HandlerInterceptorAdapter
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
o
)
throws
Exception
{
String
appId
=
(
String
)
request
.
getHeader
(
"Appid"
);
String
appkey
=
(
String
)
request
.
getHeader
(
"Appkey"
);
String
timeStamp
=
(
String
)
request
.
getHeader
(
"TimeStamp"
);
String
token
=
(
String
)
request
.
getHeader
(
"token"
);
if
(
StringUtils
.
isBlank
(
appId
)){
this
.
returnJson
(
response
,
false
,
"-1"
,
"Appid 不能为空"
);
return
false
;
}
if
(
StringUtils
.
isBlank
(
appkey
)){
this
.
returnJson
(
response
,
false
,
"-2"
,
"Appkey 不能为空"
);
return
false
;
}
if
(
StringUtils
.
isBlank
(
timeStamp
)){
this
.
returnJson
(
response
,
false
,
"-6"
,
"TimeStamp 不能为空"
);
return
false
;
}
if
(
StringUtils
.
isBlank
(
token
)){
this
.
returnJson
(
response
,
false
,
"-4"
,
"token 不能为空"
);
return
false
;
}
HashMap
<
String
,
String
>
secretMap
=
Constant
.
appIdSecurityCache
.
get
(
appId
);
if
(
secretMap
==
null
){
this
.
returnJson
(
response
,
false
,
"-100"
,
"系统异常,该appId没有注册"
);
return
false
;
}
String
secretInSys
=
secretMap
.
get
(
appkey
);
if
(
StringUtils
.
isBlank
(
secretInSys
))
{
this
.
returnJson
(
response
,
false
,
"-101"
,
"系统异常,该appId没有权限/密码"
);
return
false
;
}
String
sha256Str
=
SHA256Util
.
getSHA256String
(
appId
+
appkey
+
secretInSys
+
timeStamp
);
if
(!
token
.
equals
(
sha256Str
)){
this
.
returnJson
(
response
,
false
,
"-4"
,
"Token验证失败"
);
return
false
;
}
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
httpServletRequest
,
HttpServletResponse
httpServletResponse
,
Object
o
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
httpServletRequest
,
HttpServletResponse
httpServletResponse
,
Object
o
,
Exception
e
)
throws
Exception
{
}
private
void
returnJson
(
HttpServletResponse
response
,
Boolean
success
,
String
code
,
String
msg
){
PrintWriter
writer
=
null
;
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/json; charset=utf-8"
);
try
{
writer
=
response
.
getWriter
();
ResultRS
result
=
new
ResultRS
(
success
,
code
,
msg
);
writer
.
print
(
result
);
}
catch
(
IOException
e
){
log
.
error
(
"拦截器输出流异常"
+
e
);
}
finally
{
if
(
writer
!=
null
){
writer
.
close
();
}
}
}
//
// @Override
// public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
// // TODO Auto-generated method stub
//
// }
// @Override
// public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception {
// // TODO Auto-generated method stub
//
// }
// @Override
// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
// String appId=(String) request.getHeader("Appid");
// String appkey=(String) request.getHeader("Appkey");
// String timeStamp=(String) request.getHeader("TimeStamp");
// String token= (String) request.getHeader("token");
//
//
// if(StringUtils.isBlank(appId)){
// log.info("Appid 为空");
// return false;
// }
//
//
// if(StringUtils.isBlank(appkey)){
// log.info("Appkey 为空");
// return false;
// }
//
//
// if(StringUtils.isBlank(timeStamp)){
// log.info("TimeStamp 为空");
// return false;
// }
//
//
// if(StringUtils.isBlank(token)){
// log.info("token 为空");
// return false;
// }
//
//
// HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
// if(secretMap==null){
// log.info("系统异常,该appId没有注册");
// return false;
// }
//
// String secretInSys = secretMap.get(appkey);
// if (StringUtils.isBlank(secretInSys)) {
// log.info("系统异常,该appId没有权限/密码");
// return false;
// }
//
//
// String sha256Str = SHA256Util.getSHA256String(appId+appkey+secretInSys+timeStamp);
// if(!token.equals(sha256Str)){
// log.info("Token验证失败");
// return false;
// }
// return false;
// }
}
\ No newline at end of file
src/test/java/com/erry/iclear/dateInterface/ApiTest.java
View file @
51c0012
...
...
@@ -141,11 +141,8 @@ public class ApiTest {
ResultRS
rs
=
new
ResultRS
();
rs
.
setSuccess
(
true
);
rs
.
setCode
(
"200"
);
rs
.
setMsg
(
"操作成功"
);
rs
.
setData
(
mawbDetailList
);
ResultRS
rs
=
new
ResultRS
(
true
,
"200"
,
"操作成功"
);
Gson
gson
=
new
Gson
();
System
.
out
.
println
(
gson
.
toJson
(
mawb
));
...
...
Please
register
or
login
to post a comment