This commit is contained in:
parent
ada75c98c8
commit
5670717996
|
@ -13,11 +13,15 @@ import com.supervision.edh.utils.*;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,9 +54,14 @@ public class SupervisionEdhServerController {
|
||||||
Map<String, Object> paramsTemp = JSON.parseObject(body);
|
Map<String, Object> paramsTemp = JSON.parseObject(body);
|
||||||
System.out.println(paramsTemp);
|
System.out.println(paramsTemp);
|
||||||
Map<String, Object> params = JSON.parseObject(paramsTemp.get("req").toString());
|
Map<String, Object> params = JSON.parseObject(paramsTemp.get("req").toString());
|
||||||
logger.info("ProvTestController.receive.in.params:{}", params);
|
logger.info("接收到请求参数:{}", params);
|
||||||
|
// 检查参数,并获取校验结果
|
||||||
|
String checkResult = checkRequestParam(params);
|
||||||
|
if (!ResponseBuilder.reqPass().equals(checkResult)) {
|
||||||
|
return checkResult; // 如果校验失败,直接返回错误信息
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
//传输流水号0
|
//传输流水号
|
||||||
String processId = String.valueOf(params.get("process_id"));
|
String processId = String.valueOf(params.get("process_id"));
|
||||||
//事件编号
|
//事件编号
|
||||||
String eventId = String.valueOf(params.get("event_id"));
|
String eventId = String.valueOf(params.get("event_id"));
|
||||||
|
@ -68,8 +77,8 @@ public class SupervisionEdhServerController {
|
||||||
//企业统一社会信用代码
|
//企业统一社会信用代码
|
||||||
String tyshxydm = String.valueOf(params.get("tyshxydm"));
|
String tyshxydm = String.valueOf(params.get("tyshxydm"));
|
||||||
|
|
||||||
logger.info("processId:{}|eventId:{}|eventType:{}|event:{}|timeStamp:{}|ver:{}"
|
/* logger.info("processId:{}|eventId:{}|eventType:{}|event:{}|timeStamp:{}|ver:{}"
|
||||||
, processId, eventId, eventType, event, timeStamp, ver);
|
, processId, eventId, eventType, event, timeStamp, ver);*/
|
||||||
|
|
||||||
EventPojo eventPojo = JSON.parseObject(event, EventPojo.class);
|
EventPojo eventPojo = JSON.parseObject(event, EventPojo.class);
|
||||||
//获取私钥
|
//获取私钥
|
||||||
|
@ -100,11 +109,44 @@ public class SupervisionEdhServerController {
|
||||||
|
|
||||||
return ResponseBuilder.success();
|
return ResponseBuilder.success();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("数据解析错误,错误信息:{}", e.getMessage());
|
logger.error("出错了,错误信息:{}", e.getMessage());
|
||||||
return ResponseBuilder.fail(BuzStatusEnum.SYS_ERR);
|
//return ResponseBuilder.fail(BuzStatusEnum.SYS_ERR);
|
||||||
|
return ResponseBuilder.failMsg(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测校验接收参数
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
private String checkRequestParam(Map<String, Object> params) {
|
||||||
|
if (params == null || params.isEmpty()) {
|
||||||
|
return ResponseBuilder.failMsg("请求参数不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 必填参数列表
|
||||||
|
List<String> requiredParams = Arrays.asList("process_id","event_id","tyshxydm","event_type","event","timestamp","ver");
|
||||||
|
|
||||||
|
// 统一校验必填参数
|
||||||
|
for (String paramName : requiredParams) {
|
||||||
|
Object value = params.get(paramName);
|
||||||
|
|
||||||
|
if (value == null) {
|
||||||
|
return ResponseBuilder.failMsg("参数'" + paramName + "'不能为null");
|
||||||
|
}
|
||||||
|
if (value instanceof String && StringUtils.isEmpty(value)) {
|
||||||
|
return ResponseBuilder.failMsg("参数'" + paramName + "'不能为空字符串");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 可以添加其他类型检查,如集合是否为空等
|
||||||
|
if (value instanceof Collection && ((Collection<?>) value).isEmpty()) {
|
||||||
|
return ResponseBuilder.failMsg("参数'" + paramName + "'集合不能为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ResponseBuilder.reqPass();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,8 @@ public enum BuzStatusEnum {
|
||||||
SIGN_CHECK_ERR(1002,"签名认证失败"),
|
SIGN_CHECK_ERR(1002,"签名认证失败"),
|
||||||
DATA_PARSE_ERR(1003,"数据解析错误"),
|
DATA_PARSE_ERR(1003,"数据解析错误"),
|
||||||
NO_ACCESS_AUTH_ERR(1004,"无接口访问权限"),
|
NO_ACCESS_AUTH_ERR(1004,"无接口访问权限"),
|
||||||
SYS_ERR(999,"系统开小差,请稍后重试");
|
SYS_ERR(999,"系统开小差,请稍后重试"),
|
||||||
|
REQ_PASS(888,"请求校验通过");
|
||||||
|
|
||||||
int buzStatus;
|
int buzStatus;
|
||||||
String buzMessage;
|
String buzMessage;
|
||||||
|
|
|
@ -48,6 +48,22 @@ public class ResponseBuilder extends HashMap{
|
||||||
return JSON.toJSONString(builder.build());
|
return JSON.toJSONString(builder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String failMsg(String msg){
|
||||||
|
ResponseBuilder builder = new ResponseBuilder();
|
||||||
|
builder.status(StatusEnum.FAILED.getStatus());
|
||||||
|
builder.message(StatusEnum.FAILED.getMsg());
|
||||||
|
builder.body(111,msg);
|
||||||
|
return JSON.toJSONString(builder.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String reqPass(){
|
||||||
|
ResponseBuilder builder = new ResponseBuilder();
|
||||||
|
builder.status(StatusEnum.SUCCESS.getStatus());
|
||||||
|
builder.message(StatusEnum.SUCCESS.getMsg());
|
||||||
|
builder.body(BuzStatusEnum.REQ_PASS);
|
||||||
|
return JSON.toJSONString(builder.build());
|
||||||
|
}
|
||||||
|
|
||||||
public static Map<String,Object> buzError(Integer buzStatus,String buzMessage){
|
public static Map<String,Object> buzError(Integer buzStatus,String buzMessage){
|
||||||
ResponseBuilder builder = new ResponseBuilder();
|
ResponseBuilder builder = new ResponseBuilder();
|
||||||
builder.status(StatusEnum.BUZ_ERROR.getStatus());
|
builder.status(StatusEnum.BUZ_ERROR.getStatus());
|
||||||
|
@ -64,7 +80,7 @@ public class ResponseBuilder extends HashMap{
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
System.out.println(JSON.toJSONString(fail(BuzStatusEnum.SIGN_CHECK_ERR)));
|
System.out.println(failMsg("参数'" + "'不能为空字符串"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue