通知提示音信息bug修复
This commit is contained in:
parent
ccf93552c0
commit
88a34da4bb
@ -38,6 +38,7 @@ public class NoticeRemindSoundController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "列表查询通知提示音信息", notes = "列表查询通知提示音信息", httpMethod = "POST")
|
@ApiOperation(value = "列表查询通知提示音信息", notes = "列表查询通知提示音信息", httpMethod = "POST")
|
||||||
@ -54,6 +55,7 @@ public class NoticeRemindSoundController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
|
*
|
||||||
* @param noticeRemindSound
|
* @param noticeRemindSound
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -66,6 +68,7 @@ public class NoticeRemindSoundController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
|
*
|
||||||
* @param noticeRemindSound
|
* @param noticeRemindSound
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -78,7 +81,7 @@ public class NoticeRemindSoundController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
* @param id
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "删除通知提示音信息", notes = "删除通知提示音信息", httpMethod = "POST")
|
@ApiOperation(value = "删除通知提示音信息", notes = "删除通知提示音信息", httpMethod = "POST")
|
||||||
@ -95,13 +98,12 @@ public class NoticeRemindSoundController {
|
|||||||
result.successMsg(MessageUtil.get("deleteSucess"));
|
result.successMsg(MessageUtil.get("deleteSucess"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id查询
|
* 通过id查询
|
||||||
|
*
|
||||||
* @param
|
* @param
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -120,6 +122,22 @@ public class NoticeRemindSoundController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "保存通知提示音信息", notes = "保存通知提示音信息", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/saveSound")
|
||||||
|
public Result<NoticeRemindSound> saveSound(@RequestBody NoticeRemindSound noticeRemindSound) {
|
||||||
|
QueryWrapper<NoticeRemindSound> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda()
|
||||||
|
.eq(NoticeRemindSound::getProjectSn, noticeRemindSound.getProjectSn())
|
||||||
|
.eq(NoticeRemindSound::getRiskLevel, noticeRemindSound.getRiskLevel())
|
||||||
|
.eq(NoticeRemindSound::getType, noticeRemindSound.getType());
|
||||||
|
NoticeRemindSound soundDb = noticeRemindSoundService.getOne(queryWrapper);
|
||||||
|
if (soundDb == null) {
|
||||||
|
noticeRemindSoundService.save(noticeRemindSound);
|
||||||
|
} else {
|
||||||
|
noticeRemindSound.setId(soundDb.getId());
|
||||||
|
noticeRemindSoundService.updateById(noticeRemindSound);
|
||||||
|
}
|
||||||
|
return Result.success(noticeRemindSound);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public class Notice implements Serializable {
|
|||||||
@TableId(type = IdType.ASSIGN_ID)
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
@ApiModelProperty(value = "消息通知")
|
@ApiModelProperty(value = "消息通知")
|
||||||
private java.lang.Long id;
|
private java.lang.Long id;
|
||||||
@ApiModelProperty(value = "类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机," +
|
@ApiModelProperty(value = "类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8AI视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机," +
|
||||||
"14电表,15水表,16访客,17,防疫人员通知,18访客通知,19巡检点,20人员的资质证书即将到期,21人员的合同信息即将到期,22人员的保险信息即将到期," +
|
"14电表,15水表,16访客,17,防疫人员通知,18访客通知,19巡检点,20人员的资质证书即将到期,21人员的合同信息即将到期,22人员的保险信息即将到期," +
|
||||||
"23同步人员到海康isc,24同步车辆到海康isc,25同步组织到海康isc 30工作流审批通知,31大屏的安全和质量,32大屏的危大,33应急处置,34车辆不安全行为识别监测")
|
"23同步人员到海康isc,24同步车辆到海康isc,25同步组织到海康isc 30工作流审批通知,31大屏的安全和质量,32大屏的危大,33应急处置,34车辆不安全行为识别监测")
|
||||||
private java.lang.String type;
|
private java.lang.String type;
|
||||||
|
|||||||
@ -1,16 +1,14 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.entity;
|
package com.zhgd.xmgl.modules.basicdata.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 通知提示音
|
* @Description: 通知提示音
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -23,29 +21,53 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
public class NoticeRemindSound implements Serializable {
|
public class NoticeRemindSound implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**id*/
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
@TableId(type = IdType.ASSIGN_ID)
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
/**项目sn*/
|
/**
|
||||||
@Excel(name = "项目sn", width = 15)
|
* 项目sn
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "项目sn")
|
@ApiModelProperty(value = "项目sn")
|
||||||
private String projectSn;
|
private String projectSn;
|
||||||
/**类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机,14电表,15水表,16访客*/
|
/**
|
||||||
@Excel(name = "类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机,14电表,15水表,16访客", width = 15)
|
* 类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8AI视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机,14电表,15水表,16访客
|
||||||
@ApiModelProperty(value="类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机,14电表,15水表,16访客")
|
*/
|
||||||
|
@ApiModelProperty(value = "类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8AI视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机,14电表,15水表,16访客")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
/**文件名称*/
|
/**
|
||||||
@Excel(name = "文件名称", width = 15)
|
* 文件名称
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "文件名称")
|
@ApiModelProperty(value = "文件名称")
|
||||||
private String fileName;
|
private String fileName;
|
||||||
/**文件路径*/
|
/**
|
||||||
@Excel(name = "文件路径", width = 15)
|
* 文件路径
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "文件路径")
|
@ApiModelProperty(value = "文件路径")
|
||||||
private String fileUrl;
|
private String fileUrl;
|
||||||
|
|
||||||
/**播放类型,1播放一次,2循环播放*/
|
/**
|
||||||
@Excel(name = "播放类型,1播放一次,2循环播放", width = 15)
|
* 播放类型,1播放一次,2循环播放
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "播放类型,1播放一次,2循环播放")
|
@ApiModelProperty(value = "播放类型,1播放一次,2循环播放")
|
||||||
private Integer playType;
|
private Integer playType;
|
||||||
|
/**
|
||||||
|
* 播放次数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "播放次数")
|
||||||
|
private Integer playNum;
|
||||||
|
/**
|
||||||
|
* 是否开启1开启0不开启
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否开启1开启0不开启")
|
||||||
|
private Integer enable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 风险等级:1、2、3、4级
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险等级:1、2、3、4级")
|
||||||
|
private Integer riskLevel;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -113,5 +113,20 @@ public class MessageConfigV2 implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "腾讯云登录短信模板id")
|
@ApiModelProperty(value = "腾讯云登录短信模板id")
|
||||||
private java.lang.String loginTemplateId;
|
private java.lang.String loginTemplateId;
|
||||||
|
/**
|
||||||
|
* 腾讯云扬尘短信模板
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "腾讯云扬尘短信模板")
|
||||||
|
private java.lang.String dustTemplate;
|
||||||
|
/**
|
||||||
|
* 腾讯云AI报警短信模板
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "腾讯云AI报警短信模板")
|
||||||
|
private java.lang.String aiTemplate;
|
||||||
|
/**
|
||||||
|
* 腾讯云登录短信模板
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "腾讯云登录短信模板")
|
||||||
|
private java.lang.String loginTemplate;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.zhgd.xmgl.modules.video.entity.bo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AiAnalyseHardWareAlarmRecordNoticeBo {
|
||||||
|
/**
|
||||||
|
* 问题等级,1一级,2二级,3三级,4四级
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "问题等级,1一级,2二级,3三级,4四级")
|
||||||
|
private Integer level;
|
||||||
|
}
|
||||||
@ -5,10 +5,8 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HttpRequest;
|
|
||||||
import cn.xuyanwu.spring.file.storage.FileInfo;
|
import cn.xuyanwu.spring.file.storage.FileInfo;
|
||||||
import cn.xuyanwu.spring.file.storage.FileStorageService;
|
import cn.xuyanwu.spring.file.storage.FileStorageService;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@ -17,7 +15,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.gexin.fastjson.JSON;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.xmgl.async.AsyncAiAnalyse;
|
import com.zhgd.xmgl.async.AsyncAiAnalyse;
|
||||||
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||||
@ -43,6 +41,7 @@ import com.zhgd.xmgl.modules.project.service.ProjectJqmDevService;
|
|||||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
||||||
import com.zhgd.xmgl.modules.video.entity.WorkerInfoToAiAnalyseHardWareAlarmRecord;
|
import com.zhgd.xmgl.modules.video.entity.WorkerInfoToAiAnalyseHardWareAlarmRecord;
|
||||||
|
import com.zhgd.xmgl.modules.video.entity.bo.AiAnalyseHardWareAlarmRecordNoticeBo;
|
||||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo;
|
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo;
|
||||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo;
|
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo;
|
||||||
import com.zhgd.xmgl.modules.video.enums.AiAnalyseHardWareAlarmRecordHandleResultEnum;
|
import com.zhgd.xmgl.modules.video.enums.AiAnalyseHardWareAlarmRecordHandleResultEnum;
|
||||||
@ -74,7 +73,6 @@ import javax.annotation.Resource;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -534,17 +532,8 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
|||||||
entity.setAiAnalyseHardWareAlarmRecordId(alarmRecord.getId());
|
entity.setAiAnalyseHardWareAlarmRecordId(alarmRecord.getId());
|
||||||
workerInfoToAiAnalyseHardWareAlarmRecordMapper.insert(entity);
|
workerInfoToAiAnalyseHardWareAlarmRecordMapper.insert(entity);
|
||||||
String projectSn = alarmRecord.getProjectSn();
|
String projectSn = alarmRecord.getProjectSn();
|
||||||
DictionaryItem dict = dictionaryItemService.getDict(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE, alarmRecord.getAlarmType() + "", projectSn);
|
XzAiDeductRule rule = getAiDeductRuleByProjectSnAndAlarmType(projectSn, alarmRecord.getAlarmType());
|
||||||
if (dict == null) {
|
if (rule == null) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
XzAiDeductRule rule = xzAiDeductRuleMapper.selectOne(new LambdaQueryWrapper<XzAiDeductRule>()
|
|
||||||
.eq(XzAiDeductRule::getProjectSn, projectSn)
|
|
||||||
.eq(XzAiDeductRule::getDictionaryItemId, dict.getId())
|
|
||||||
);
|
|
||||||
if (rule == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//扣分
|
//扣分
|
||||||
Double deductScore = rule.getDeductScore();
|
Double deductScore = rule.getDeductScore();
|
||||||
if (deductScore == null || deductScore == 0) {
|
if (deductScore == null || deductScore == 0) {
|
||||||
@ -576,9 +565,10 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
|||||||
|
|
||||||
UserInfo user = SecurityUtils.getUser();
|
UserInfo user = SecurityUtils.getUser();
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
|
String payload = getNoticePayLoad(record);
|
||||||
List<String> noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(alarmRecord.getHardwareId());
|
List<String> noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(alarmRecord.getHardwareId());
|
||||||
for (String noticeUserId : noticeUserIds) {
|
for (String noticeUserId : noticeUserIds) {
|
||||||
noticeService.addUserNotice(Long.valueOf(noticeUserId), "Al违章扣分通知", vo.getDeductReason(), "8");
|
noticeService.addUserNotice(Long.valueOf(noticeUserId), "Al违章扣分通知", vo.getDeductReason(), "8", payload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -588,6 +578,24 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过项目sn和报警类型获取AI扣分规则
|
||||||
|
*
|
||||||
|
* @param projectSn
|
||||||
|
* @param alarmType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private XzAiDeductRule getAiDeductRuleByProjectSnAndAlarmType(String projectSn, Integer alarmType) {
|
||||||
|
DictionaryItem dict = dictionaryItemService.getDict(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE, alarmType + "", projectSn);
|
||||||
|
if (dict == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return xzAiDeductRuleMapper.selectOne(new LambdaQueryWrapper<XzAiDeductRule>()
|
||||||
|
.eq(XzAiDeductRule::getProjectSn, projectSn)
|
||||||
|
.eq(XzAiDeductRule::getDictionaryItemId, dict.getId())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WorkerInfo> violatorListSort(Map<String, Object> map) {
|
public List<WorkerInfo> violatorListSort(Map<String, Object> map) {
|
||||||
return baseMapper.violatorListSort(map);
|
return baseMapper.violatorListSort(map);
|
||||||
@ -643,21 +651,41 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
|||||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(record.getProjectSn());
|
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(record.getProjectSn());
|
||||||
String relativePath = projectInfoBySn.getProjectName() + "/AI预警列表/" + DateUtil.today();
|
String relativePath = projectInfoBySn.getProjectName() + "/AI预警列表/" + DateUtil.today();
|
||||||
String dir = PathUtil.getBasePath() + "/" + relativePath;
|
String dir = PathUtil.getBasePath() + "/" + relativePath;
|
||||||
|
if (record.getImageUrl() != null) {
|
||||||
FileUtil.copy(PathUtil.getBasePath() + "/" + record.getImageUrl(), dir + "/" + FileUtil.getName(record.getImageUrl()), true);
|
FileUtil.copy(PathUtil.getBasePath() + "/" + record.getImageUrl(), dir + "/" + FileUtil.getName(record.getImageUrl()), true);
|
||||||
if (StringUtils.isNotBlank(record.getAlarmVideo())) {
|
if (StringUtils.isNotBlank(record.getAlarmVideo())) {
|
||||||
FileUtil.copy(PathUtil.getBasePath() + "/" + record.getAlarmVideo(), dir + "/" + FileUtil.getName(record.getAlarmVideo()), true);
|
FileUtil.copy(PathUtil.getBasePath() + "/" + record.getAlarmVideo(), dir + "/" + FileUtil.getName(record.getAlarmVideo()), true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
baseMapper.updateById(record);
|
baseMapper.updateById(record);
|
||||||
|
|
||||||
UserInfo user = SecurityUtils.getUser();
|
UserInfo user = SecurityUtils.getUser();
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
|
String payload = getNoticePayLoad(record);
|
||||||
List<String> noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(record.getHardwareId());
|
List<String> noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(record.getHardwareId());
|
||||||
for (String noticeUserId : noticeUserIds) {
|
for (String noticeUserId : noticeUserIds) {
|
||||||
noticeService.addUserNotice(Long.valueOf(noticeUserId), "AI预警通知", "您有一条AI预警数据需要处置,请及时查看。", "8");
|
noticeService.addUserNotice(Long.valueOf(noticeUserId), "AI预警通知", "您有一条AI预警数据需要处置,请及时查看。", "8", payload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取推送Ai报警通知的载荷(用来判断是否发出声音)
|
||||||
|
*
|
||||||
|
* @param record
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String getNoticePayLoad(AiAnalyseHardWareAlarmRecord record) {
|
||||||
|
XzAiDeductRule rule = getAiDeductRuleByProjectSnAndAlarmType(record.getProjectSn(), record.getAlarmType());
|
||||||
|
String payload = null;
|
||||||
|
if (rule != null) {
|
||||||
|
AiAnalyseHardWareAlarmRecordNoticeBo bo = new AiAnalyseHardWareAlarmRecordNoticeBo();
|
||||||
|
bo.setLevel(rule.getLevel());
|
||||||
|
payload = JSON.toJSONString(bo);
|
||||||
|
}
|
||||||
|
return payload;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void falsePositiveDeletion(Long id) {
|
public void falsePositiveDeletion(Long id) {
|
||||||
AiAnalyseHardWareAlarmRecord record = baseMapper.selectById(id);
|
AiAnalyseHardWareAlarmRecord record = baseMapper.selectById(id);
|
||||||
|
|||||||
@ -1,18 +1,14 @@
|
|||||||
package com.zhgd.xmgl.modules.xz.entity;
|
package com.zhgd.xmgl.modules.xz.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 星纵-AI扣分规则
|
* @Description: 星纵-AI扣分规则
|
||||||
@ -35,19 +31,16 @@ public class XzAiDeductRule implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 所属项目SN
|
* 所属项目SN
|
||||||
*/
|
*/
|
||||||
@Excel(name = "所属项目SN", width = 15)
|
|
||||||
@ApiModelProperty(value = "所属项目SN")
|
@ApiModelProperty(value = "所属项目SN")
|
||||||
private java.lang.String projectSn;
|
private java.lang.String projectSn;
|
||||||
/**
|
/**
|
||||||
* AI预警类型id
|
* AI预警类型id
|
||||||
*/
|
*/
|
||||||
@Excel(name = "AI预警类型id", width = 15)
|
|
||||||
@ApiModelProperty(value = "AI预警类型id")
|
@ApiModelProperty(value = "AI预警类型id")
|
||||||
private java.lang.Long dictionaryItemId;
|
private java.lang.Long dictionaryItemId;
|
||||||
/**
|
/**
|
||||||
* 扣分分值
|
* 扣分分值
|
||||||
*/
|
*/
|
||||||
@Excel(name = "扣分分值", width = 15)
|
|
||||||
@ApiModelProperty(value = "扣分分值")
|
@ApiModelProperty(value = "扣分分值")
|
||||||
private java.lang.Double deductScore;
|
private java.lang.Double deductScore;
|
||||||
/**
|
/**
|
||||||
@ -60,7 +53,33 @@ public class XzAiDeductRule implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private java.util.Date updateDate;
|
private java.util.Date updateDate;
|
||||||
|
/**
|
||||||
|
* 整改要求
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "整改要求")
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 问题描述
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "问题描述")
|
||||||
|
private String dangerItemContent;
|
||||||
|
/**
|
||||||
|
* 问题子项ID
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "问题子项ID")
|
||||||
|
private Long dangerItemId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 问题所属大项ID
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "问题所属大项ID")
|
||||||
|
private Long dangerTypeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 问题等级,1一级,2二级,3三级,4四级
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "问题等级,1一级,2二级,3三级,4四级")
|
||||||
|
private Integer level;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String data;
|
private String data;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.zhgd.xmgl.security;
|
package com.zhgd.xmgl.security;
|
||||||
|
|
||||||
import com.zhgd.xmgl.util.EnvironmentUtil;
|
import com.zhgd.xmgl.util.EnvironmentUtil;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@ -16,7 +15,6 @@ import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
|||||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||||
import org.springframework.security.config.http.SessionCreationPolicy;
|
import org.springframework.security.config.http.SessionCreationPolicy;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
|
||||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
@ -80,6 +78,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
|
|
||||||
http.authorizeRequests()
|
http.authorizeRequests()
|
||||||
//请求路径允许访问
|
//请求路径允许访问
|
||||||
|
.antMatchers("/xmgl/appVersion/list").permitAll()
|
||||||
.antMatchers("/xmgl/carMeasureSpeedData/add").permitAll()
|
.antMatchers("/xmgl/carMeasureSpeedData/add").permitAll()
|
||||||
.antMatchers("/xmgl/callBack/icc/subscribeCall").permitAll()
|
.antMatchers("/xmgl/callBack/icc/subscribeCall").permitAll()
|
||||||
.antMatchers("/xmgl/hat/httpAlarmServer").permitAll()
|
.antMatchers("/xmgl/hat/httpAlarmServer").permitAll()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user