소스 검색

网站可用性实时监测

bihuisong 1 년 전
부모
커밋
bbfdddaf5f

+ 30 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/visual/VisualController.java

@@ -0,0 +1,30 @@
+package com.ruoyi.web.controller.visual;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.domain.WebsiteAvailabilityMonitor;
+import com.ruoyi.system.service.IWebsiteAvailabilityMonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/webSite/")
+public class VisualController {
+
+    @Autowired
+    private IWebsiteAvailabilityMonitorService websiteAvailabilityMonitorService;
+
+
+    @PostMapping("putWebsiteAvailabilityMonitor")
+    @ResponseBody
+    public R<?> insertBatch(List<WebsiteAvailabilityMonitor> list) {
+        websiteAvailabilityMonitorService.insertBatch(list);
+        return R.ok();
+    }
+
+}

+ 56 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/WebsiteAvailabilityMonitor.java

@@ -0,0 +1,56 @@
+package com.ruoyi.system.domain;
+
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+public class WebsiteAvailabilityMonitor {
+
+    private Long id;
+    private String siteName;
+    private Integer status;
+    private String monitorTime;
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getSiteName() {
+        return siteName;
+    }
+
+    public void setSiteName(String siteName) {
+        this.siteName = siteName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getMonitorTime() {
+        return monitorTime;
+    }
+
+    public void setMonitorTime(String monitorTime) {
+        this.monitorTime = monitorTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("siteName", getSiteName())
+                .append("status", getStatus())
+                .append("monitorTime", getMonitorTime())
+                .toString();
+    }
+}

+ 19 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/WebsiteAvailabilityMonitorMapper.java

@@ -0,0 +1,19 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.domain.WebsiteAvailabilityMonitor;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface WebsiteAvailabilityMonitorMapper {
+
+    List<WebsiteAvailabilityMonitor> selectWebsiteAvailabilityMonitorList();
+
+    void deleteWebsiteAvailabilityMonitorAll();
+
+    void insertBatch(@Param("item")List<WebsiteAvailabilityMonitor> list);
+
+
+}

+ 15 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IWebsiteAvailabilityMonitorService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.WebsiteAvailabilityMonitor;
+
+import java.util.List;
+
+public interface IWebsiteAvailabilityMonitorService {
+
+    List<WebsiteAvailabilityMonitor> selectWebsiteAvailabilityMonitorList();
+
+
+    void insertBatch(List<WebsiteAvailabilityMonitor> list);
+
+
+}

+ 0 - 11
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SecretKeyService.java

@@ -1,11 +0,0 @@
-package com.ruoyi.system.service.impl;
-
-import org.springframework.stereotype.Service;
-
-@Service
-public class SecretKeyService {
-    public String getRemoteSecretKey() {
-        return "xxxxxxxxx";
-    }
-}
-

+ 29 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WebsiteAvailabilityMonitorServiceImpl.java

@@ -0,0 +1,29 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.domain.WebsiteAvailabilityMonitor;
+import com.ruoyi.system.mapper.WebsiteAvailabilityMonitorMapper;
+import com.ruoyi.system.service.IWebsiteAvailabilityMonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class WebsiteAvailabilityMonitorServiceImpl implements IWebsiteAvailabilityMonitorService {
+
+
+    @Autowired
+    private WebsiteAvailabilityMonitorMapper websiteAvailabilityMonitorMapper;
+
+    @Override
+    public List<WebsiteAvailabilityMonitor> selectWebsiteAvailabilityMonitorList() {
+        return websiteAvailabilityMonitorMapper.selectWebsiteAvailabilityMonitorList();
+    }
+
+    @Override
+    public void insertBatch(List<WebsiteAvailabilityMonitor> list) {
+        websiteAvailabilityMonitorMapper.deleteWebsiteAvailabilityMonitorAll();
+        websiteAvailabilityMonitorMapper.insertBatch(list);
+    }
+}

+ 33 - 0
ruoyi-system/src/main/resources/mapper/system/WebsiteAvailabilityMonitorMapper.xml

@@ -0,0 +1,33 @@
+<?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.ruoyi.system.mapper.WebsiteAvailabilityMonitorMapper">
+    
+    <resultMap type="WebsiteAvailabilityMonitor" id="WebsiteAvailabilityMonitorResult">
+    	<id     property="id"      column="id"      />
+        <result property="siteName"    column="site_name"    />
+        <result property="status"     column="status"     />
+        <result property="monitorTime"   column="monitor_time"   />
+    </resultMap>
+    
+    <sql id="selectWebsiteAvailabilityMonitorVo">
+        select id, site_name, status, monitor_time from put_website_availability_monitor
+    </sql>
+
+    <select id="selectWebsiteAvailabilityMonitorList" parameterType="WebsiteAvailabilityMonitor" resultMap="WebsiteAvailabilityMonitorResult">
+        <include refid="selectWebsiteAvailabilityMonitorVo"/>
+    </select>
+
+	<delete id="deleteWebsiteAvailabilityMonitorAll" parameterType="Long">
+		delete from put_website_availability_monitor
+	</delete>
+
+	<insert id="insertBatch">
+		insert into put_website_availability_monitor (site_name,status,monitor_time) values
+		<foreach item="item" collection="array" separator=",">
+			(#{item.siteName},#{item.status},#{item.monitorTime})
+		</foreach>
+	</insert>
+
+</mapper>