From d3e6b7687905d820427d65565d099cff3808b13e Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 29 七月 2024 10:13:19 +0800 Subject: [PATCH] 点位在线接口TODO --- ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java | 4 ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexCarService.java | 23 + ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexCarServiceImpl.java | 126 +++++++++- ycl-server/src/main/java/com/ycl/task/HKTask.java | 147 ++++++++++--- ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java | 3 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexFaceServiceImpl.java | 46 ++- ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexFaceService.java | 24 + ycl-common/src/main/java/constant/ApiConstants.java | 27 ++ /dev/null | 161 -------------- ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java | 10 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 38 --- ycl-server/src/main/java/com/ycl/web/HKClient.java | 2 ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java | 8 ycl-server/src/main/java/com/ycl/task/UYTask.java | 16 + ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 1 ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml | 5 16 files changed, 348 insertions(+), 293 deletions(-) diff --git a/ycl-common/src/main/java/constant/ApiConstants.java b/ycl-common/src/main/java/constant/ApiConstants.java new file mode 100644 index 0000000..c5b77ba --- /dev/null +++ b/ycl-common/src/main/java/constant/ApiConstants.java @@ -0,0 +1,27 @@ +package constant; + +/** + * 娴峰悍浼樹簯璇锋眰鍙傛暟甯搁噺 + */ +public class ApiConstants { + //鎴愬姛鐘舵�佺爜 + public final static String successCode = "0"; + public final static Integer pageNo = 1; + public final static Integer pageSize = 5000; + //璇锋眰鍙傛暟dataType-鍗″彛杩囪溅 + public final static Integer HK_DATATYPE_CAR = 1; + //璇锋眰鍙傛暟dataType-浜鸿劯鏁版嵁 + public final static Integer HK_DATATYPE_FACE = 2; + + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� 姝e父 + public final static Integer HK_SnapCount_ResultType_Normal = 1; + + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� 鏃犳暟鎹� + public final static Integer HK_SnapCount_ResultType_Null = 2; + + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� 鏁版嵁绐侀檷 + public final static Integer HK_SnapCount_ResultType_Descent = 3; + + //璇锋眰鍙傛暟dataType 鏁版嵁閲忓皯 + public final static Integer HK_DATATYPE_ResultType_Low = 4; +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitorVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitorVideo.java deleted file mode 100644 index 8bd8d06..0000000 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitorVideo.java +++ /dev/null @@ -1,350 +0,0 @@ -package com.ycl.platform.domain.entity; - -import annotation.Excel; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ycl.system.entity.BaseEntity; -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; - -import java.util.Date; - -/** - * 璁惧璧勪骇瀵硅薄 t_monitor_video - * - * @author ruoyi - * @date 2024-03-19 - */ -public class TMonitorVideo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** $column.columnComment */ - private Long id; - - /** 璁惧缂栫爜 */ - @Excel(name = "璁惧缂栫爜") - private String serialNumber; - - /** 璁惧鍚嶇О */ - @Excel(name = "璁惧鍚嶇О") - private String name; - - /** 鎽勫儚鏈篗ac鍦板潃 */ - @Excel(name = "鎽勫儚鏈篗ac鍦板潃") - private String macAddr; - - /** 鎽勫儚鏈篒PV4鎴朓PV6鍦板潃 */ - @Excel(name = "鎽勫儚鏈篒PV4鎴朓PV6鍦板潃") - private String ip; - - /** 璁惧缁忓害锛岃嚦灏戜繚鐣欏叚浣嶅皬鏁� */ - @Excel(name = "璁惧缁忓害锛岃嚦灏戜繚鐣欏叚浣嶅皬鏁�") - private String longitude; - - /** 璁惧缁村害锛岃嚦灏戜繚鐣欏叚浣嶅皬鏁� */ - @Excel(name = "璁惧缁村害锛岃嚦灏戜繚鐣欏叚浣嶅皬鏁�") - private String latitude; - - /** 璁惧鐘舵�� 1/2 鍙敤/涓嶅彲鐢� */ - @Excel(name = "璁惧鐘舵�� 1/2 鍙敤/涓嶅彲鐢�") - private Long onState; - - /** 琛屾斂鍖哄煙 */ - @Excel(name = "琛屾斂鍖哄煙") - private String civilCode; - - /** 瀹夎鍦板潃 */ - @Excel(name = "瀹夎鍦板潃") - private String address; - - /** 瀹夎鏃堕棿 yyyy-MM-dd HH:mm:ss */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "瀹夎鏃堕棿 yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd") - private Date installedTime; - - /** 绠$悊鍗曚綅 */ - @Excel(name = "绠$悊鍗曚綅") - private String managementUnit; - - /** 绠$悊鍗曚綅鑱旂郴鏂瑰紡 */ - @Excel(name = "绠$悊鍗曚綅鑱旂郴鏂瑰紡") - private String muContactInfo; - - /** 褰曡薄淇濆瓨澶╂暟 0 - 2147483647 */ - @Excel(name = "褰曡薄淇濆瓨澶╂暟 0 - 2147483647") - private Long storageDays; - - /** 寮傚父鍘熷洜 */ - @Excel(name = "寮傚父鍘熷洜") - private String reason; - - /** 鏄惁鐢熸垚寮傚父宸ュ崟 */ - @Excel(name = "鏄惁鐢熸垚寮傚父宸ュ崟") - private Long defaultOrder; - - /** 寮傚父鎭㈠鏍囪瘑 */ - @Excel(name = "寮傚父鎭㈠鏍囪瘑 ") - private Long recovery; - - /** 寮傚父鎭㈠鏃堕棿 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "寮傚父鎭㈠鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd") - private Date recoveryTime; - - /** 鑰冩牳鏍囩 */ - @Excel(name = "鑰冩牳鏍囩") - private String tag; - - /** 鍖哄煙 */ - @Excel(name = "鍖哄煙") - private String region; - - /** 淇′护鏃跺欢 */ - @Excel(name = "淇′护鏃跺欢") - private Long sipDelay; - - /** 瑙嗛鏃跺欢 */ - @Excel(name = "瑙嗛鏃跺欢") - private Long videoDelay; - - /** 鍏抽敭甯ф椂寤� */ - @Excel(name = "鍏抽敭甯ф椂寤�") - private Long iframeDelay; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setSerialNumber(String serialNumber) - { - this.serialNumber = serialNumber; - } - - public String getSerialNumber() - { - return serialNumber; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setMacAddr(String macAddr) - { - this.macAddr = macAddr; - } - - public String getMacAddr() - { - return macAddr; - } - public void setIp(String ip) - { - this.ip = ip; - } - - public String getIp() - { - return ip; - } - public void setLongitude(String longitude) - { - this.longitude = longitude; - } - - public String getLongitude() - { - return longitude; - } - public void setLatitude(String latitude) - { - this.latitude = latitude; - } - - public String getLatitude() - { - return latitude; - } - public void setOnState(Long onState) - { - this.onState = onState; - } - - public Long getOnState() - { - return onState; - } - public void setCivilCode(String civilCode) - { - this.civilCode = civilCode; - } - - public String getCivilCode() - { - return civilCode; - } - public void setAddress(String address) - { - this.address = address; - } - - public String getAddress() - { - return address; - } - public void setInstalledTime(Date installedTime) - { - this.installedTime = installedTime; - } - - public Date getInstalledTime() - { - return installedTime; - } - public void setManagementUnit(String managementUnit) - { - this.managementUnit = managementUnit; - } - - public String getManagementUnit() - { - return managementUnit; - } - public void setMuContactInfo(String muContactInfo) - { - this.muContactInfo = muContactInfo; - } - - public String getMuContactInfo() - { - return muContactInfo; - } - public void setStorageDays(Long storageDays) - { - this.storageDays = storageDays; - } - - public Long getStorageDays() - { - return storageDays; - } - public void setReason(String reason) - { - this.reason = reason; - } - - public String getReason() - { - return reason; - } - public void setDefaultOrder(Long defaultOrder) - { - this.defaultOrder = defaultOrder; - } - - public Long getDefaultOrder() - { - return defaultOrder; - } - public void setRecovery(Long recovery) - { - this.recovery = recovery; - } - - public Long getRecovery() - { - return recovery; - } - public void setRecoveryTime(Date recoveryTime) - { - this.recoveryTime = recoveryTime; - } - - public Date getRecoveryTime() - { - return recoveryTime; - } - - public void setRegion(String region) - { - this.region = region; - } - - public String getRegion() - { - return region; - } - public void setSipDelay(Long sipDelay) - { - this.sipDelay = sipDelay; - } - - public Long getSipDelay() - { - return sipDelay; - } - public void setVideoDelay(Long videoDelay) - { - this.videoDelay = videoDelay; - } - - public Long getVideoDelay() - { - return videoDelay; - } - public void setIframeDelay(Long iframeDelay) - { - this.iframeDelay = iframeDelay; - } - - public Long getIframeDelay() - { - return iframeDelay; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("serialNumber", getSerialNumber()) - .append("name", getName()) - .append("macAddr", getMacAddr()) - .append("ip", getIp()) - .append("longitude", getLongitude()) - .append("latitude", getLatitude()) - .append("onState", getOnState()) - .append("civilCode", getCivilCode()) - .append("address", getAddress()) - .append("installedTime", getInstalledTime()) - .append("managementUnit", getManagementUnit()) - .append("muContactInfo", getMuContactInfo()) - .append("storageDays", getStorageDays()) - .append("reason", getReason()) - .append("defaultOrder", getDefaultOrder()) - .append("recovery", getRecovery()) - .append("recoveryTime", getRecoveryTime()) - .append("tag", getTag()) - .append("region", getRegion()) - .append("sipDelay", getSipDelay()) - .append("videoDelay", getVideoDelay()) - .append("iframeDelay", getIframeDelay()) - .toString(); - } -} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java index 19baf3a..91b6c63 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java @@ -1,6 +1,7 @@ package com.ycl.platform.domain.result.HK; import lombok.Data; +import org.springframework.data.mongodb.core.mapping.Document; /** * 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� @@ -8,7 +9,8 @@ * @author gonghl */ @Data -public class SnapshotDataMonitorResult { +@Document(collection = "snapshot_data_monitor") +public class SnapshotDataMonitorResult extends BaseResult{ /** * dataType涓�1锛氬崱鍙e唴鐮� dataType涓�2鎴�11锛氶噰闆嗚澶囧唴鐮� diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorVideoController.java b/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorVideoController.java deleted file mode 100644 index 5a41f87..0000000 --- a/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorVideoController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.ycl.platform.controller; - -import annotation.Log; -import com.ycl.platform.domain.entity.TMonitorVideo; -import com.ycl.platform.service.ITMonitorVideoService; -import com.ycl.system.AjaxResult; -import com.ycl.system.controller.BaseController; -import com.ycl.system.page.TableDataInfo; -import com.ycl.utils.poi.ExcelUtil; -import enumeration.BusinessType; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 璁惧璧勪骇Controller - * - * @author ruoyi - * @date 2024-03-19 - */ -@RestController -@RequestMapping("/system/video") -public class TMonitorVideoController extends BaseController -{ - @Autowired - private ITMonitorVideoService tMonitorVideoService; - - /** - * 鏌ヨ璁惧璧勪骇鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('system:video:list')") - @GetMapping("/list") - public TableDataInfo list(TMonitorVideo tMonitorVideo) - { - startPage(); - List<TMonitorVideo> list = tMonitorVideoService.selectTMonitorVideoList(tMonitorVideo); - return getDataTable(list); - } - - /** - * 瀵煎嚭璁惧璧勪骇鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('system:video:export')") - @Log(title = "璁惧璧勪骇", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, TMonitorVideo tMonitorVideo) - { - List<TMonitorVideo> list = tMonitorVideoService.selectTMonitorVideoList(tMonitorVideo); - ExcelUtil<TMonitorVideo> util = new ExcelUtil<TMonitorVideo>(TMonitorVideo.class); - util.exportExcel(response, list, "璁惧璧勪骇鏁版嵁"); - } - - /** - * 鑾峰彇璁惧璧勪骇璇︾粏淇℃伅 - */ - @PreAuthorize("@ss.hasPermi('system:video:query')") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return success(tMonitorVideoService.selectTMonitorVideoById(id)); - } - - /** - * 鏂板璁惧璧勪骇 - */ - @PreAuthorize("@ss.hasPermi('system:video:add')") - @Log(title = "璁惧璧勪骇", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody TMonitorVideo tMonitorVideo) - { - return toAjax(tMonitorVideoService.insertTMonitorVideo(tMonitorVideo)); - } - - /** - * 淇敼璁惧璧勪骇 - */ - @PreAuthorize("@ss.hasPermi('system:video:edit')") - @Log(title = "璁惧璧勪骇", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody TMonitorVideo tMonitorVideo) - { - return toAjax(tMonitorVideoService.updateTMonitorVideo(tMonitorVideo)); - } - - /** - * 鍒犻櫎璁惧璧勪骇 - */ - @PreAuthorize("@ss.hasPermi('system:video:remove')") - @Log(title = "璁惧璧勪骇", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(tMonitorVideoService.deleteTMonitorVideoByIds(ids)); - } -} diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorVideoMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorVideoMapper.java deleted file mode 100644 index 7e09912..0000000 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorVideoMapper.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ycl.platform.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ycl.platform.domain.entity.TMonitorVideo; - -import java.util.List; - -/** - * 璁惧璧勪骇Mapper鎺ュ彛 - * - * @author ruoyi - * @date 2024-03-19 - */ -public interface TMonitorVideoMapper extends BaseMapper<TMonitorVideo> -{ - /** - * 鏌ヨ璁惧璧勪骇 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 璁惧璧勪骇 - */ - public TMonitorVideo selectTMonitorVideoById(Long id); - - /** - * 鏌ヨ璁惧璧勪骇鍒楄〃 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 璁惧璧勪骇闆嗗悎 - */ - public List<TMonitorVideo> selectTMonitorVideoList(TMonitorVideo tMonitorVideo); - - /** - * 鏂板璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - public int insertTMonitorVideo(TMonitorVideo tMonitorVideo); - - /** - * 淇敼璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - public int updateTMonitorVideo(TMonitorVideo tMonitorVideo); - - /** - * 鍒犻櫎璁惧璧勪骇 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 缁撴灉 - */ - public int deleteTMonitorVideoById(Long id); - - /** - * 鎵归噺鍒犻櫎璁惧璧勪骇 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 - * @return 缁撴灉 - */ - public int deleteTMonitorVideoByIds(Long[] ids); -} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexCarService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexCarService.java index bf6443f..2f53b66 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexCarService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexCarService.java @@ -1,20 +1,21 @@ package com.ycl.platform.service; import com.ycl.platform.domain.entity.CheckIndexCar; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import java.util.List; /** * 杞﹁締鎸囨爣姒傜巼鏁版嵁Service鎺ュ彛 - * + * * @author ruoyi * @date 2024-04-29 */ -public interface ICheckIndexCarService +public interface ICheckIndexCarService { /** * 鏌ヨ杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param id 杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 杞﹁締鎸囨爣姒傜巼鏁版嵁 */ @@ -22,7 +23,7 @@ /** * 鏌ヨ杞﹁締鎸囨爣姒傜巼鏁版嵁鍒楄〃 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 杞﹁締鎸囨爣姒傜巼鏁版嵁闆嗗悎 */ @@ -30,7 +31,7 @@ /** * 鏂板杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @@ -38,7 +39,7 @@ /** * 淇敼杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @@ -46,7 +47,7 @@ /** * 鎵归噺鍒犻櫎杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param ids 闇�瑕佸垹闄ょ殑杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭闆嗗悎 * @return 缁撴灉 */ @@ -54,9 +55,15 @@ /** * 鍒犻櫎杞﹁締鎸囨爣姒傜巼鏁版嵁淇℃伅 - * + * * @param id 杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ public int deleteCheckIndexCarById(Long id); + + /** + * 璁$畻杞﹁締鐐逛綅鍦ㄧ嚎鐜� + * @param list + */ + void siteOnline(List<SnapshotDataMonitorResult> list); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexFaceService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexFaceService.java index b9acecc..860f25c 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexFaceService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckIndexFaceService.java @@ -1,20 +1,21 @@ package com.ycl.platform.service; import com.ycl.platform.domain.entity.CheckIndexFace; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import java.util.List; /** * 浜鸿劯鎸囨爣姒傜巼鏁版嵁Service鎺ュ彛 - * + * * @author ruoyi * @date 2024-04-29 */ -public interface ICheckIndexFaceService +public interface ICheckIndexFaceService { /** * 鏌ヨ浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param id 浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 浜鸿劯鎸囨爣姒傜巼鏁版嵁 */ @@ -22,7 +23,7 @@ /** * 鏌ヨ浜鸿劯鎸囨爣姒傜巼鏁版嵁鍒楄〃 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 浜鸿劯鎸囨爣姒傜巼鏁版嵁闆嗗悎 */ @@ -30,7 +31,7 @@ /** * 鏂板浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @@ -38,7 +39,7 @@ /** * 淇敼浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @@ -46,7 +47,7 @@ /** * 鎵归噺鍒犻櫎浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param ids 闇�瑕佸垹闄ょ殑浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭闆嗗悎 * @return 缁撴灉 */ @@ -54,9 +55,16 @@ /** * 鍒犻櫎浜鸿劯鎸囨爣姒傜巼鏁版嵁淇℃伅 - * + * * @param id 浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ public int deleteCheckIndexFaceById(Long id); + + /** + * 璁$畻浜鸿劯鐐逛綅鍦ㄧ嚎鐜� + * @param list + */ + void siteOnline(List<SnapshotDataMonitorResult> list); + } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java index da3f76a..38de510 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java @@ -1,5 +1,6 @@ package com.ycl.platform.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.vo.TMonitorVO; @@ -12,7 +13,7 @@ * @author ruoyi * @date 2024-03-04 */ -public interface ITMonitorService +public interface ITMonitorService extends IService<TMonitor> { /** * 鏌ヨ璁惧璧勪骇 diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java deleted file mode 100644 index a2cae36..0000000 --- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ycl.platform.service; - -import com.ycl.platform.domain.entity.TMonitorVideo; - -import java.util.List; - -/** - * 璁惧璧勪骇Service鎺ュ彛 - * - * @author ruoyi - * @date 2024-03-19 - */ -public interface ITMonitorVideoService -{ - /** - * 鏌ヨ璁惧璧勪骇 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 璁惧璧勪骇 - */ - public TMonitorVideo selectTMonitorVideoById(Long id); - - /** - * 鏌ヨ璁惧璧勪骇鍒楄〃 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 璁惧璧勪骇闆嗗悎 - */ - public List<TMonitorVideo> selectTMonitorVideoList(TMonitorVideo tMonitorVideo); - - /** - * 鏂板璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - public int insertTMonitorVideo(TMonitorVideo tMonitorVideo); - - /** - * 淇敼璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - public int updateTMonitorVideo(TMonitorVideo tMonitorVideo); - - /** - * 鎵归噺鍒犻櫎璁惧璧勪骇 - * - * @param ids 闇�瑕佸垹闄ょ殑璁惧璧勪骇涓婚敭闆嗗悎 - * @return 缁撴灉 - */ - public int deleteTMonitorVideoByIds(Long[] ids); - - /** - * 鍒犻櫎璁惧璧勪骇淇℃伅 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 缁撴灉 - */ - public int deleteTMonitorVideoById(Long id); -} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexCarServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexCarServiceImpl.java index c01bf8b..5741332 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexCarServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexCarServiceImpl.java @@ -1,96 +1,180 @@ package com.ycl.platform.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.platform.domain.entity.CheckIndexCar; +import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.mapper.CheckIndexCarMapper; import com.ycl.platform.service.ICheckIndexCarService; +import com.ycl.platform.service.ITMonitorService; +import com.ycl.system.entity.SysDept; +import com.ycl.system.mapper.SysDeptMapper; +import constant.ApiConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import utils.DateUtils; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 杞﹁締鎸囨爣姒傜巼鏁版嵁Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2024-04-29 */ @Service -public class CheckIndexCarServiceImpl implements ICheckIndexCarService -{ +public class CheckIndexCarServiceImpl implements ICheckIndexCarService { @Autowired private CheckIndexCarMapper checkIndexCarMapper; + @Autowired + private ITMonitorService monitorService; + @Autowired + private SysDeptMapper deptMapper; /** * 鏌ヨ杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param id 杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 杞﹁締鎸囨爣姒傜巼鏁版嵁 */ @Override - public CheckIndexCar selectCheckIndexCarById(Long id) - { + public CheckIndexCar selectCheckIndexCarById(Long id) { return checkIndexCarMapper.selectCheckIndexCarById(id); } /** * 鏌ヨ杞﹁締鎸囨爣姒傜巼鏁版嵁鍒楄〃 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 杞﹁締鎸囨爣姒傜巼鏁版嵁 */ @Override - public List<CheckIndexCar> selectCheckIndexCarList(CheckIndexCar checkIndexCar) - { + public List<CheckIndexCar> selectCheckIndexCarList(CheckIndexCar checkIndexCar) { return checkIndexCarMapper.selectCheckIndexCarList(checkIndexCar); } /** * 鏂板杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @Override - public int insertCheckIndexCar(CheckIndexCar checkIndexCar) - { + public int insertCheckIndexCar(CheckIndexCar checkIndexCar) { checkIndexCar.setCreateTime(DateUtils.getNowDate()); return checkIndexCarMapper.insertCheckIndexCar(checkIndexCar); } /** * 淇敼杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexCar 杞﹁締鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @Override - public int updateCheckIndexCar(CheckIndexCar checkIndexCar) - { + public int updateCheckIndexCar(CheckIndexCar checkIndexCar) { return checkIndexCarMapper.updateCheckIndexCar(checkIndexCar); } /** * 鎵归噺鍒犻櫎杞﹁締鎸囨爣姒傜巼鏁版嵁 - * + * * @param ids 闇�瑕佸垹闄ょ殑杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ @Override - public int deleteCheckIndexCarByIds(Long[] ids) - { + public int deleteCheckIndexCarByIds(Long[] ids) { return checkIndexCarMapper.deleteCheckIndexCarByIds(ids); } /** * 鍒犻櫎杞﹁締鎸囨爣姒傜巼鏁版嵁淇℃伅 - * + * * @param id 杞﹁締鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ @Override - public int deleteCheckIndexCarById(Long id) - { + public int deleteCheckIndexCarById(Long id) { return checkIndexCarMapper.deleteCheckIndexCarById(id); } + + /** + * 璁$畻杞﹁締鐐逛綅鍦ㄧ嚎鐜囥�佽鍥惧簱瀵规帴绋冲畾鎬� + * + * @param list + */ + @Override + public void siteOnline(List<SnapshotDataMonitorResult> list) { + //璁惧id + List<String> deviceIds = list.stream().map(SnapshotDataMonitorResult::getExternalIndexCode).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(deviceIds)) { + // 鐢ㄤ簬瀛樺偍姣忎釜鍖哄煙缁熻淇℃伅鐨勮緟鍔╃被 + class AreaStats { + //鐐逛綅鎬绘暟 + int totalSites = 0; + //绂荤嚎鐐逛綅鏁� + int offlineSites = 0; + //鎬绘姄鎷嶉噺 + int totalDataSum = 0; + } + List<TMonitor> monitors = monitorService.list(new QueryWrapper<TMonitor>().in("serial_number", deviceIds)); + Map<String, AreaStats> areaStatsMap = new HashMap<>(); + //鑾峰緱鎵�鏈夊尯鍘縟eptId + List<Long> deptIds = deptMapper.selectByParentId(207L); + deptIds.forEach(deptId -> areaStatsMap.put(deptId + "", new AreaStats())); + + //杞崲涓簃ap + //TODO锛氬垎鐪佸巺甯傚眬 + List<String> provinceIds = new ArrayList<>(); + Map<String, TMonitor> monitorMap = monitors.stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity())); + for (SnapshotDataMonitorResult result : list) { + TMonitor monitor = monitorMap.get(result.getExternalIndexCode()); + AreaStats areaStats = areaStatsMap.get(monitor.getDeptId() + ""); + String serialNumber = monitor.getSerialNumber(); + //鏃犳暟鎹� + if (ApiConstants.HK_SnapCount_ResultType_Null == result.getResultType()) { + //鍖哄煙绂荤嚎鐐逛綅鏁� + areaStats.offlineSites++; + } else { + //鍖哄煙鎬绘姄鎷嶉噺 + areaStats.totalSites += result.getDataCount(); + } + //鍖哄煙鐐逛綅鎬绘暟 + areaStats.totalDataSum++; + //鏄惁鏄渷鍘呮暟鎹� + if (!CollectionUtils.isEmpty(provinceIds)) { + if (provinceIds.contains(serialNumber)) { + //鐪佸巺鏁版嵁 + AreaStats provinceStats = areaStatsMap.get("Province_" + monitor.getDeptId()); + //鏃犳暟鎹� + if (ApiConstants.HK_SnapCount_ResultType_Null == result.getResultType()) { + //鍖哄煙绂荤嚎鐐逛綅鏁� + provinceStats.offlineSites++; + } else { + //鍖哄煙鎬绘姄鎷嶉噺 + provinceStats.totalSites += result.getDataCount(); + } + //鍖哄煙鐐逛綅鎬绘暟 + provinceStats.totalDataSum++; + areaStatsMap.put("Province_" + monitor.getDeptId(), areaStats); + } + } + areaStatsMap.put(monitor.getDeptId() + "", areaStats); + } + + areaStatsMap.forEach((k, v) -> { + if (k.startsWith("Province_")) { + + } + }); + CheckIndexCar checkIndexCar = new CheckIndexCar(); + + } + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexFaceServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexFaceServiceImpl.java index 6065faa..e23ab19 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexFaceServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexFaceServiceImpl.java @@ -1,6 +1,7 @@ package com.ycl.platform.service.impl; import com.ycl.platform.domain.entity.CheckIndexFace; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.mapper.CheckIndexFaceMapper; import com.ycl.platform.service.ICheckIndexFaceService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,86 +12,89 @@ /** * 浜鸿劯鎸囨爣姒傜巼鏁版嵁Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2024-04-29 */ @Service -public class CheckIndexFaceServiceImpl implements ICheckIndexFaceService -{ +public class CheckIndexFaceServiceImpl implements ICheckIndexFaceService { @Autowired private CheckIndexFaceMapper checkIndexFaceMapper; /** * 鏌ヨ浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param id 浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 浜鸿劯鎸囨爣姒傜巼鏁版嵁 */ @Override - public CheckIndexFace selectCheckIndexFaceById(Long id) - { + public CheckIndexFace selectCheckIndexFaceById(Long id) { return checkIndexFaceMapper.selectCheckIndexFaceById(id); } /** * 鏌ヨ浜鸿劯鎸囨爣姒傜巼鏁版嵁鍒楄〃 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 浜鸿劯鎸囨爣姒傜巼鏁版嵁 */ @Override - public List<CheckIndexFace> selectCheckIndexFaceList(CheckIndexFace checkIndexFace) - { + public List<CheckIndexFace> selectCheckIndexFaceList(CheckIndexFace checkIndexFace) { return checkIndexFaceMapper.selectCheckIndexFaceList(checkIndexFace); } /** * 鏂板浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @Override - public int insertCheckIndexFace(CheckIndexFace checkIndexFace) - { + public int insertCheckIndexFace(CheckIndexFace checkIndexFace) { checkIndexFace.setCreateTime(DateUtils.getNowDate()); return checkIndexFaceMapper.insertCheckIndexFace(checkIndexFace); } /** * 淇敼浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param checkIndexFace 浜鸿劯鎸囨爣姒傜巼鏁版嵁 * @return 缁撴灉 */ @Override - public int updateCheckIndexFace(CheckIndexFace checkIndexFace) - { + public int updateCheckIndexFace(CheckIndexFace checkIndexFace) { return checkIndexFaceMapper.updateCheckIndexFace(checkIndexFace); } /** * 鎵归噺鍒犻櫎浜鸿劯鎸囨爣姒傜巼鏁版嵁 - * + * * @param ids 闇�瑕佸垹闄ょ殑浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ @Override - public int deleteCheckIndexFaceByIds(Long[] ids) - { + public int deleteCheckIndexFaceByIds(Long[] ids) { return checkIndexFaceMapper.deleteCheckIndexFaceByIds(ids); } /** * 鍒犻櫎浜鸿劯鎸囨爣姒傜巼鏁版嵁淇℃伅 - * + * * @param id 浜鸿劯鎸囨爣姒傜巼鏁版嵁涓婚敭 * @return 缁撴灉 */ @Override - public int deleteCheckIndexFaceById(Long id) - { + public int deleteCheckIndexFaceById(Long id) { return checkIndexFaceMapper.deleteCheckIndexFaceById(id); } + + /** + * 璁$畻浜鸿劯鐐逛綅鍦ㄧ嚎鐜� + * + * @param list + */ + @Override + public void siteOnline(List<SnapshotDataMonitorResult> list) { + + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java index 8ec391a..4993e48 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java @@ -45,7 +45,7 @@ /** * 鑰冩牳绉垎鏄庣粏Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2024-04-22 */ @@ -71,7 +71,7 @@ private ISysDeptService deptService; /** * 鏌ヨ鑰冩牳绉垎鎸囨爣 - * + * * @param id 鑰冩牳绉垎涓婚敭 * @return 鑰冩牳绉垎 */ @@ -126,7 +126,7 @@ /** * 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃 - * + * * @param checkScore 鑰冩牳绉垎 * @return 鑰冩牳绉垎 */ @@ -232,38 +232,6 @@ mysheet.add(e3); ExcelUtilManySheet<List<ExcelExp>> util = new ExcelUtilManySheet<>(mysheet); util.exportExcelManySheet(response,mysheet); - - //瀵煎崟sheet鐨勬柟寮� -// switch (CheckScoreType.fromValue(examineCategory)){ -// case CHECK_SCORE_TYPE_CAR: -// //鏌ヨ溅杈� -// List<CheckIndexCar> checkIndexCars = indexCarService.selectCheckIndexCarList(new CheckIndexCar()); -// export(response, depts, checkIndexCars,CheckIndexCar.class); -// break; -// case CHECK_SCORE_TYPE_FACE: -// // 鏌ヤ汉鑴� -// List<CheckIndexFace> checkIndexFaces = indexFaceService.selectCheckIndexFaceList(new CheckIndexFace()); -// export(response, depts, checkIndexFaces,CheckIndexFace.class); -// break; -// case CHECK_SCORE_TYPE_VIDEO: -// // 鏌ヨ棰� -// List<CheckIndexVideo> checkIndexVideos = indexVideoService.selectCheckIndexVideoList(new CheckIndexVideo()); -// export(response, depts, checkIndexVideos,CheckIndexVideo.class); -// break; -// } - } - - private <T extends CheckIndex> void export(HttpServletResponse response, List<BaseSelect> depts, List<T> checkIndexes,Class<T> checkIndexClass) { - //鏆傛椂娌$敤锛屽鏋滄暟鎹繃澶э紝鍦╯erver灞傜炕璇戯紝閬垮厤杩炶〃 - checkIndexes.forEach(checkIndex->{ - Optional<BaseSelect> first = depts.stream().filter(baseSelect -> checkIndex.getDeptId().equals(Long.valueOf(baseSelect.getId()+""))).findFirst(); - if(first.isPresent()){ - checkIndex.setDeptName(first.get().getValue()); - } - }); - - ExcelUtil<T> util = new ExcelUtil<T>(checkIndexClass); - util.exportExcel(response, checkIndexes, "鑰冩牳绉垎鏄庣粏鏁版嵁"); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorVideoServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorVideoServiceImpl.java deleted file mode 100644 index 8ffeab4..0000000 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorVideoServiceImpl.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.ycl.platform.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.platform.domain.entity.TMonitorVideo; -import com.ycl.platform.mapper.TMonitorVideoMapper; -import com.ycl.platform.service.ITMonitorVideoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 璁惧璧勪骇Service涓氬姟灞傚鐞� - * - * @author ruoyi - * @date 2024-03-19 - */ -@Service -public class TMonitorVideoServiceImpl extends ServiceImpl<TMonitorVideoMapper, TMonitorVideo> implements ITMonitorVideoService -{ - @Autowired - private TMonitorVideoMapper tMonitorVideoMapper; - - /** - * 鏌ヨ璁惧璧勪骇 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 璁惧璧勪骇 - */ - @Override - public TMonitorVideo selectTMonitorVideoById(Long id) - { - return tMonitorVideoMapper.selectTMonitorVideoById(id); - } - - /** - * 鏌ヨ璁惧璧勪骇鍒楄〃 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 璁惧璧勪骇 - */ - @Override - public List<TMonitorVideo> selectTMonitorVideoList(TMonitorVideo tMonitorVideo) - { - return tMonitorVideoMapper.selectTMonitorVideoList(tMonitorVideo); - } - - /** - * 鏂板璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - @Override - public int insertTMonitorVideo(TMonitorVideo tMonitorVideo) - { - return tMonitorVideoMapper.insertTMonitorVideo(tMonitorVideo); - } - - /** - * 淇敼璁惧璧勪骇 - * - * @param tMonitorVideo 璁惧璧勪骇 - * @return 缁撴灉 - */ - @Override - public int updateTMonitorVideo(TMonitorVideo tMonitorVideo) - { - return tMonitorVideoMapper.updateTMonitorVideo(tMonitorVideo); - } - - /** - * 鎵归噺鍒犻櫎璁惧璧勪骇 - * - * @param ids 闇�瑕佸垹闄ょ殑璁惧璧勪骇涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteTMonitorVideoByIds(Long[] ids) - { - return tMonitorVideoMapper.deleteTMonitorVideoByIds(ids); - } - - /** - * 鍒犻櫎璁惧璧勪骇淇℃伅 - * - * @param id 璁惧璧勪骇涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteTMonitorVideoById(Long id) - { - return tMonitorVideoMapper.deleteTMonitorVideoById(id); - } -} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java index 78339cd..f7e87d5 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java @@ -101,7 +101,11 @@ return ywThresholdMapper.deleteYwThresholdById(id); } - + /** + * 鍒ゆ柇瑙嗛闃堝�兼槸鍚︽弧瓒充笅鍙戞潯浠� + * + * @param list + */ @Override public void videoCheck(List list) { @@ -207,15 +211,15 @@ T thresholdAutoValue = parseThreshold(ywThreshold.getValue(), value.getClass()); //姣旇緝澶у皬锛屽姞鍏ュ埌瀵瑰簲寰呭鐞嗛泦鍚� if (compareType.compare(v, thresholdAutoValue)) { + //鑷姩涓嬪彂宸ュ崟 workOrderList.add(result); } else if (compareType.compare(v, thresholdValue)) { + //杩涘叆宸ュ崟浠d笅鍙� distributeList.add(result); } }, () -> log.error("{} 涓虹┖: {}", thresholds.get(key).getName(), result) ); - - } private <T extends Comparable<T>> T parseThreshold(String thresholdStr, Class<?> type) { diff --git a/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java b/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java index effeed2..b95a5b5 100644 --- a/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java +++ b/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java @@ -134,4 +134,12 @@ * @return */ List<Long> selectParents(@Param("id") Long deptId); + + /** + * 鏌ヨ鑷繁鐨勭埗绫婚儴闂↖D + * + * @param deptId + * @return + */ + List<Long> selectByParentId(@Param("id") Long deptId); } diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java index 32b9c59..ac2f64e 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -3,12 +3,19 @@ import com.alibaba.fastjson2.JSONObject; import com.ycl.platform.domain.entity.YwThreshold; import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam; +import com.ycl.platform.domain.param.HK.SnapshotDataMonitorParam; import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam; +import com.ycl.platform.domain.result.HK.BaseResult; import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult; import com.ycl.platform.mapper.YwThresholdMapper; +import com.ycl.platform.service.ICheckIndexCarService; +import com.ycl.platform.service.ICheckIndexFaceService; +import com.ycl.platform.service.ICheckIndexVideoService; import com.ycl.platform.service.IYwThresholdService; import com.ycl.web.HKClient; +import constant.ApiConstants; import enumeration.BusinessType; import enumeration.general.BusinessTypeEnum; import lombok.extern.slf4j.Slf4j; @@ -32,70 +39,144 @@ private HKClient hkClient; @Autowired private IYwThresholdService ywThresholdService; - - private final static Integer pageNo = 1; - private final static Integer pageSize = 5000; - //鎴愬姛鐘舵�佺爜 - private final static String successCode = "0"; + @Autowired + private ICheckIndexFaceService checkIndexFaceService; + @Autowired + private ICheckIndexCarService checkIndexCarService; + @Autowired + private ICheckIndexVideoService checkIndexVideoService; //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 public void VehicleDeviceInspectionTask() { log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()); JSONObject jsonObject = hkClient.VehicleDeviceInspection(param); - if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } - List<VehicleDeviceInspectionResult> list = data.getList("list", VehicleDeviceInspectionResult.class); - list.forEach(item ->item.setCreateTime(new Date())); - if (CollectionUtils.isEmpty(list)) { - throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } + List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); + if (!CollectionUtils.isEmpty(list)) { //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� ywThresholdService.carCheck(list); - - } else { - log.error("鍚屾杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); } log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } - + //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 public void FaceDeviceInspectionTask() { log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()); JSONObject jsonObject = hkClient.FaceDeviceInspection(param); - if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } - List<FaceDeviceInspectionResult> list = data.getList("list", FaceDeviceInspectionResult.class); - list.forEach(item ->item.setCreateTime(new Date())); - if (CollectionUtils.isEmpty(list)) { - throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } + List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); + if (!CollectionUtils.isEmpty(list)) { //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� ywThresholdService.faceCheck(list); - } else { - log.error("鍚屾浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); } log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� + public void SnapshotDataMonitorTask() { + log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�"); + /** 杞﹁締鏁版嵁 */ + SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam(); + carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_CAR); + JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam); + List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�"); + if (!CollectionUtils.isEmpty(carList)) { + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insert(carList); + //TODO:杞﹁締鐐逛綅鍦ㄧ嚎鐜� + checkIndexCarService.siteOnline(carList); + } + + /** 浜鸿劯鏁版嵁 */ + SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam(); + faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_FACE); + JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam); + List list = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�"); + if (!CollectionUtils.isEmpty(list)) { + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insert(list); + //TODO:浜鸿劯鐐逛綅鍦ㄧ嚎鐜� + checkIndexFaceService.siteOnline(list); + } + + log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); + } + + + //涓�鏈轰竴妗� + public void task2() { + //鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 + } + + //鍗″彛灞炴�х洃娴嬬粨鏋� + public void task3() { + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + } + + //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋� + public void task4() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + } + + //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋� + public void task5() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + } + + //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 + public void task6() { + //杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� + } + + //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉 + public void task7() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� + } + + //鍥剧墖璁块棶鐩戞祴缁撴灉 + public void task8() { + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + + //杞﹁締鍗″彛璁惧url鍙敤鎬� + } + + //鑾峰彇褰撳墠鏃ユ湡 private String getToday() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String today = sdf.format(date); return today; } + + //瑙f瀽鏁版嵁 + private <T> List<T> getDataList(JSONObject faceJsonObject, Class<T> resultClass, String message) { + if (faceJsonObject != null && ApiConstants.successCode.equals(faceJsonObject.getString("code"))) { + JSONObject data = faceJsonObject.getJSONObject("data"); + if (data == null) { + log.error(message, faceJsonObject); + return null; + } + List<T> list = data.getList("list", resultClass); + if (CollectionUtils.isEmpty(list)) { + log.error(message, data); + return null; + } + for (T t : list) { + if (t instanceof BaseResult) { + ((BaseResult) t).setCreateTime(new Date()); + } + } + return list; + } else { + log.error(message); + } + return null; + } } 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 e0c9c37..b173baf 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -49,6 +49,22 @@ log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } + //涓�鏈轰竴妗� + public void task1() { + //涓�鏈轰竴妗e悎鏍肩巼 + // 涓�鏈轰竴妗f敞鍐岀巼 + // 妗f鑰冩牳姣� + } + + //鍥惧儚鐩戞祴璇婃柇缁撴灉 + public void task2() { + //鐐逛綅鍦ㄧ嚎鐜� + } + + //褰曞儚鍙敤 + public void task3() { + //褰曞儚鍙敤鐜� + } private String getToday() { Date date = new Date(); diff --git a/ycl-server/src/main/java/com/ycl/web/HKClient.java b/ycl-server/src/main/java/com/ycl/web/HKClient.java index af6f745..58c13fe 100644 --- a/ycl-server/src/main/java/com/ycl/web/HKClient.java +++ b/ycl-server/src/main/java/com/ycl/web/HKClient.java @@ -143,7 +143,7 @@ * @return 鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉 */ @PostMapping("/dqd/service/rs/v1/data/snapAgingDetail/query") - JSONObject SnapshotDataMonitor(SnapshotDelayMonitorParam param); + JSONObject SnapshotDelayMonitor(SnapshotDelayMonitorParam param); /** * 鍥剧墖璁块棶鐩戞祴缁撴灉 diff --git a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml index 876e4e0..18a67f9 100644 --- a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml @@ -79,6 +79,11 @@ select * from sys_dept where find_in_set(#{deptId}, ancestors) </select> + <select id="selectByParentId" resultType="java.lang.Integer"> + select dept_id from sys_dept + where del_flag = 0 and parent_id = #{id} + </select> + <select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int"> select count(*) from sys_dept where status = '0' and del_flag = 0 and find_in_set(#{deptId}, ancestors) </select> diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml index e23dd08..460ec85 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml @@ -254,4 +254,5 @@ FROM t_monitor WHERE recovery = 1 </select> + </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml deleted file mode 100644 index 3747489..0000000 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.ycl.platform.mapper.TMonitorVideoMapper"> - - <resultMap type="com.ycl.platform.domain.entity.TMonitorVideo" id="TMonitorVideoResult"> - <result property="id" column="id" /> - <result property="serialNumber" column="serial_number" /> - <result property="name" column="name" /> - <result property="macAddr" column="mac_addr" /> - <result property="ip" column="ip" /> - <result property="longitude" column="longitude" /> - <result property="latitude" column="latitude" /> - <result property="onState" column="on_state" /> - <result property="civilCode" column="civil_code" /> - <result property="address" column="address" /> - <result property="installedTime" column="installed_time" /> - <result property="managementUnit" column="management_unit" /> - <result property="muContactInfo" column="mu_contact_info" /> - <result property="storageDays" column="storage_days" /> - <result property="reason" column="reason" /> - <result property="defaultOrder" column="default_order" /> - <result property="recovery" column="recovery" /> - <result property="recoveryTime" column="recovery_time" /> - <result property="tag" column="tag" /> - <result property="region" column="region" /> - <result property="sipDelay" column="sipDelay" /> - <result property="videoDelay" column="videoDelay" /> - <result property="iframeDelay" column="iframeDelay" /> - </resultMap> - - <sql id="selectTMonitorVideoVo"> - select id, serial_number, name, mac_addr, ip, longitude, latitude, on_state, civil_code, address, installed_time, management_unit, mu_contact_info, storage_days, reason, default_order, recovery, recovery_time, tag, region, sipDelay, videoDelay, iframeDelay from t_monitor_video - </sql> - - <select id="selectTMonitorVideoList" resultMap="TMonitorVideoResult"> - <include refid="selectTMonitorVideoVo"/> - <where> - <if test="serialNumber != null and serialNumber != ''"> and serial_number = #{serialNumber}</if> - <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> - <if test="macAddr != null and macAddr != ''"> and mac_addr = #{macAddr}</if> - <if test="ip != null and ip != ''"> and ip = #{ip}</if> - <if test="longitude != null and longitude != ''"> and longitude = #{longitude}</if> - <if test="latitude != null and latitude != ''"> and latitude = #{latitude}</if> - <if test="onState != null "> and on_state = #{onState}</if> - <if test="civilCode != null and civilCode != ''"> and civil_code = #{civilCode}</if> - <if test="address != null and address != ''"> and address = #{address}</if> - <if test="installedTime != null "> and installed_time = #{installedTime}</if> - <if test="managementUnit != null and managementUnit != ''"> and management_unit = #{managementUnit}</if> - <if test="muContactInfo != null and muContactInfo != ''"> and mu_contact_info = #{muContactInfo}</if> - <if test="storageDays != null "> and storage_days = #{storageDays}</if> - <if test="reason != null and reason != ''"> and reason = #{reason}</if> - <if test="defaultOrder != null "> and default_order = #{defaultOrder}</if> - <if test="recovery != null "> and recovery = #{recovery}</if> - <if test="recoveryTime != null "> and recovery_time = #{recoveryTime}</if> - <if test="tag != null and tag !=''"> and tag = #{tag}</if> - <if test="region != null and region != ''"> and region = #{region}</if> - <if test="sipDelay != null "> and sipDelay = #{sipDelay}</if> - <if test="videoDelay != null "> and videoDelay = #{videoDelay}</if> - <if test="iframeDelay != null "> and iframeDelay = #{iframeDelay}</if> - </where> - </select> - - <select id="selectTMonitorVideoById" parameterType="Long" resultMap="TMonitorVideoResult"> - <include refid="selectTMonitorVideoVo"/> - where id = #{id} - </select> - - <insert id="insertTMonitorVideo" useGeneratedKeys="true" keyProperty="id"> - insert into t_monitor_video - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="serialNumber != null">serial_number,</if> - <if test="name != null">name,</if> - <if test="macAddr != null">mac_addr,</if> - <if test="ip != null">ip,</if> - <if test="longitude != null">longitude,</if> - <if test="latitude != null">latitude,</if> - <if test="onState != null">on_state,</if> - <if test="civilCode != null">civil_code,</if> - <if test="address != null">address,</if> - <if test="installedTime != null">installed_time,</if> - <if test="managementUnit != null">management_unit,</if> - <if test="muContactInfo != null">mu_contact_info,</if> - <if test="storageDays != null">storage_days,</if> - <if test="reason != null">reason,</if> - <if test="defaultOrder != null">default_order,</if> - <if test="recovery != null">recovery,</if> - <if test="recoveryTime != null">recovery_time,</if> - <if test="tag != null and tag !=''">tag,</if> - <if test="region != null">region,</if> - <if test="sipDelay != null">sipDelay,</if> - <if test="videoDelay != null">videoDelay,</if> - <if test="iframeDelay != null">iframeDelay,</if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="serialNumber != null">#{serialNumber},</if> - <if test="name != null">#{name},</if> - <if test="macAddr != null">#{macAddr},</if> - <if test="ip != null">#{ip},</if> - <if test="longitude != null">#{longitude},</if> - <if test="latitude != null">#{latitude},</if> - <if test="onState != null">#{onState},</if> - <if test="civilCode != null">#{civilCode},</if> - <if test="address != null">#{address},</if> - <if test="installedTime != null">#{installedTime},</if> - <if test="managementUnit != null">#{managementUnit},</if> - <if test="muContactInfo != null">#{muContactInfo},</if> - <if test="storageDays != null">#{storageDays},</if> - <if test="reason != null">#{reason},</if> - <if test="defaultOrder != null">#{defaultOrder},</if> - <if test="recovery != null">#{recovery},</if> - <if test="recoveryTime != null">#{recoveryTime},</if> - <if test="tag != null and tag !=''">#{tag},</if> - <if test="region != null">#{region},</if> - <if test="sipDelay != null">#{sipDelay},</if> - <if test="videoDelay != null">#{videoDelay},</if> - <if test="iframeDelay != null">#{iframeDelay},</if> - </trim> - </insert> - - <update id="updateTMonitorVideo" > - update t_monitor_video - <trim prefix="SET" suffixOverrides=","> - <if test="serialNumber != null">serial_number = #{serialNumber},</if> - <if test="name != null">name = #{name},</if> - <if test="macAddr != null">mac_addr = #{macAddr},</if> - <if test="ip != null">ip = #{ip},</if> - <if test="longitude != null">longitude = #{longitude},</if> - <if test="latitude != null">latitude = #{latitude},</if> - <if test="onState != null">on_state = #{onState},</if> - <if test="civilCode != null">civil_code = #{civilCode},</if> - <if test="address != null">address = #{address},</if> - <if test="installedTime != null">installed_time = #{installedTime},</if> - <if test="managementUnit != null">management_unit = #{managementUnit},</if> - <if test="muContactInfo != null">mu_contact_info = #{muContactInfo},</if> - <if test="storageDays != null">storage_days = #{storageDays},</if> - <if test="reason != null">reason = #{reason},</if> - <if test="defaultOrder != null">default_order = #{defaultOrder},</if> - <if test="recovery != null">recovery = #{recovery},</if> - <if test="recoveryTime != null">recovery_time = #{recoveryTime},</if> - <if test="tag != null and tag !=''">tag = #{tag},</if> - <if test="region != null">region = #{region},</if> - <if test="sipDelay != null">sipDelay = #{sipDelay},</if> - <if test="videoDelay != null">videoDelay = #{videoDelay},</if> - <if test="iframeDelay != null">iframeDelay = #{iframeDelay},</if> - </trim> - where id = #{id} - </update> - - <delete id="deleteTMonitorVideoById" parameterType="Long"> - delete from t_monitor_video where id = #{id} - </delete> - - <delete id="deleteTMonitorVideoByIds" parameterType="String"> - delete from t_monitor_video where id in - <foreach item="id" collection="array" open="(" separator="," close=")"> - #{id} - </foreach> - </delete> -</mapper> \ No newline at end of file -- Gitblit v1.8.0