wei.zhou

提交代码

......@@ -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;
}
}
......
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;
}
......
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("/**");
}
}
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
......@@ -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));
......