通知提示音信息bug修复

This commit is contained in:
guoshengxiong 2025-08-02 09:16:03 +08:00
parent ccf93552c0
commit 88a34da4bb
8 changed files with 258 additions and 144 deletions

View File

@ -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);
}
} }

View File

@ -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;

View File

@ -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;
/**
* 风险等级1234级
*/
@ApiModelProperty(value = "风险等级1、2、3、4级")
private Integer riskLevel;
} }

View File

@ -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;
} }

View File

@ -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;
}

View File

@ -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);

View File

@ -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;
} }

View File

@ -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()