业务报警监控页面接口

monitor
liuqingkun 1 year ago
parent f470c79aba
commit 172376c1fd
  1. 29
      src/main/java/org/springblade/modules/monitor/controller/BusinessMonitorController.java
  2. 15
      src/main/java/org/springblade/modules/monitor/mapper/MonitorMapper.java
  3. 55
      src/main/java/org/springblade/modules/monitor/mapper/MonitorMapper.xml
  4. 53
      src/main/java/org/springblade/modules/monitor/service/IBusinessMonitorService.java
  5. 69
      src/main/java/org/springblade/modules/monitor/service/impl/BusinessMonitorServiceImpl.java
  6. 9
      src/main/resources/application-dev.yml
  7. 2
      src/main/resources/application.yml

@ -1,23 +1,24 @@
package org.springblade.modules.monitor.controller;
import lombok.AllArgsConstructor;
import org.apache.ibatis.annotations.Param;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springblade.modules.monitor.service.IBusinessMonitorService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 系统监控控制器
* 业务监控控制器
*
* @author liuqingkun
*/
@RestController
@AllArgsConstructor
@RequiredArgsConstructor
@RequestMapping("/monitor-business")
public class BusinessMonitorController {
private final IBusinessMonitorService businessMonitorService;
/**
* 根据设备类型和报警节点查询排查方法
*
@ -27,8 +28,7 @@ public class BusinessMonitorController {
*/
@GetMapping("/getResolveTips")
public R getResolveTips(@RequestParam("classCode") String classCode, @RequestParam("pointCode") String pointCode) {
return null;
return R.data(businessMonitorService.resolveTips(classCode, pointCode));
}
/**
@ -40,10 +40,11 @@ public class BusinessMonitorController {
* @return
*/
@GetMapping("/getEquipList")
public R getEquipList(@RequestParam("classCode") String classCode,
@RequestParam("warnStatus") String warnStatus,
@RequestParam("equipCode") String equipCode) {
return null;
public R getEquipList(Integer currentPage, Integer pageSize,
@RequestParam("classCode") String classCode,
String warnStatus,
String equipCode) {
return R.data(businessMonitorService.getEquipList(currentPage, pageSize, classCode, warnStatus, equipCode));
}
/**
@ -54,7 +55,7 @@ public class BusinessMonitorController {
*/
@GetMapping("/getWarnMsg")
public R getWarnMsg(@RequestParam("equipCode") String equipCode) {
return null;
return R.data(businessMonitorService.getWarnMsg(equipCode));
}
/**
@ -64,9 +65,7 @@ public class BusinessMonitorController {
* @return
*/
@GetMapping("/getWarnHisList")
public R getWarnHisList(@RequestParam("equipCode") String equipCode) {
return null;
public R getWarnHisList(Integer currentPage, Integer pageSize, @RequestParam("equipCode") String equipCode) {
return R.data(businessMonitorService.getWarnHisList(currentPage, pageSize, equipCode));
}
}

@ -2,9 +2,6 @@ package org.springblade.modules.monitor.mapper;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
@ -17,7 +14,7 @@ import java.util.Map;
public interface MonitorMapper {
/**
* 前N条数据
* 根据设备类型和报警节点查询排查方法
*
* @param classCode 设备类型编码
* @param pointCode 节点编码
@ -34,9 +31,9 @@ public interface MonitorMapper {
* @param equipCode
* @return
*/
List<Map<String, String>> getEquipList(@Param("classCode") String classCode,
@Param("warnStatus") String warnStatus,
@Param("equipCode") String equipCode);
List<Map<String, String>> getEquipList(@Param("offset") int offset, @Param("size") int size, @Param("classCode") String classCode, @Param("warnStatus") String warnStatus, @Param("equipCode") String equipCode);
int getEquipListTotal(@Param("classCode") String classCode, @Param("warnStatus") String warnStatus, @Param("equipCode") String equipCode);
/**
* 查询设备当前报警信息
@ -52,5 +49,7 @@ public interface MonitorMapper {
* @param equipCode
* @return
*/
List<Map<String, String>> getWarnHisList(@Param("equipCode") String equipCode);
List<Map<String, String>> getWarnHisList(@Param("offset") int offset, @Param("size") int size, @Param("equipCode") String equipCode);
int getWarnHisListTotal(@Param("equipCode") String equipCode);
}

@ -3,28 +3,53 @@
<mapper namespace = "org.springblade.modules.monitor.mapper.MonitorMapper">
<select id = "resolveTips" resultType = "map">
select id, class_code as classCode, point_code as pointCode, tips, short_num as shortNum
select class_code as classCode, point_code as pointCode, tips, short_num as shortNum
from t_config_resolve_tips
where is_deleted = 0
<if test = "classCode != null and classCode != ''">
class_code = #{classCode}
and class_code = #{classCode}
</if>
<if test = "pointCode != null and pointCode != ''">
point_code = #{pointCode}
and point_code = #{pointCode}
</if>
order by short_num asc
</select>
<select id = "getEquipList" resultType = "map">
select *
from t_equip e
where e.is_deleted = 0
and e.class_code = #{classCode}
<if test = "warnStatus != null and warnStatus != ''">
point_code = #{pointCode}
SELECT IF(e.status = '90000', '正常', warn.warn_name) AS equipStatus,
e.class_code AS classCode,
e.code AS equipCode,
e.name AS equipName,
e.location AS equipLocation,
warn.context AS equipContent,
e.update_time AS warnDate
FROM t_equip e
LEFT JOIN t_config_warn warn ON e.class_code = warn.class_code AND e.status = warn.warn_code
WHERE e.is_deleted = 0
<if test = "warnStatus != '' and warnStatus == '0' ">
and e.status = '90000'
</if>
<if test = "warnStatus != '' and warnStatus != '1' ">
and e.status != '90000'
</if>
<if test = "equipCode != null and equipCode != ''">
and e.code like CONCAT('%', #{equipCode}, '%')
</if>
limit #{offset}, #{size}
</select>
<select id = "getEquipListTotal" resultType = "int">
SELECT count(e.id) as count
FROM t_equip e
LEFT JOIN t_config_warn warn ON e.class_code = warn.class_code AND e.status = warn.warn_code
WHERE e.is_deleted = 0
<if test = "warnStatus != '' and warnStatus == '0' ">
and e.status = '90000'
</if>
<if test = "warnStatus != '' and warnStatus != '1' ">
and e.status != '90000'
</if>
<if test = "equipCode != null and equipCode != ''">
code like CONCAT('%', #{equipCode}, '%')
and e.code like CONCAT('%', #{equipCode}, '%')
</if>
</select>
@ -57,6 +82,14 @@
from t_data_warn
where equip_code = #{equipCode}
and status = 1
order by warn_date desc limit 10
order by warn_date desc
limit #{offset}, #{size}
</select>
<select id = "getWarnHisListTotal" resultType = "int">
select count(equip_code) as count
from t_data_warn
where equip_code = #{equipCode}
and status = 1
</select>
</mapper>

@ -0,0 +1,53 @@
package org.springblade.modules.monitor.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
* 业务监控 服务类
*
* @author liuqingkun
* @since 2024-09-20 9:26
*/
public interface IBusinessMonitorService {
/**
* 根据设备类型和报警节点查询排查方法
*
* @param classCode 设备类型编码
* @param pointCode 节点编码
* @return
*/
List<Map<String, String>> resolveTips(String classCode, String pointCode);
/**
* 查询设备列表
*
* @param currentPage
* @param pageSize
* @param classCode
* @param warnStatus
* @param equipCode
* @return
*/
IPage getEquipList(Integer currentPage, Integer pageSize, String classCode, String warnStatus, String equipCode);
/**
* 查询设备当前报警信息
*
* @param equipCode
* @return
*/
List<Map<String, String>> getWarnMsg(String equipCode);
/**
* 查询设备报警记录
*
* @param currentPage
* @param pageSize
* @param equipCode
* @return
*/
IPage getWarnHisList(Integer currentPage, Integer pageSize, String equipCode);
}

@ -0,0 +1,69 @@
package org.springblade.modules.monitor.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.modules.monitor.mapper.MonitorMapper;
import org.springblade.modules.monitor.service.IBusinessMonitorService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author liuqingkun
* @date 2024-09-20 9:26
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class BusinessMonitorServiceImpl implements IBusinessMonitorService {
private final MonitorMapper monitorMapper;
@Override
public List<Map<String, String>> resolveTips(String classCode, String pointCode) {
return monitorMapper.resolveTips(classCode, pointCode);
}
@Override
public IPage getEquipList(Integer currentPage, Integer pageSize, String classCode, String warnStatus, String equipCode) {
// 初始化分页参数
if (currentPage == null || currentPage == 0) {
currentPage = 1;
}
if (pageSize == null || pageSize == 0) {
pageSize = 10;
}
IPage page = new Page();
page.setRecords(monitorMapper.getEquipList(currentPage * pageSize, pageSize, classCode, warnStatus, equipCode));
page.setTotal(monitorMapper.getEquipListTotal(classCode, warnStatus, equipCode));
page.setCurrent(currentPage);
page.setSize(pageSize);
return page;
}
@Override
public List<Map<String, String>> getWarnMsg(String equipCode) {
return monitorMapper.getWarnMsg(equipCode);
}
@Override
public IPage getWarnHisList(Integer currentPage, Integer pageSize, String equipCode) {
// 初始化分页参数
if (currentPage == null || currentPage == 0) {
currentPage = 1;
}
if (pageSize == null || pageSize == 0) {
pageSize = 10;
}
IPage page = new Page();
page.setRecords(monitorMapper.getWarnHisList(currentPage * pageSize, pageSize, equipCode));
page.setTotal(monitorMapper.getWarnHisListTotal(equipCode));
page.setCurrent(currentPage);
page.setSize(pageSize);
return page;
}
}

@ -6,14 +6,5 @@ spring:
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
#blade配置
blade:
prop:
upload-domain: http://localhost:8888
remote-mode: true
remote-path: /usr/share/nginx/html
remote-path-iis: D://iis/html
log-mode: true
monitor:
url: http://127.0.0.1:9090/api/v1/query

@ -117,6 +117,8 @@ blade:
secure:
skip-url:
- /monitor/**
- /monitor-business/**
- /monitor-system/**
client:
- client-id: sword
path-patterns:

Loading…
Cancel
Save