From b5df1cee65f3e9dcf554efcd3f1642a8c79d1e76 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 30 九月 2024 02:12:24 +0800 Subject: [PATCH] 点位监测更换对象+存入mongo+提取utils --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 104 ++++++++++++++++++++++++++++----------------------- 1 files changed, 57 insertions(+), 47 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java index 39d0d29..5504f50 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -7,9 +7,11 @@ import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.param.UY.*; +import com.ycl.platform.domain.result.SYS.TMonitorResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; import com.ycl.platform.domain.result.UY.*; import com.ycl.platform.domain.vo.OnlineThreadVO; +import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.platform.domain.vo.UpdateOnlineVO; import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.platform.service.UYErrorTypeCheckService; @@ -18,6 +20,7 @@ import com.ycl.system.domain.SysConfig; import com.ycl.system.mapper.SysConfigMapper; import com.ycl.thread.OnlineCheckThread; +import com.ycl.utils.CheckPointUtil; import com.ycl.utils.DateUtils; import com.ycl.utils.http.HttpUtils; import com.ycl.utils.http.SelfHttpUtil; @@ -55,11 +58,9 @@ private final UYErrorTypeCheckService uyErrorTypeCheckService; private final YwPointService pointService; private final TMonitorMapper monitorMapper; - private final SelfHttpUtil selfHttpUtil; - private final RedisTemplate redisTemplate; private final WorkOrderService workOrderService; private final SysConfigMapper sysConfigMapper; - + private final CheckPointUtil checkPointUtil; @Value("${youYun.tenantId}") private String tenantId; @Value("${youYun.apikey}") @@ -190,15 +191,15 @@ log.error("璇烽厤缃绾挎鏁帮紝姝ゆ璁剧疆涓洪粯璁ゅ��2"); } // 鍏堟煡鍑鸿澶嘔P闆嗗悎 - List<TMonitor> monitorList = monitorMapper.getDistinctIP(); - List<Future<OnlineThreadVO>> futureList = new ArrayList<>(48); - List<OnlineThreadVO> dataList = new ArrayList<>(48); - for (TMonitor monitor : monitorList) { - OnlineCheckThread thread = new OnlineCheckThread(monitor, redisTemplate, selfHttpUtil, times); - Future<OnlineThreadVO> future = executorService.submit(thread); + List<TMonitorResult> monitorList = monitorMapper.getDistinctIP(); + List<Future<TMonitorResult>> futureList = new ArrayList<>(48); + List<TMonitorResult> dataList = new ArrayList<>(48); + for (TMonitorResult monitor : monitorList) { + OnlineCheckThread thread = new OnlineCheckThread(monitor,checkPointUtil,times); + Future<TMonitorResult> future = executorService.submit(thread); futureList.add(future); } - for (Future<OnlineThreadVO> future : futureList) { + for (Future<TMonitorResult> future : futureList) { dataList.add(future.get()); // get鏂规硶浼氶樆濉烇紝鐭ラ亾鎷垮埌缁撴灉鎵嶇户缁墽琛宖or } @@ -216,16 +217,25 @@ // 宸ュ崟 List<WorkOrder> workOrderList = dataList.stream() .filter(item -> Objects.nonNull(item.getWorkOrder())) - .map(OnlineThreadVO::getWorkOrder) + .map(TMonitorResult::getWorkOrder) .collect(Collectors.toList()); if (CollectionUtils.isEmpty(workOrderList)) { return; } workOrderService.innerAddWorkOrder(workOrderList); + //瀛樻斁鍒癿ongo + if (!CollectionUtils.isEmpty(dataList)) { + //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, TMonitorResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(dataList); + log.info("缁撴潫鍚屾鐐逛綅鍦ㄧ嚎鐜囧埌mongo"); + } log.info("鐐逛綅鍦ㄧ嚎鐩戞祴瀹屾垚"); } - //鐐逛綅鍦ㄧ嚎鐜� + //锛堝純鐢級鐐逛綅鍦ㄧ嚎鐜� public void videoOnlineTask() { //瑙嗛鍥惧儚璐ㄩ噺 log.info("寮�濮嬫墽琛岀偣浣嶅湪绾挎暟鎹悓姝�"); @@ -273,41 +283,41 @@ public void recordMetaDSumTask() { //褰曞儚鍙敤鐜� log.info("寮�濮嬫墽琛屽綍鍍忓彲鐢ㄦ暟鎹悓姝�"); -// RecordMetaDSumParam param = new RecordMetaDSumParam(); -// param.setTenantId(tenantId); -// Calendar instance = Calendar.getInstance(); -// instance.setTime(new Date()); -// instance.add(Calendar.DAY_OF_MONTH, -1); -// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); -// String yesterday = format.format(instance.getTime()); -// param.setStatTime(yesterday); -// JSONObject jsonObject = uyClient.recordMetaDSumList(param); -// if (jsonObject != null) { -// if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) { -// List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class); -// if (!CollectionUtils.isEmpty(records)) { -// //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 -// Query query = new Query(Criteria -// .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); -// DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class); -// records.stream().forEach(item -> { -// if (Objects.nonNull(item.getDeviceId())) { -// item.setNo(item.getDeviceId()); -// } -// }); -// pointService.setDeviceTagByGB(records); -// //瀛樻斁鍦╩ongo涓� -// mongoTemplate.insertAll(records); -// // 宸ュ崟鐢熸垚 -// uyErrorTypeCheckService.recordMetaDSumCheck(records); -// } -// } else { -// log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject); -// } -// } -// 鏈湴娴嬭瘯 - Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); - uyErrorTypeCheckService.recordMetaDSumCheck(mongoTemplate.find(query, RecordMetaDSumResult.class)); + RecordMetaDSumParam param = new RecordMetaDSumParam(); + param.setTenantId(tenantId); + Calendar instance = Calendar.getInstance(); + instance.setTime(new Date()); + instance.add(Calendar.DAY_OF_MONTH, -1); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String yesterday = format.format(instance.getTime()); + param.setStatTime(yesterday); + JSONObject jsonObject = uyClient.recordMetaDSumList(param); + if (jsonObject != null) { + if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) { + List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class); + if (!CollectionUtils.isEmpty(records)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class); + records.stream().forEach(item -> { + if (Objects.nonNull(item.getDeviceId())) { + item.setNo(item.getDeviceId()); + } + }); + pointService.setDeviceTagByGB(records); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(records); + // 宸ュ崟鐢熸垚 + uyErrorTypeCheckService.recordMetaDSumCheck(records); + } + } else { + log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject); + } + } + // 鏈湴娴嬭瘯 +// Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); +// uyErrorTypeCheckService.recordMetaDSumCheck(mongoTemplate.find(query, RecordMetaDSumResult.class)); log.info("缁撴潫鎵ц褰曞儚鍙敤鏁版嵁鍚屾"); } -- Gitblit v1.8.0