Browse Source

Merge remote-tracking branch 'origin/develop' into develop

develop
wangsixiang 8 months ago
parent
commit
af4ab70454
  1. 3
      zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java
  2. 8
      zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java
  3. 237
      zc-business/src/main/java/com/zc/business/service/impl/DcTrafficStatisticsServiceImpl.java

3
zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java

@ -546,7 +546,7 @@ public class DcDeviceController extends BaseController {
if (Objects.equals(device.getString("deviceType"), UniversalEnum.FIFTEEN.getValue())) { if (Objects.equals(device.getString("deviceType"), UniversalEnum.FIFTEEN.getValue())) {
return AjaxResult.error(UniversalEnum.TWO_HUNDRED.getNumber(), UniversalEnum.FIVE_HUNDRED.getValue()); return AjaxResult.error(UniversalEnum.TWO_HUNDRED.getNumber(), UniversalEnum.FIVE_HUNDRED.getValue());
} else { } else {
return AjaxResult.error(); //return AjaxResult.success(resultArray);
} }
} }
} }
@ -559,6 +559,7 @@ public class DcDeviceController extends BaseController {
}); });
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("device", device.getString("id")); result.put("device", device.getString("id"));
result.put("deviceType", device.getInteger("deviceType"));
result.put("functionId", functionId); result.put("functionId", functionId);
if (device.getInteger("deviceType").equals(DeviceTypeConstants.ROAD_SECTION_VOICE_BROADCASTING)) { if (device.getInteger("deviceType").equals(DeviceTypeConstants.ROAD_SECTION_VOICE_BROADCASTING)) {
JSONObject value = broadcastController.nearCamListDistance(jsonObject); JSONObject value = broadcastController.nearCamListDistance(jsonObject);

8
zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java

@ -263,7 +263,7 @@ public class OperationLogAspect {
// return; // return;
//} //}
saveOperLog(jsonResult, operLog, pointArgs, request, deviceIds, deviceNames, deviceType, remark); saveOperLog(((JSONObject) JSON.toJSON(jsonResult)).getJSONArray("data"), operLog, pointArgs, request, deviceIds, deviceNames, deviceType, remark);
if ((Objects.equals(deviceType, UniversalEnum.TWO.getValue()) || Objects.equals(deviceType, UniversalEnum.FIVE.getValue())) && Objects.nonNull(operLog.getId())) { if ((Objects.equals(deviceType, UniversalEnum.TWO.getValue()) || Objects.equals(deviceType, UniversalEnum.FIVE.getValue())) && Objects.nonNull(operLog.getId())) {
@ -346,7 +346,7 @@ public class OperationLogAspect {
operLog.setOperType(UniversalEnum.ONE.getValue()); operLog.setOperType(UniversalEnum.ONE.getValue());
} }
saveOperLog(jsonResult, operLog, pointArgs, request, deviceIds, deviceNames, deviceType, remark); saveOperLog(((JSONObject) JSON.toJSON(jsonResult)).getJSONArray("data"), operLog, pointArgs, request, deviceIds, deviceNames, deviceType, remark);
//if ((Objects.equals(deviceType, "2") || Objects.equals(deviceType, "5")) && Objects.nonNull(operLog.getId())) { //if ((Objects.equals(deviceType, "2") || Objects.equals(deviceType, "5")) && Objects.nonNull(operLog.getId())) {
@ -385,7 +385,7 @@ public class OperationLogAspect {
} }
} }
private void saveOperLog(Object jsonResult, DcOperLog operLog, Object[] pointArgs, HttpServletRequest request, ArrayList<String> deviceIds, ArrayList<String> deviceNames, String deviceType, StringBuilder remark) { private void saveOperLog(JSONArray jsonResult, DcOperLog operLog, Object[] pointArgs, HttpServletRequest request, ArrayList<String> deviceIds, ArrayList<String> deviceNames, String deviceType, StringBuilder remark) {
IDcOperLogService dcOperLogService = SpringUtils.getBean(IDcOperLogService.class); IDcOperLogService dcOperLogService = SpringUtils.getBean(IDcOperLogService.class);
JSONArray jsonArray = (JSONArray) JSON.toJSON(pointArgs); JSONArray jsonArray = (JSONArray) JSON.toJSON(pointArgs);
@ -396,7 +396,7 @@ public class OperationLogAspect {
operLog.setOperTime(new Date()); operLog.setOperTime(new Date());
operLog.setDcDeviceType(deviceType); operLog.setDcDeviceType(deviceType);
operLog.setRemark(remark.toString()); operLog.setRemark(remark.toString());
operLog.setJsonResult(jsonResult.toString()); operLog.setJsonResult(jsonResult.toJSONString());
dcOperLogService.save(operLog); dcOperLogService.save(operLog);
} }
} }

237
zc-business/src/main/java/com/zc/business/service/impl/DcTrafficStatisticsServiceImpl.java

@ -195,7 +195,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -214,6 +214,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -230,7 +235,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -298,6 +303,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
}); });
return jsonArray1; return jsonArray1;
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -313,7 +323,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -331,6 +341,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -563,7 +578,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -582,6 +597,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -609,7 +629,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -628,6 +648,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -652,7 +677,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -669,8 +694,12 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
return new JSONArray(); return new JSONArray();
} }
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -697,48 +726,55 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response = okHttp
= okHttp .headers(headers)
.headers(headers) .url(baseUrl + UniversalEnum.EACH_TOLL_STATION_ENTRANCE_BY_TYPE_OF_HOURLY_TRAFFIC_FLOW.getValue())
.url(baseUrl + UniversalEnum.EACH_TOLL_STATION_ENTRANCE_BY_TYPE_OF_HOURLY_TRAFFIC_FLOW.getValue()) // 请求地址 .data(requestParams)
.data(requestParams) // 请求参数 .post();
.post(); // 请求方法 // 确保响应成功
if (!response.isSuccessful()) {
ResponseBody body = response.body(); throw new IOException("请求不成功,HTTP代码:" + response.code());
if (body != null) { }
String jsonString = body.string(); ResponseBody body = response.body();
if (JSON.isValidArray(jsonString)) { if (body != null) {
JSONArray jsonArray = JSON.parseArray(jsonString); String jsonString = body.string();
Map<String, Integer> sumByName = new LinkedHashMap<>(); System.out.println(jsonString);
if (JSON.isValidArray(jsonString)) {
List<Map<String, String>> list = new ArrayList(); JSONArray jsonArray = JSON.parseArray(jsonString);
for (Object item : jsonArray) { // 这里做了微调,直接遍历jsonArray的Object Map<String, Integer> sumByName = new LinkedHashMap<>();
JSONObject jsonObject = (JSONObject) item; List<Map<String, String>> list = new ArrayList();
for (Object item : jsonArray) { // 这里做了微调,直接遍历jsonArray的Object
JSONObject jsonObject = (JSONObject) item;
// 获取当前时间
LocalTime now = LocalTime.now(); // 获取当前时间
// 获取当前小时数(24小时制) LocalTime now = LocalTime.now();
int currentHour = now.getHour(); // 获取当前小时数(24小时制)
if (jsonObject.getInteger("data_hour") == currentHour) { int currentHour = now.getHour();
String name = jsonObject.getString("ts_name"); // 更安全的取值方式 if (jsonObject.getInteger("data_hour") == currentHour) {
int totalFlow = jsonObject.getInteger("total_flow"); // 专门针对Integer类型 String name = jsonObject.getString("ts_name"); // 更安全的取值方式
int totalFlow = jsonObject.getInteger("total_flow"); // 专门针对Integer类型
sumByName.put(name, totalFlow);
sumByName.put(name, totalFlow);
}
} }
// 正确创建新的映射对象并添加到list中
for (Map.Entry<String, Integer> entry : sumByName.entrySet()) {
Map<String, String> singleResult = new LinkedHashMap<>(); // 每次循环都创建一个新的映射
singleResult.put("name", entry.getKey());
singleResult.put("value", entry.getValue().toString());
list.add(singleResult);
}
return list;
} }
// 正确创建新的映射对象并添加到list中
for (Map.Entry<String, Integer> entry : sumByName.entrySet()) {
Map<String, String> singleResult = new LinkedHashMap<>(); // 每次循环都创建一个新的映射
singleResult.put("name", entry.getKey());
singleResult.put("value", entry.getValue().toString());
list.add(singleResult);
}
return list;
} }
return new ArrayList();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new ArrayList();
} }
return new ArrayList();
} }
@Override @Override
@ -761,7 +797,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -780,6 +816,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
@Override @Override
@ -800,6 +841,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
JSONArray body = getResponseBody(nowYear, requestParams, okHttp); JSONArray body = getResponseBody(nowYear, requestParams, okHttp);
JSONArray bodylast = getResponseBody(lastYear, requestParams, okHttp); JSONArray bodylast = getResponseBody(lastYear, requestParams, okHttp);
Map<String, List<Map<String, Object>>> map = new HashMap<>(); Map<String, List<Map<String, Object>>> map = new HashMap<>();
if (body != null) { if (body != null) {
@ -888,23 +930,29 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
requestParams.put("parameters", parameters.toJSONString()); requestParams.put("parameters", parameters.toJSONString());
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
.url(baseUrl + UniversalEnum.THE_WHOLE_SECTION_TWO_WAY_REAL_TIME_TRAFFIC_FLOW_URL.getValue()) // 请求地址 .url(baseUrl + UniversalEnum.THE_WHOLE_SECTION_TWO_WAY_REAL_TIME_TRAFFIC_FLOW_URL.getValue()) // 请求地址
.data(requestParams) // 请求参数 .data(requestParams) // 请求参数
.post(); // 请求方法 .post(); // 请求方法
ResponseBody body = response.body(); ResponseBody body = response.body();
if (body != null) { if (body != null) {
String jsonString = body.string(); String jsonString = body.string();
if (JSON.isValidArray(jsonString)) { if (JSON.isValidArray(jsonString)) {
return JSON.parseArray(jsonString); return JSON.parseArray(jsonString);
} else {
return new JSONArray();
}
}else { }else {
return new JSONArray(); return new JSONArray();
} }
} catch (IOException e) {
// 记录日志或处理异常
e.printStackTrace();
return new JSONArray();
} }
return new JSONArray();
} }
//格式化桩号 //格式化桩号
@ -960,7 +1008,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -991,6 +1039,11 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
} }
return null; return null;
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return mapList;
}
} }
/** /**
@ -1010,7 +1063,7 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", getAccessToken()); headers.put("Authorization", getAccessToken());
try {
Response response // 请求响应 Response response // 请求响应
= okHttp = okHttp
.headers(headers) .headers(headers)
@ -1078,9 +1131,12 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
return jsonArray; return jsonArray;
} }
} }
return new JSONArray(); return new JSONArray();
} catch (IOException e) {
// 处理异常
e.printStackTrace();
return new JSONArray();
}
} }
/** /**
@ -1093,34 +1149,43 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(UniversalEnum.TIME_FORMAT_YEARS_MONTH_DAY.getValue()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(UniversalEnum.TIME_FORMAT_YEARS_MONTH_DAY.getValue());
LocalDate currentDate = LocalDate.now(); LocalDate currentDate = LocalDate.now();
String startDate = currentDate.format(formatter); String startDate = currentDate.format(formatter);
Response response = getResponseTrafficFlowAtToll(startDate, UniversalEnum.ONE.getValue()); try {
Response responseTwo = getResponseTrafficFlowAtToll(startDate, UniversalEnum.TWO.getValue()); Response response = getResponseTrafficFlowAtToll(startDate, UniversalEnum.ONE.getValue());
Response responseTwo = getResponseTrafficFlowAtToll(startDate, UniversalEnum.TWO.getValue());
ResponseBody body = response.body(); ResponseBody body = response.body();
ResponseBody bodyTwo = responseTwo.body(); ResponseBody bodyTwo = responseTwo.body();
Integer totalFlow1 = UniversalEnum.ZERO.getNumber(); Integer totalFlow1 = UniversalEnum.ZERO.getNumber();
Integer totalFlow2 = UniversalEnum.ZERO.getNumber(); Integer totalFlow2 = UniversalEnum.ZERO.getNumber();
if (body != null) { if (body != null) {
String jsonString = body.string(); String jsonString = body.string();
if (JSON.isValidArray(jsonString)) { if (JSON.isValidArray(jsonString)) {
JSONArray jsonArray = JSON.parseArray(jsonString); JSONArray jsonArray = JSON.parseArray(jsonString);
for (Object item : jsonArray) { for (Object item : jsonArray) {
JSONObject jsonObject = (JSONObject) item; JSONObject jsonObject = (JSONObject) item;
totalFlow1 = totalFlow1 + jsonObject.getInteger("total_flow"); totalFlow1 = totalFlow1 + jsonObject.getInteger("total_flow");
}
} }
} }
} if (bodyTwo != null) {
if (bodyTwo != null) { String jsonString = bodyTwo.string();
String jsonString = bodyTwo.string(); if (JSON.isValidArray(jsonString)) {
if (JSON.isValidArray(jsonString)) { JSONArray jsonArray = JSON.parseArray(jsonString);
JSONArray jsonArray = JSON.parseArray(jsonString); for (Object item : jsonArray) {
for (Object item : jsonArray) { JSONObject jsonObject = (JSONObject) item;
JSONObject jsonObject = (JSONObject) item; totalFlow2 = totalFlow2 + jsonObject.getInteger("total_flow");
totalFlow2 = totalFlow2 + jsonObject.getInteger("total_flow"); }
} }
} }
return totalFlow1 + totalFlow2;
}
catch (IOException e) {
// 处理异常
e.printStackTrace();
return UniversalEnum.ZERO.getNumber();
} }
return totalFlow1 + totalFlow2;
} }
private Response getResponseTrafficFlowAtToll(String startDate, String stationType) throws HttpException, IOException { private Response getResponseTrafficFlowAtToll(String startDate, String stationType) throws HttpException, IOException {

Loading…
Cancel
Save