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.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -50,9 +54,14 @@ public class SupervisionEdhServerController {
|
|||
Map<String, Object> paramsTemp = JSON.parseObject(body);
|
||||
System.out.println(paramsTemp);
|
||||
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 {
|
||||
//传输流水号0
|
||||
//传输流水号
|
||||
String processId = String.valueOf(params.get("process_id"));
|
||||
//事件编号
|
||||
String eventId = String.valueOf(params.get("event_id"));
|
||||
|
@ -68,8 +77,8 @@ public class SupervisionEdhServerController {
|
|||
//企业统一社会信用代码
|
||||
String tyshxydm = String.valueOf(params.get("tyshxydm"));
|
||||
|
||||
logger.info("processId:{}|eventId:{}|eventType:{}|event:{}|timeStamp:{}|ver:{}"
|
||||
, processId, eventId, eventType, event, timeStamp, ver);
|
||||
/* logger.info("processId:{}|eventId:{}|eventType:{}|event:{}|timeStamp:{}|ver:{}"
|
||||
, processId, eventId, eventType, event, timeStamp, ver);*/
|
||||
|
||||
EventPojo eventPojo = JSON.parseObject(event, EventPojo.class);
|
||||
//获取私钥
|
||||
|
@ -100,11 +109,44 @@ public class SupervisionEdhServerController {
|
|||
|
||||
return ResponseBuilder.success();
|
||||
} catch (Exception e) {
|
||||
logger.error("数据解析错误,错误信息:{}", e.getMessage());
|
||||
return ResponseBuilder.fail(BuzStatusEnum.SYS_ERR);
|
||||
logger.error("出错了,错误信息:{}", e.getMessage());
|
||||
//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,"签名认证失败"),
|
||||
DATA_PARSE_ERR(1003,"数据解析错误"),
|
||||
NO_ACCESS_AUTH_ERR(1004,"无接口访问权限"),
|
||||
SYS_ERR(999,"系统开小差,请稍后重试");
|
||||
SYS_ERR(999,"系统开小差,请稍后重试"),
|
||||
REQ_PASS(888,"请求校验通过");
|
||||
|
||||
int buzStatus;
|
||||
String buzMessage;
|
||||
|
|
|
@ -48,6 +48,22 @@ public class ResponseBuilder extends HashMap{
|
|||
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){
|
||||
ResponseBuilder builder = new ResponseBuilder();
|
||||
builder.status(StatusEnum.BUZ_ERROR.getStatus());
|
||||
|
@ -64,7 +80,7 @@ public class ResponseBuilder extends HashMap{
|
|||
}
|
||||
|
||||
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