|
@@ -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;
|
|
|
}
|
|
@@ -300,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);
|