From e34df92d59f0df626c96ac400759d596364e0889 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 19 三月 2024 14:29:50 +0800
Subject: [PATCH] 视频监控

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TCheckPublish.java             |   39 ++
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/CheckRuleQuery.java             |    2 
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckRuleVO.java                   |   14 
 ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml                    |  161 ++++++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTemplateVO.java               |    3 
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckRuleServiceImpl.java     |    3 
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplate.java             |    3 
 ycl-server/src/main/resources/application.yml                                        |    2 
 ycl-server/src/main/java/com/ycl/platform/controller/TMonitorVideoController.java    |   98 ++++++
 ycl-server/src/main/resources/mapper/zgyw/TCheckPublishMapper.xml                    |   21 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckRule.java                 |   15 
 ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorVideoMapper.java            |   62 +++
 ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java         |   62 +++
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitorVideo.java             |  350 +++++++++++++++++++++
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorVideoServiceImpl.java |   94 +++++
 15 files changed, 924 insertions(+), 5 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckRule.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckRule.java
index 1ac07e1..7942e49 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckRule.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckRule.java
@@ -8,6 +8,8 @@
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.util.Date;
+
 /**
  * 鑰冩牳瑙勫垯
  *
@@ -45,4 +47,17 @@
     @ApiModelProperty("杩愮淮绫诲埆")
     @TableField("category")
     private Integer category;
+
+    @ApiModelProperty("瀹℃牳鐘舵��")
+    @TableField("audit_state")
+    private Integer auditState;
+    @ApiModelProperty("瀹℃牳浜�")
+    @TableField("audit_user")
+    private String auditUser;
+    @ApiModelProperty("瀹℃牳鏃堕棿")
+    @TableField("audit_time")
+    private Date auditTime;
+    @ApiModelProperty("瀹℃牳鎰忚")
+    @TableField("audit_description")
+    private String auditDescription;
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplate.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplate.java
index 70472a5..8b022ec 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplate.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplate.java
@@ -9,6 +9,7 @@
 import lombok.experimental.Accessors;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 鑰冩牳妯℃澘
@@ -47,4 +48,6 @@
     @ApiModelProperty("鍗曚綅id")
     @TableField("unit_id")
     private Integer unitId;
+
+
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TCheckPublish.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TCheckPublish.java
index 8f2889e..fce5d43 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TCheckPublish.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TCheckPublish.java
@@ -1,11 +1,14 @@
 package com.ycl.platform.domain.entity;
 
 import annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.system.entity.BaseEntity;
+import lombok.Data;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 鑰冩牳鍙戝竷瀵硅薄 t_check_publish
@@ -13,6 +16,7 @@
  * @author ruoyi
  * @date 2024-03-07
  */
+@Data
 public class TCheckPublish extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -53,10 +57,40 @@
     private Long updateUser;
     /** 瀹℃牳鐘舵�� */
     private Short auditState;
-
+    @Excel(name = "瀹℃牳浜�")
+    private String auditUser;
+    @Excel(name = "瀹℃牳鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date auditTime;
+    @Excel(name  = "瀹℃牳鎰忚")
+    private String auditDescription;
     /** 鎻忚堪 */
     @Excel(name = "鎻忚堪")
     private String description;
+
+    public String getAuditUser() {
+        return auditUser;
+    }
+
+    public void setAuditUser(String auditUser) {
+        this.auditUser = auditUser;
+    }
+
+    public Date getAuditTime() {
+        return auditTime;
+    }
+
+    public void setAuditTime(Date auditTime) {
+        this.auditTime = auditTime;
+    }
+
+    public String getAuditDescription() {
+        return auditDescription;
+    }
+
+    public void setAuditDescription(String auditDescription) {
+        this.auditDescription = auditDescription;
+    }
 
     public Short getAuditState() {
         return auditState;
@@ -186,6 +220,9 @@
                 ", updateUserName='" + updateUserName + '\'' +
                 ", updateUser=" + updateUser +
                 ", auditState=" + auditState +
+                ", auditUser='" + auditUser + '\'' +
+                ", auditTime=" + auditTime +
+                ", auditDescription='" + auditDescription + '\'' +
                 ", description='" + description + '\'' +
                 '}';
     }
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
new file mode 100644
index 0000000..8bd8d06
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitorVideo.java
@@ -0,0 +1,350 @@
+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/query/CheckRuleQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CheckRuleQuery.java
index a266cd1..be16f97 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CheckRuleQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CheckRuleQuery.java
@@ -40,5 +40,7 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date end;
 
+    /** 瀹℃牳鐘舵�� */
+    private Integer auditState;
 }
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckRuleVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckRuleVO.java
index 8c95449..1fc81a3 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckRuleVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckRuleVO.java
@@ -1,7 +1,11 @@
 package com.ycl.platform.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.CheckRule;
+
+import java.util.Date;
 import java.util.List;
 import java.time.LocalDateTime;
 import org.springframework.lang.NonNull;
@@ -37,7 +41,15 @@
     private Integer faceChceckpointNum;
 
     private Integer category;
-
+    /** 瀹℃牳鐘舵�� */
+    private Integer auditState;
+    /** 瀹℃牳浜� */
+    private String auditUser;
+    /** 瀹℃牳鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date auditTime;
+    /** 瀹℃牳鎰忚 */
+    private String auditDescription;
     public static CheckRuleVO getVoByEntity(@NonNull CheckRule entity, CheckRuleVO vo) {
         if(vo == null) {
             vo = new CheckRuleVO();
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTemplateVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTemplateVO.java
index a6b65d2..258a480 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTemplateVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTemplateVO.java
@@ -1,9 +1,11 @@
 package com.ycl.platform.domain.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.CheckTemplate;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.time.LocalDateTime;
 
@@ -41,6 +43,7 @@
     private List<RuleItemVO> ruleFormList;
     /** 鍗曚綅鍚� */
     private String unitName;
+
     public static CheckTemplateVO getVoByEntity(@NonNull CheckTemplate entity, CheckTemplateVO vo) {
         if(vo == null) {
             vo = new CheckTemplateVO();
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
new file mode 100644
index 0000000..3502fe1
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorVideoController.java
@@ -0,0 +1,98 @@
+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
new file mode 100644
index 0000000..1e62c80
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorVideoMapper.java
@@ -0,0 +1,62 @@
+package com.ycl.platform.mapper;
+
+import com.ycl.platform.domain.entity.TMonitorVideo;
+
+import java.util.List;
+
+/**
+ * 璁惧璧勪骇Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+public interface TMonitorVideoMapper 
+{
+    /**
+     * 鏌ヨ璁惧璧勪骇
+     * 
+     * @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/ITMonitorVideoService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java
new file mode 100644
index 0000000..a2cae36
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorVideoService.java
@@ -0,0 +1,62 @@
+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/CheckRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckRuleServiceImpl.java
index c357e57..8374785 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckRuleServiceImpl.java
@@ -107,12 +107,13 @@
     @Override
     public Result page(CheckRuleQuery query) {
 
-        IPage<CheckRule> page = new LambdaQueryChainWrapper<>(baseMapper)
+        IPage<CheckRule> page =  new LambdaQueryChainWrapper<>(baseMapper)
                 .like(StringUtils.hasText(query.getRuleName()), CheckRule::getRuleName, query.getRuleName())
                 .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),
                         CheckRule::getCreateTime,
                         DateUtils.getDayStart(query.getStart()),
                         DateUtils.getDayEnd(query.getEnd()))
+                .eq(Objects.nonNull(query.getAuditState()),CheckRule::getAuditState, query.getAuditState())
                 .orderByDesc(CheckRule::getCreateTime)
                 .page(PageUtil.getPage(query, CheckRule.class));
 
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
new file mode 100644
index 0000000..8f47bbb
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorVideoServiceImpl.java
@@ -0,0 +1,94 @@
+package com.ycl.platform.service.impl;
+
+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 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/resources/application.yml b/ycl-server/src/main/resources/application.yml
index d08e1c8..9ed432a 100644
--- a/ycl-server/src/main/resources/application.yml
+++ b/ycl-server/src/main/resources/application.yml
@@ -95,7 +95,7 @@
 user:
   password:
     # 瀵嗙爜鏈�澶ч敊璇鏁�
-    maxRetryCount: 5
+    maxRetryCount: 20
     # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
     lockTime: 10
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TCheckPublishMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TCheckPublishMapper.xml
index 77d56b4..f5dadc8 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TCheckPublishMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TCheckPublishMapper.xml
@@ -19,10 +19,16 @@
         <result property="updateUserName"    column="update_user_name"    />
         <result property="description"    column="description"    />
         <result property="alarmScore"    column="alarm_score"    />
+        <result property="auditState"    column="audit_state"    />
+        <result property="auditUser"    column="audit_user"    />
+        <result property="auditDescription"    column="audit_description"    />
+        <result property="auditTime"    column="audit_time"    />
     </resultMap>
 
     <sql id="selectTCheckPublishVo">
-        select id , examine_name, template_id , examine_range , frequency , state , create_time , create_user , update_time , update_user , description,create_user_name,update_user_name,alarm_score from t_check_publish
+        select id , examine_name, template_id , examine_range , frequency , state , create_time , create_user , update_time ,
+               update_user , description,create_user_name,update_user_name,alarm_score ,audit_state,audit_user,audit_description,audit_time
+        from t_check_publish
     </sql>
 
     <select id="selectTCheckPublishList" parameterType="com.ycl.platform.domain.entity.TCheckPublish" resultMap="TCheckPublishResult">
@@ -37,6 +43,7 @@
             <if test="updateUser != null "> and update_user = #{updateUser}</if>
             <if test="description != null  and description != ''"> and description = #{description}</if>
             <if test="alarmScore != null"> and alarm_score = #{alarmScore}</if>
+            <if test="auditState != null"> and audit_state = #{auditState}</if>
         </where>
     </select>
     
@@ -62,6 +69,10 @@
             <if test="updateUserName != null and updateUserName!= ''">update_user_name,</if>
             <if test="description != null">description,</if>
             <if test="alarmScore != null">alarm_score,</if>
+            <if test="auditState != null">alarm_state,</if>
+            <if test="auditUser != null and auditUser!=''">alarm_user,</if>
+            <if test="auditDescription != null auditDescription!=''">alarm_description,</if>
+            <if test="auditTime != null">alarm_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -78,6 +89,10 @@
             <if test="updateUserName != null and updateUserName!= ''">#{updateUserName},</if>
             <if test="description != null">#{description},</if>
             <if test="alarmScore != null">#{alarmScore},</if>
+            <if test="auditState != null">#{alarmState),</if>
+            <if test="auditUser != null and auditUser!=''">#{auditUser},</if>
+            <if test="auditDescription != null auditDescription!=''">#{auditDescription},</if>
+            <if test="auditTime != null">#{auditTime},</if>
          </trim>
     </insert>
 
@@ -97,6 +112,10 @@
             <if test="updateUserName != null and updateUserName!= ''">update_user_name = #{updateUserName},</if>
             <if test="description != null">description = #{description},</if>
             <if test="alarmScore != null">alarm_score = #{alarmScore},</if>
+            <if test="auditState != null">audit_state = #{alarmState),</if>
+            <if test="auditUser != null and auditUser!=''">audit_user = #{auditUser},</if>
+            <if test="auditDescription != null auditDescription!=''">audit_description = #{auditDescription},</if>
+            <if test="auditTime != null">audit_time = #{auditTime},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml
new file mode 100644
index 0000000..3747489
--- /dev/null
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorVideoMapper.xml
@@ -0,0 +1,161 @@
+<?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