From 4d95fc81467cdaec916728feee94763491f74c18 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 06 三月 2026 10:01:00 +0800
Subject: [PATCH] 设备消息推送
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 192 ++----------------------------------------------
1 files changed, 8 insertions(+), 184 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 fd954d2..bb5056d 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
@@ -28,14 +28,12 @@
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
-import okhttp3.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.springframework.transaction.annotation.Transactional;
-import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -67,9 +65,6 @@
@Autowired
private DeviceMapper deviceMapper;
-
- @Autowired
- private InterfaceLogMapper interfaceLogMapper;
@Autowired
private MemberMapper memberMapper;
@@ -711,16 +706,6 @@
// StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
// dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
// warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
- List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
- for (String ddUserId:ddUserIdList) {
- this.getJDYData(warningEvent,ddUserId,
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
- );
- }
- }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
@@ -730,93 +715,31 @@
warningEvent.setStatus(Constants.TWO);
warningEventMapper.updateById(warningEvent);
}
+
}
+
}
}
}
public void sendDeviceNotice(WarningRule warningRule){
- if(Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ONE)
- &&StringUtils.isNotBlank(warningRule.getDeviceIds())
- &&StringUtils.isNotBlank(warningRule.getDeviceNoticeContent())){
+ if(Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ONE)&&StringUtils.isNotBlank(warningRule.getDeviceIds())&&StringUtils.isNotBlank(warningRule.getDeviceNoticeContent())){
List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>()
.lambda()
.eq(Device::getStatus,Constants.ZERO)
- .in(Device::getId,Arrays.asList(warningRule.getDeviceIds().split(",")))
+ .eq(Device::getId,Arrays.asList(warningRule.getDeviceIds().split(",")))
);
if(CollectionUtils.isNotEmpty(deviceList)){
for (Device device:deviceList) {
device.setSendInfo(warningRule.getDeviceNoticeContent());
- DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device,interfaceLogMapper);
+ DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device);
}
}
}
}
- /**
- * 绠�閬撲簯娑堟伅鎺ㄩ�� 瀹氬埗
- * @param warningEvent
- * @param ddUserId 鎺ユ敹浜� 閽夐拤涓婚敭
- * @param jdyApiKey 绠�鍗曚簯APIKEY
- * @param appid 搴旂敤ID
- * @param entryId 琛ㄥ崟ID
- * @throws IOException
- */
- public void getJDYData(WarningEvent warningEvent,String ddUserId,String jdyApiKey,String appid,String entryId) throws IOException {
- Map<String,Object> map = new HashMap<>();
- map.put("app_id",appid);
- map.put("entry_id",entryId);
- map.put("is_start_workflow","false");
- map.put("is_start_trigger","true");
- map.put("data",this.getJdyChildData(warningEvent,ddUserId));
-
-// OkHttpClient client = new OkHttpClient().newBuilder()
-// .build();
-// MediaType mediaType = MediaType.parse("application/json");
-// RequestBody body = RequestBody.create(mediaType, JSONObject.toJSONString(map));//"{\"data\":{\"notice_time\":{\"value\":\"2025-12-23 04:56:29\"},\"title\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"},\"user\":{\"value\":\"1568490244651036\"},\"content\":{\"value\":\"璺ㄨ秺鐢熶骇绾�-鑺滄箹鐗╂祦涓績鍖楀洿澧欒繃閬撲笢\"},\"notice_type\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"}},\"is_start_trigger\":\"true\",\"app_id\":\"6909d0fbdb93b068192dc4a9\",\"entry_id\":\"694a19ecf57e071788efc20b\",\"is_start_workflow\":\"false\"}");
-// log.error("绠�閬撲簯鍙戦�侀�氱煡璇锋眰淇℃伅" + JSONObject.toJSONString(map));
-// Request request = new Request.Builder()
-// .url("https://api.jiandaoyun.com/api/v5/app/entry/data/create")
-// .method("POST", body)
-// .addHeader("Authorization", "Bearer "+jdyApiKey)
-// .addHeader("Content-Type", "application/json")
-// .build();
-// Response response = client.newCall(request).execute();
-//
-// log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅" + JSONObject.toJSONString(response));
-
- }
-
-
- public Map<String,Object> getJdyChildData(WarningEvent warningEvent,String ddUserId){
- Map<String,Object> dataMap = new HashMap<>();
-
- Map<String,Object> title = new HashMap<>();
- title.put("value",warningEvent.getTitle());
- dataMap.put("title",title);
-
- Map<String,Object> user = new HashMap<>();
- user.put("value",ddUserId);
- dataMap.put("user",user);
-
- Map<String,Object> notice_time = new HashMap<>();
- notice_time.put("value",DateUtil.getCurrDateTime());
- dataMap.put("notice_time",notice_time);
-
- Map<String,Object> notice_type = new HashMap<>();
- notice_type.put("value",warningEvent.getTitle());
- dataMap.put("notice_type",notice_type);
-
- Map<String,Object> content = new HashMap<>();
- content.put("value",warningEvent.getContent());
- dataMap.put("content",content);
-
- return dataMap;
- }
-
-
- /* 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)
@@ -890,96 +813,8 @@
return new ArrayList<>();
- }*/
-
- public List<Integer> processWarnFrontWithEvent(Constants.WarningConfig warningConfig, List<WarningEvent> returnEventList){
-
- 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);
- if(returnEventList != null){
- returnEventList.addAll(warningEventList);
- }
- };
- }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);
- if(returnEventList != null){
- returnEventList.addAll(warningEventList);
- }
- }
- }
- }
- }
- return resultList;
- }
- return new ArrayList<>();
}
- public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
-
- return this.processWarnFrontWithEvent(warningConfig,null);
-
-
- }
/**
@@ -992,9 +827,9 @@
return false;
}
for (WarningRuleDetail warningRuleDetail:warningRuleDetails) {
- if(Objects.nonNull(warningRuleDetail.getDeviceId())){
+ if(Objects.nonNull(warningRuleDetail.getRegionId())){
if(warningEventList.stream().filter(i->Constants.equalsInteger(i.getWarningId(),warningRuleDetail.getWarningId())
- && StringUtils.isNotBlank(i.getDeviceId()) && i.getDeviceId().equals(warningRuleDetail.getDeviceId())
+ && StringUtils.isNotBlank(i.getRegionId()) && i.getRegionId().equals(warningRuleDetail.getRegionId())
).collect(Collectors.toList()).size()<=Constants.ZERO){
return false;
}
@@ -1101,17 +936,6 @@
// StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
// dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
// warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
- List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
- for (String ddUserId:ddUserIdList) {
- this.getJDYData(warningEvent,ddUserId,
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
- systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
-
- );
- }
- }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
--
Gitblit v1.9.3