Merge remote-tracking branch 'origin/master'
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
package org.dromara.sis.domain;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 告警对象 sis_alarm_events
|
||||
@@ -64,5 +64,14 @@ public class SisAlarmEvents extends TenantEntity {
|
||||
*/
|
||||
private Date reportTime;
|
||||
|
||||
/**
|
||||
* 事件状态
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long workOrderId;
|
||||
|
||||
}
|
||||
|
@@ -1,15 +1,15 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 告警业务对象 sis_alarm_events
|
||||
@@ -25,19 +25,19 @@ public class SisAlarmEventsBo extends BaseEntity {
|
||||
/**
|
||||
* 报警记录ID
|
||||
*/
|
||||
@NotNull(message = "报警记录ID不能为空", groups = { EditGroup.class })
|
||||
@NotNull(message = "报警记录ID不能为空", groups = {EditGroup.class})
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 报警事件类型
|
||||
*/
|
||||
@NotNull(message = "报警事件类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "报警事件类型不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 报警记录级别(1:一般,2:中级,3:紧急)
|
||||
*/
|
||||
@NotNull(message = "报警记录级别(1:一般,2:中级,3:紧急)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "报警记录级别(1:一般,2:中级,3:紧急)不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long level;
|
||||
|
||||
/**
|
||||
@@ -63,8 +63,17 @@ public class SisAlarmEventsBo extends BaseEntity {
|
||||
/**
|
||||
* 设备告警时间
|
||||
*/
|
||||
@NotNull(message = "设备告警时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "设备告警时间不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Date reportTime;
|
||||
|
||||
/**
|
||||
* 事件状态
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long workOrderId;
|
||||
|
||||
}
|
||||
|
@@ -78,5 +78,13 @@ public class SisAlarmEventsVo implements Serializable {
|
||||
@ExcelProperty(value = "设备告警时间")
|
||||
private Date reportTime;
|
||||
|
||||
/**
|
||||
* 事件状态
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long workOrderId;
|
||||
}
|
||||
|
@@ -1,10 +1,9 @@
|
||||
package org.dromara.sis.service;
|
||||
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
import org.dromara.sis.domain.vo.SisAlarmEventsVo;
|
||||
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
|
||||
import org.dromara.sis.domain.vo.SisAlarmEventsVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -66,4 +65,10 @@ public interface ISisAlarmEventsService {
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 异步生成告警记录
|
||||
*/
|
||||
void createAlarmRecord(String deviceIp, Integer level, Integer type, byte[] smallImg, byte[] bigImg);
|
||||
|
||||
}
|
||||
|
@@ -71,10 +71,10 @@ public interface ISisDeviceManageService {
|
||||
/**
|
||||
* 通过设备ip查询设备信息
|
||||
*
|
||||
* @param deviceCode 设备编码
|
||||
* @param deviceIp 设备编码
|
||||
* @return 设备信息
|
||||
*/
|
||||
SisDeviceManageVo queryVoByDeviceIp(Integer deviceCode);
|
||||
SisDeviceManageVo queryVoByDeviceIp(String deviceIp);
|
||||
|
||||
/**
|
||||
* 查询设备数
|
||||
|
@@ -1,24 +1,29 @@
|
||||
package org.dromara.sis.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.resource.api.RemoteFileService;
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
|
||||
import org.dromara.sis.domain.vo.SisAlarmEventsVo;
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
import org.dromara.sis.domain.vo.SisDeviceManageVo;
|
||||
import org.dromara.sis.mapper.SisAlarmEventsMapper;
|
||||
import org.dromara.sis.service.ISisAlarmEventsService;
|
||||
import org.dromara.sis.service.ISisDeviceManageService;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 告警Service业务层处理
|
||||
@@ -32,7 +37,10 @@ import java.util.Collection;
|
||||
public class SisAlarmEventsServiceImpl implements ISisAlarmEventsService {
|
||||
|
||||
private final SisAlarmEventsMapper baseMapper;
|
||||
private final ISisDeviceManageService deviceManageService;
|
||||
|
||||
@DubboReference
|
||||
private RemoteFileService remoteFileService;
|
||||
/**
|
||||
* 查询告警
|
||||
*
|
||||
@@ -134,5 +142,23 @@ public class SisAlarmEventsServiceImpl implements ISisAlarmEventsService {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Async
|
||||
@Override
|
||||
public void createAlarmRecord(String deviceIp, Integer level, Integer type, byte[] smallImg, byte[] bigImg) {
|
||||
// 校验设备信息
|
||||
SisDeviceManageVo sisDeviceManageVo = deviceManageService.queryVoByDeviceIp(deviceIp);
|
||||
if(sisDeviceManageVo == null){
|
||||
log.error("设备信息不存在,放弃此条告警记录。");
|
||||
return;
|
||||
}
|
||||
// 上传图片
|
||||
remoteFileService.upload(smallImg);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -175,9 +175,9 @@ public class SisDeviceManageServiceImpl implements ISisDeviceManageService {
|
||||
|
||||
|
||||
@Override
|
||||
public SisDeviceManageVo queryVoByDeviceIp(Integer deviceCode) {
|
||||
public SisDeviceManageVo queryVoByDeviceIp(String deviceIp) {
|
||||
LambdaQueryWrapper<SisDeviceManage> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(SisDeviceManage::getDeviceIp, deviceCode);
|
||||
lqw.eq(SisDeviceManage::getDeviceIp, deviceIp);
|
||||
return baseMapper.selectVoById(lqw);
|
||||
}
|
||||
|
||||
|
@@ -109,9 +109,8 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
||||
/**
|
||||
* 生成告警事件
|
||||
*/
|
||||
public void createAlarmRecord() {
|
||||
|
||||
|
||||
public void createAlarmRecord(String deviceIp, Integer level, Integer type, byte[] smallImg, byte[] bigImg) {
|
||||
alarmEventsService.createAlarmRecord(deviceIp, level, type, smallImg, bigImg);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.Base64Utils;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.oss.core.OssClient;
|
||||
@@ -66,6 +67,19 @@ public class RemoteFileServiceImpl implements RemoteFileService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RemoteFile upload(byte[] file) throws ServiceException {
|
||||
// 计算文件类型
|
||||
String type = Base64Utils.getType(file);
|
||||
// 获contentType
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过ossId查询对应的url
|
||||
*
|
||||
|
Reference in New Issue
Block a user