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