From 5bc6d4839f68e60a27e381d5411c479bcf529056 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 01 八月 2024 16:13:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-common/src/main/java/constant/RedisConstant.java | 6 + ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 88 ++++++++++++++++++++++ ycl-server/src/main/java/com/ycl/task/UYTask.java | 5 + ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OneMachineFileResult.java | 89 ++++++++++++---------- 4 files changed, 146 insertions(+), 42 deletions(-) diff --git a/ycl-common/src/main/java/constant/RedisConstant.java b/ycl-common/src/main/java/constant/RedisConstant.java new file mode 100644 index 0000000..2e024e8 --- /dev/null +++ b/ycl-common/src/main/java/constant/RedisConstant.java @@ -0,0 +1,6 @@ +package constant; + +public class RedisConstant { + /** 涓�鏈轰竴妗g洰褰曚竴鑷寸巼 澶氬嚭鏉ョ殑璁惧 Set闆嗗悎 */ + public static final String New_Monitor_Set="New_Monitor_Set"; +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OneMachineFileResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OneMachineFileResult.java index f6d6087..99e9cc0 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OneMachineFileResult.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OneMachineFileResult.java @@ -27,6 +27,54 @@ private String SBMC; /** + * 鎽勫儚鏈洪噰闆嗗尯鍩燂紙鍙傝�冩枃妗hВ鏋愶級 + */ + private String SXJCJQY; + + /** + * 鐩戞帶鐐逛綅绫诲瀷锛�1-涓�绫昏棰戠洃鎺х偣锛�2-浜岀被瑙嗛鐩戞帶鐐癸紱3-涓夌被瑙嗛鐩戞帶鐐癸紱4-鍏畨鍐呴儴瑙嗛鐩戞帶鐐癸紱9-鍏朵粬鐐逛綅銆� + * 鍙傜収鍏畨閮ㄣ�婂叧浜庤繘涓�姝ュ姞寮哄叕瀹夋満鍏宠棰戝浘鍍忎俊鎭簲鐢ㄥ伐浣滅殑鎰忚銆嬶紙鍏�氬瓧锕�2015锕�4鍙凤級瀹氫箟銆� + */ + private String JKDWLX; + + /** + * IPV4鍦板潃锛屾憚鍍忔満IP鍦板潃銆� + */ + private String IP; + + /** + * IPV6鍦板潃锛屾憚鍍忔満鎵╁睍IP鍦板潃銆� + */ +// private String IPV6; + + /** + * 缁忓害銆� + */ + private Double JD; + + /** + * 绾害銆� + */ + private Double WD; + + /** + * 鎽勫儚鏈哄姛鑳界被鍨嬶紝鍙栧�艰寖鍥�(澶氶��) : [1.瑙嗛鐩戞帶;2.杞﹁締璇嗗埆;3.浜哄憳璇嗗埆;] 鏁版嵁鏍煎紡[濉叆澶氫釜鍊煎苟浠�/闅斿紑銆備緥濡� 1/2] + */ + private String SXJGNLX; + + /** + * MAC鍦板潃锛屾憚鍍忔満MAC鍦板潃銆� + */ + private String MACDZ; + + /** + * 璁惧鐘舵�侊紝1-鍦ㄧ敤锛�2-缁翠慨锛�3-鎷嗛櫎銆� + */ + private String SBZT; + + //--------------------------------------------------------------------- + + /** * 璁惧鍘傚晢锛岀紪鐮�1-娴峰悍濞佽锛�2-澶у崕锛�3-澶╁湴浼熶笟锛�4-绉戣揪锛�5-瀹夎澹紱6-鍗氫笘锛�7-浜氬畨锛�8-鑻遍鎷擄紱9-瀹囪锛�10-娴蜂俊锛�11-涓槦鐢靛瓙锛�12-鏄庢櫙锛�13-鑱旀兂锛�14-涓叴锛�99-鍏朵粬銆� */ private String SBCS; @@ -35,12 +83,6 @@ * 琛屾斂鍖哄煙锛岃鏀垮尯鍒掋�佺睄璐渷甯傚幙浠g爜銆傚弬鐓с�奊B/T 2260 涓崕浜烘皯鍏卞拰鍥借鏀垮尯鍒掍唬鐮併�嬨�� */ private String XZQY; - - /** - * 鐩戞帶鐐逛綅绫诲瀷锛�1-涓�绫昏棰戠洃鎺х偣锛�2-浜岀被瑙嗛鐩戞帶鐐癸紱3-涓夌被瑙嗛鐩戞帶鐐癸紱4-鍏畨鍐呴儴瑙嗛鐩戞帶鐐癸紱9-鍏朵粬鐐逛綅銆� - * 鍙傜収鍏畨閮ㄣ�婂叧浜庤繘涓�姝ュ姞寮哄叕瀹夋満鍏宠棰戝浘鍍忎俊鎭簲鐢ㄥ伐浣滅殑鎰忚銆嬶紙鍏�氬瓧锕�2015锕�4鍙凤級瀹氫箟銆� - */ - private String JKDWLX; /** * 璁惧鍨嬪彿锛屾弿杩拌澶囩殑鍏蜂綋鍨嬪彿銆� @@ -53,29 +95,9 @@ private String DWSC; /** - * IPV4鍦板潃锛屾憚鍍忔満IP鍦板潃銆� - */ - private String IPV4; - - /** - * IPV6鍦板潃锛屾憚鍍忔満鎵╁睍IP鍦板潃銆� - */ - private String IPV6; - - /** - * MAC鍦板潃锛屾憚鍍忔満MAC鍦板潃銆� - */ - private String MACDZ; - - /** * 鎽勫儚鏈虹被鍨嬶紝1-鐞冩満锛�2-鍗婄悆锛�3-鍥哄畾鏋満锛�4-閬ユ帶鏋満锛�5-鍗″彛鏋満锛�99-鏈煡銆� */ private String SXJLX; - - /** - * 鎽勫儚鏈哄姛鑳界被鍨嬶紝1-杞﹁締鍗″彛锛�2-浜哄憳鍗″彛锛�3-寰崱鍙o紱4-鐗瑰緛鎽勫儚鏈猴紱5-鏅�氱洃鎺э紱99-鍏朵粬锛屽閫夊悇鍙傛暟浠モ��/鈥濆垎闅斻�� - */ - private String SXJGNLX; /** * 琛ュ厜灞炴�э紝1-鏃犺ˉ鍏夈��2-绾㈠琛ュ厜銆�3-鐧藉厜琛ュ厜銆�9-鍏朵粬琛ュ厜銆� @@ -92,16 +114,6 @@ * 鍙傝�冭寖寮忥細琛楅亾+闂ㄧ墝鍙风爜+鍗曚綅鍚嶇О銆傞珮閫熷叕璺�佸浗閬撶瓑鐐逛綅鍙弬鐓р�滃叕璺悕绉�+鍏噷鏁扳�濊寖寮忋�� */ private String AZDZ; - - /** - * 缁忓害銆� - */ - private Double JD; - - /** - * 绾害銆� - */ - private Double WD; /** * 鎽勫儚鏈轰綅缃被鍨嬶紝1-鐪侀檯妫�鏌ョ珯銆�2-鍏氭斂鏈哄叧銆�3-杞︾珯鐮佸ご銆�4-涓績骞垮満銆�5-浣撹偛鍦洪銆�6-鍟嗕笟涓績銆�7-瀹楁暀鍦烘墍銆�8-鏍″洯鍛ㄨ竟銆�9-娌诲畨澶嶆潅鍖哄煙銆�10-浜ら�氬共绾裤��11-鍖婚櫌鍛ㄨ竟銆�12-閲戣瀺鏈烘瀯鍛ㄨ竟銆�13-鍗遍櫓鐗╁搧鍦烘墍鍛ㄨ竟銆�14-鍗氱墿棣嗗睍瑙堥銆�15-閲嶇偣姘村煙銆佽埅閬撱��96-甯傞檯鍏畨妫�鏌ョ珯锛�97-娑夊鍦烘墍锛�98-杈瑰娌跨嚎锛�99-鏃呮父鏅尯锛屽閫夊悇鍙傛暟浠モ��/鈥濆垎闅斻�� @@ -147,11 +159,6 @@ * 褰曞儚淇濆瓨澶╂暟銆� */ private Integer LXBCTS; - - /** - * 璁惧鐘舵�侊紝1-鍦ㄧ敤锛�2-缁翠慨锛�3-鎷嗛櫎銆� - */ - private String SBZT; /** * 鎵�灞為儴闂�/琛屼笟锛�1-鍏畨鏈哄叧锛�2-鐜繚閮ㄩ棬锛�3-鏂囧崥閮ㄩ棬锛�4-鍖荤枟閮ㄩ棬锛�5-鏃呮父绠$悊锛�6-鏂伴椈骞跨數锛�7-椋熷搧鍖昏嵂鐩戠潱绠$悊閮ㄩ棬锛�8-鏁欒偛绠$悊閮ㄩ棬锛�9-妫�瀵熼櫌锛�10-娉曢櫌锛�11-閲戣瀺閮ㄩ棬锛�12-浜ら�氶儴闂紱13-浣忔埧鍜屽煄涔″缓璁鹃儴闂紱14-姘村埄閮ㄩ棬锛�15-鏋椾笟閮ㄩ棬锛�16-瀹夊叏鐢熶骇鐩戠潱閮ㄩ棬锛�17-甯傛斂甯傚濮旓紱18-鍥藉湡灞�锛屽彲鎵╁睍锛屽閫夊悇鍙傛暟浠モ��/鈥濆垎闅斻�� diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java new file mode 100644 index 0000000..ae6b11e --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java @@ -0,0 +1,88 @@ +package com.ycl.task; + + +import com.alibaba.druid.support.json.JSONUtils; +import com.alibaba.fastjson2.JSONArray; +import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.result.UY.OneMachineFileResult; +import com.ycl.platform.domain.vo.TMonitorVO; +import com.ycl.platform.service.ITMonitorService; +import com.ycl.system.entity.SysDictData; +import com.ycl.system.service.ISysDictDataService; +import com.ycl.utils.DateUtils; +import constant.RedisConstant; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 褰撳ぉ鏅氫笂 鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴� + */ +@Slf4j +@Component("monitorTask") +public class MonitorTask { + @Autowired + private MongoTemplate mongoTemplate; + @Autowired + private ITMonitorService monitorService; + @Autowired + private ISysDictDataService dictDataService; + @Autowired + private RedisTemplate redisTemplate; + //鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴� + public void synchronize() { + Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + List<OneMachineFileResult> oneMachineFileResults = mongoTemplate.find(query, OneMachineFileResult.class); + List<String> serialNumberInBase = monitorService.selectTMonitorList(null).stream().map(TMonitorVO::getSerialNumber).collect(Collectors.toList()); + //鍑嗗鎻掑叆鏁版嵁搴撶殑鏁版嵁 + List<TMonitor> monitorList = new ArrayList<>(); + //鏂扮殑鏁版嵁锛屽師鏁版嵁搴撲腑涓嶅瓨鍦ㄧ殑鏁版嵁 + Set<TMonitor> newMonitorList = new HashSet<>(); + for (OneMachineFileResult result : oneMachineFileResults) { + TMonitor monitor = setMonitor(result); + monitorList.add(monitor); + //姣斿绛涢�夊嚭鏂扮殑鏁版嵁 + if(!CollectionUtils.isEmpty(serialNumberInBase) && !serialNumberInBase.contains(result.getSBBM())){ + newMonitorList.add(monitor); + } + } + //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤 + redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList)); + //TODO:瑙f瀽鍖哄煙 + + //TODO:瑙f瀽閲嶇偣鐐逛綅 + //閲嶇偣鐐逛綅闆嗗悎瀛楀吀 + SysDictData sysDictData = new SysDictData(); + sysDictData.setDictType("platform_important_site"); + List<SysDictData> DictDataList = dictDataService.selectDictDataList(sysDictData); + List<String> importantSite = DictDataList.stream().map(SysDictData::getDictValue).collect(Collectors.toList()); + + + } + + private TMonitor setMonitor(OneMachineFileResult result) { + TMonitor monitor = new TMonitor(); + monitor.setSerialNumber(result.getSBBM()); + monitor.setName(result.getSBMC()); + monitor.setSiteType(Long.valueOf(result.getJKDWLX())); + monitor.setMacAddr(result.getMACDZ()); + monitor.setIp(result.getIP()); + monitor.setCameraFunType(result.getSXJGNLX()); + monitor.setLongitude(result.getJD() + ""); + monitor.setLatitude(result.getWD() + ""); + monitor.setCameraCaptureArea(result.getSXJCJQY()); + monitor.setOnState(Long.valueOf(result.getSBZT())); + //鍥芥爣鐮佸墠鍏綅涓鸿鏀跨紪鐮� + monitor.setCivilCode(result.getSBBM().substring(0, 8)); + return monitor; + } +} 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 f529f48..4a359d9 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -9,6 +9,7 @@ import com.ycl.platform.domain.result.UY.OneMachineFileResult; import com.ycl.platform.domain.result.UY.QueryVqdResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; +import com.ycl.platform.service.ITMonitorService; import com.ycl.platform.service.IYwThresholdService; import com.ycl.utils.DateUtils; import constant.ApiConstants; @@ -23,6 +24,7 @@ import java.util.Date; import java.util.List; +import java.util.stream.Collectors; //浼樹簯瀵规帴鏁版嵁浠诲姟 @Slf4j @@ -35,7 +37,8 @@ private UYClient uyClient; @Autowired private IYwThresholdService ywThresholdService; - + @Autowired + private ITMonitorService monitorService; @Value("${youYun.tenantId}") private String tenantId; -- Gitblit v1.8.0