|
@@ -11,6 +11,7 @@ import info.aspirecn.iov.sjjh.constant.Constants;
|
|
|
import info.aspirecn.iov.sjjh.entity.*;
|
|
|
import info.aspirecn.iov.sjjh.enums.VehicleHistoryPositionQueryType;
|
|
|
import info.aspirecn.iov.sjjh.service.VehicleService;
|
|
|
+import info.aspirecn.iov.sjjh.util.CopyOnWriteArraySetUtil;
|
|
|
import info.aspirecn.iov.sjjh.util.DateUtil;
|
|
|
import info.aspirecn.iov.sjjh.util.PostUtil;
|
|
|
import info.aspirecn.iov.sjjh.util.ValidateParamUtil;
|
|
@@ -38,6 +39,10 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
|
|
|
private OkHttpClient okHttpClient = new OkHttpClient.Builder().build();
|
|
|
|
|
|
+ private boolean isPermit(String loginkUserId) {
|
|
|
+ return CopyOnWriteArraySetUtil.getInstance().add(loginkUserId + System.currentTimeMillis() / 1000);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public ChannelTypeHandleResponseObject vehicleHistoryPositionQuery(HttpServletRequest request, String customBody,
|
|
|
int outTime, Integer type) {
|
|
@@ -46,6 +51,17 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
ret.setCode(Constant.SUCCESS);
|
|
|
String upstreamCode = "" + Constant.LOG_UPSTREAM_DEFAULT_RESPONSE_CODE;
|
|
|
request.setAttribute(Constant.LOG_UPSTREAM_RESPONSE_CODE, upstreamCode);
|
|
|
+ String loginkUserId = request.getHeader("userid");
|
|
|
+ log.info("用户id:{}", loginkUserId);
|
|
|
+
|
|
|
+ if (!isPermit(loginkUserId)) {
|
|
|
+ ret.setResultCode(Constant.UN_MATCH_CODE);
|
|
|
+ ret.setResultBody("超出并发限制,无法核验");
|
|
|
+ ret.setResultDesc(Constant.QUERY_SUCCESS);
|
|
|
+ log.info("用户id:{}, 超出并发限制,无法核验", loginkUserId);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
if (outTime <= Constants.PARA_ZERO) {
|
|
|
outTime = Constant.HTTPCLIENT_CONNECTTIMEOUT;
|
|
|
}
|
|
@@ -177,6 +193,7 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
return Constant.FAIL;
|
|
|
}
|
|
|
if (response.getStatusCode() == Constants.STATUS_CODE_200) {
|
|
|
+ log.info("responseContext:{}", response.getBody());
|
|
|
VehicleHistoryPositionResponse positionResponse = JSON.toJavaObject(JSON.parseObject(response.getBody()),
|
|
|
VehicleHistoryPositionResponse.class);
|
|
|
upstreamCode = positionResponse.getResultCode();
|
|
@@ -299,7 +316,7 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
ret.setResultDesc(Constant.QUERY_SUCCESS);
|
|
|
return upstreamCode;
|
|
|
}
|
|
|
- if (errorList.size() == 1 && emptyList.size() ==1) {
|
|
|
+ if (errorList.size() == 1 && emptyList.size() == 1) {
|
|
|
errorMsg = "数据源" + org.apache.commons.lang3.StringUtils.join(emptyList, ",") + "为空,";
|
|
|
errorMsg += org.apache.commons.lang3.StringUtils.join(errorList, ",") + "为不一致";
|
|
|
ret.setResultCode(Constant.UN_MATCH_CODE);
|
|
@@ -697,16 +714,16 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
} else {
|
|
|
// 不一致,返回具体不一致项
|
|
|
String errorInfo = responseObject.getData().getVerifyResultSet().get(0).getErrorInfo();
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_VEHICLE_NUMBER)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_VEHICLE_NUMBER)) {
|
|
|
errorList.add("vehicleNumber");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_ROAD_TRANSPORT_CERTIFICATE_NUMBER)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_ROAD_TRANSPORT_CERTIFICATE_NUMBER)) {
|
|
|
errorList.add("roadTransportCertificateNumber");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_CERTIFICATE_VALID_PERIOD_FROM)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_CERTIFICATE_VALID_PERIOD_FROM)) {
|
|
|
errorList.add("roadTransportCertificateValidPeriodFrom");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_CERTIFICATE_VALID_PERIOD_TO)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_CERTIFICATE_VALID_PERIOD_TO)) {
|
|
|
errorList.add("roadTransportCertificateValidPeriodTo");
|
|
|
}
|
|
|
ret.setResultCode(Constant.UN_MATCH_CODE);
|
|
@@ -819,22 +836,22 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
} else {
|
|
|
// 不一致,返回具体不一致项
|
|
|
String errorInfo = responseObject.getData().getVerifyResultSet().get(0).getErrorInfo();
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_DRIVER_NAME)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_DRIVER_NAME)) {
|
|
|
errorList.add("driverName");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_DRIVING_LICENSE)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_DRIVING_LICENSE)) {
|
|
|
errorList.add("drivingLicense");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_PROVINCE_CODE)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_PROVINCE_CODE)) {
|
|
|
errorList.add("provinceCode");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE)) {
|
|
|
errorList.add("qualificationCertificate");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE_FROM)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE_FROM)) {
|
|
|
errorList.add("qualificationCertificateValidPeriodFrom");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE_TO)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_QUALIFICATION_CERTIFICATE_TO)) {
|
|
|
errorList.add("qualificationCertificateValidPeriodTo");
|
|
|
}
|
|
|
ret.setResultCode(Constant.UN_MATCH_CODE);
|
|
@@ -947,16 +964,16 @@ public class VehicleServiceImpl implements VehicleService {
|
|
|
} else {
|
|
|
// 不一致,返回具体不一致项
|
|
|
String errorInfo = responseObject.getData().getVerifyResultSet().get(0).getErrorInfo();
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_CARRIER)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_CARRIER)) {
|
|
|
errorList.add("carrier");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_PERMIT_NUMBER)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_PERMIT_NUMBER)) {
|
|
|
errorList.add("permitNumber");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_PERMIT_VALID_PERIOD_FROM)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_PERMIT_VALID_PERIOD_FROM)) {
|
|
|
errorList.add("permitValidPeriodFrom");
|
|
|
}
|
|
|
- if (errorInfo.equals(Constants.UN_MATCH_PERMIT_VALID_PERIOD_TO)) {
|
|
|
+ if (errorInfo.contains(Constants.UN_MATCH_PERMIT_VALID_PERIOD_TO)) {
|
|
|
errorList.add("permitValidPeriodTo");
|
|
|
}
|
|
|
ret.setResultCode(Constant.UN_MATCH_CODE);
|