From 5decddf6a5dd2cda32880c07c545b8246ceada2d Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 11 十二月 2025 11:54:20 +0800
Subject: [PATCH] 钥匙柜开门添加 指纹方式
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 85 insertions(+), 6 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index bb5056d..0a94c19 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -67,6 +67,9 @@
private DeviceMapper deviceMapper;
@Autowired
+ private InterfaceLogMapper interfaceLogMapper;
+
+ @Autowired
private MemberMapper memberMapper;
@Autowired
@@ -715,9 +718,7 @@
warningEvent.setStatus(Constants.TWO);
warningEventMapper.updateById(warningEvent);
}
-
}
-
}
}
}
@@ -732,14 +733,14 @@
if(CollectionUtils.isNotEmpty(deviceList)){
for (Device device:deviceList) {
device.setSendInfo(warningRule.getDeviceNoticeContent());
- DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device);
+ DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device,interfaceLogMapper);
}
}
}
}
- public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
+ /* public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
.selectAll(WarningRuleDetail.class)
.leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
@@ -813,6 +814,84 @@
return new ArrayList<>();
+ }*/
+
+ public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
+
+ List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
+ .selectAll(WarningRuleDetail.class)
+ .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
+ .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
+ .eq(Warning::getIsdeleted,Constants.ZERO)
+ .eq(Warning::getStatus,Constants.ONE)
+ .eq(Warning::getCode,warningConfig.getKey())
+ );
+ if(CollectionUtils.isEmpty(warningRuleDetailList)){
+ return new ArrayList<>();
+ }
+ //鎵�鏈夋姤璀﹁鍒欓厤缃俊鎭�
+ List<Integer> ruleIdList = warningRuleDetailList.stream().map(i->i.getRuleId()).collect(Collectors.toList());;
+ Set<Integer> ruleIdSet = new HashSet<>(ruleIdList);
+ if(CollectionUtils.isNotEmpty(ruleIdSet)){
+ List<Integer> resultList = new ArrayList<>();
+ for (Integer ruleId:ruleIdSet) {
+ WarningRule warningRule = warningRuleMapper.selectById(ruleId);
+ //鏌ヨ鍏朵粬瑙勫垯淇℃伅
+ List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
+ .selectAll(WarningRuleDetail.class)
+ .selectAs(Warning::getCode,WarningRuleDetail::getCode)
+ .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
+ .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
+ .eq(Warning::getIsdeleted,Constants.ZERO)
+ .eq(Warning::getStatus,Constants.ONE)
+ .eq(WarningRuleDetail::getRuleId,ruleId)
+// .in(Warning::getCode,Constants.WarningConfig.ALARM_TEST.getKey(),
+// Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey(),
+// Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()
+// )
+ );
+ //鏃犱换浣曡鍒� 鐩存帴璺宠繃
+ if(CollectionUtils.isEmpty(warningRuleDetails)){
+ return resultList;
+ }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()).size(),Constants.ZERO)){
+ List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
+ //鑾峰彇鎵�鏈夊叾浠栨墍鏈変簨浠朵富閿俊鎭�
+ List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
+ Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
+ //鑾峰彇鏃堕棿鍐呮墍鏈変簨浠朵俊鎭�
+ List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
+ .eq(WarningEvent::getIsdeleted,Constants.ZERO)
+ .in(WarningEvent::getWarningId,setWarningIdList)
+ .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
+ );
+ if(this.processWarnFlag(wList,warningEventList)){
+ resultList.add(ruleId);
+ };
+ }else{
+ List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
+ //鑾峰彇鏈浜嬩欢涓婚敭淇℃伅
+ List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
+ Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
+ if(Objects.isNull(warningRule.getIntervalSec())){
+ resultList.add(ruleId);
+ }else{
+ //鑾峰彇鏃堕棿鍐呮墍鏈変簨浠朵俊鎭�
+ List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
+ .eq(WarningEvent::getIsdeleted,Constants.ZERO)
+ .in(WarningEvent::getWarningId,setWarningIdList)
+ .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
+ );
+ if(this.processWarnFlag(wList,warningEventList)){
+ resultList.add(ruleId);
+ }
+ }
+ }
+ }
+ return resultList;
+ }
+ return new ArrayList<>();
+
+
}
@@ -827,9 +906,9 @@
return false;
}
for (WarningRuleDetail warningRuleDetail:warningRuleDetails) {
- if(Objects.nonNull(warningRuleDetail.getRegionId())){
+ if(Objects.nonNull(warningRuleDetail.getDeviceId())){
if(warningEventList.stream().filter(i->Constants.equalsInteger(i.getWarningId(),warningRuleDetail.getWarningId())
- && StringUtils.isNotBlank(i.getRegionId()) && i.getRegionId().equals(warningRuleDetail.getRegionId())
+ && StringUtils.isNotBlank(i.getDeviceId()) && i.getDeviceId().equals(warningRuleDetail.getDeviceId())
).collect(Collectors.toList()).size()<=Constants.ZERO){
return false;
}
--
Gitblit v1.9.3