From 9894da46a0f6f6f15c531aa3506eba9fc6fe5eb9 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 19 十二月 2025 07:36:51 +0800
Subject: [PATCH] 功能优化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 82 insertions(+), 33 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 4adad16..bf7cb52 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -26,6 +26,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
+import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.service.business.VisitsService;
import com.doumee.service.business.impl.JkCabinetGridServiceImpl;
import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
@@ -37,6 +38,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -156,8 +158,9 @@
}
if(delRetentionLis.size()>0){
//鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳锛�
+ //@ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴鍛樺伐 3杞﹁締淇℃伅 4鐩稿叧鏂逛汉鍛� 5璐ц繍鍙告満 ")
retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
-// .eq(Retention::getType,Constants.memberType.internal)
+ .ne(Retention::getType,Constants.THREE)
.in(Retention::getMemberId,delRetentionLis));
}
if(retentionList.size()>0){
@@ -482,7 +485,7 @@
for(EventBaseInfoRequest request : events){
Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
.eq(Warning::getIsdeleted,Constants.ZERO)
- .eq(Warning::getCode, request.getSrcType()).last("limit 1"));
+ .eq(Warning::getCode, request.getEventType()).last("limit 1"));
Constants.WarningConfig warningConfig = Constants.WarningConfig.getConfig(request.getEventType());
@@ -497,26 +500,30 @@
warningEvent.setEventId(request.getEventId());
warningEvent.setEventType(request.getEventType().toString());
warningEvent.setHappenTime(request.getHappenTime());
- warningEvent.setJsonContent(request.getData().toJSONString());
+ if(Objects.nonNull(request.getData())){
+ warningEvent.setJsonContent(request.getData().toJSONString());
+ }
warningEvent.setSrcIndex(request.getSrcIndex());
warningEvent.setSrcType(request.getSrcType());
warningEvent.setSrcName(request.getSrcName());
+ warningEvent.setWarningId(warning.getId());
+ warningEvent.setDeviceId(request.getSrcIndex());
+ warningEvent.setRegion(this.getRegionsName(warningEvent.getSrcIndex(),warning.getType()));
warningEventMapper.insert(warningEvent);
if(Objects.nonNull(warningConfig)){
List<Integer> ruleIdList = impl.processWarnFront(warningConfig);
- Boolean falg = false;
+
+ Boolean falg = true;
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ruleIdList)){
- for (Integer ruleId:ruleIdList) {
+ Set<Integer> ruleIdSet = new HashSet<>(ruleIdList);
+ for (Integer ruleId:ruleIdSet) {
WarningRule warningRule = warningRuleMapper.selectById(ruleId);
if (Objects.isNull(warningRule)) {
break;
}
List<Member> memberList = impl.getWarningRuleMemberList(warningRule);
- if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
- break;
- }
try {
WarningPush warningPush = new WarningPush();
warningPush.setCreateDate(new Date());
@@ -527,48 +534,35 @@
warningPush.setContent(content);
warningPush.setStatus(Constants.ZERO);
warningPush.setPushType(Constants.ZERO);
- //TODO 鏍规嵁鍏蜂綋鏁版嵁瀵规瘮鑾峰彇
- warningPush.setRegion( "鏈煡浣嶇疆");
- warningPush.setMemberIds(
- StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
- );
- warningPush.setMemberIds(
- StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
- );
- warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
- );
-
+ warningPush.setRegion( warningEvent.getRegion());
+ if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
+ warningPush.setMemberIds(
+ StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
+ );
+ warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
+ );
+ }
if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
// Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
// 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);
}
- warningPushMapper.insert(warningPush);
impl.sendDeviceNotice(warningRule);
+ warningPushMapper.insert(warningPush);
- falg = true;
}catch (Exception e){
+ falg = false;
warningEvent.setStatus(Constants.TWO);
warningEventMapper.updateById(warningEvent);
}
}
}
- if(falg){
+ if(!falg){
warningEvent.setStatus(Constants.ONE);
warningEventMapper.updateById(warningEvent);
}
-
-
-
-
-
-
}
-
-
-
-
}
}
@@ -579,9 +573,64 @@
}
saveInterfaceLog(param,"/business/hksync/push/notice",result,true);
return null;
-
}
+ @Autowired
+ private RedisTemplate<String,Object> stringRedisTemplate;
+
+ public String getRegionsName(String srcIndex,Integer warningType){
+ log.error("銆愬尮閰嶈澶囦笌鍖哄煙鍏崇郴淇℃伅銆�========寮�濮�=======锛�"+srcIndex);
+ String regionName = "鏈煡鍖哄煙";
+ if(StringUtils.isBlank(srcIndex)){
+ return regionName;
+ }
+ try{
+ if(Constants.equalsInteger(warningType,Constants.ZERO)){
+ List<CarmeraListVO> carmeraListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_CAMERAS);//鎵�鏈夌洃鎺х偣鏁版嵁
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
+ for (CarmeraListVO c:carmeraListVOList) {
+ if(c.getIndexCode().equals(srcIndex)){
+ log.error("銆愮洃鎺у尯鍩熷尮閰嶇粨鏋溿��===============锛�"+c.getRegionName());
+ return c.getRegionName();
+ }
+ }
+ }
+ }
+ }else{
+ List<CarmeraListVO> fireDeviceListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_FIRE_DEVICE);//鎵�鏈夋秷闃茶澶囨暟鎹�
+ List<CarmeraListVO> sensorListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_SENSOR);//鎵�鏈変紶鎰熷櫒
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
+ for (CarmeraListVO c:fireDeviceListVOList) {
+ if(c.getIndexCode().equals(srcIndex)){
+ log.error("銆愭秷闃插尯鍩熷尮閰嶇粨鏋溿��===============锛�"+c.getRegionName());
+ return c.getRegionName();
+ }
+ }
+ }
+ }
+
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
+ for (CarmeraListVO c:sensorListVOList) {
+ if(c.getIndexCode().equals(srcIndex)){
+ log.error("銆愪紶鎰熷櫒鍖哄煙鍖归厤缁撴灉銆�==============锛�"+c.getRegionName());
+ return c.getRegionName();
+ }
+ }
+ }
+ }
+ }
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ log.error("銆愬尮閰嶈澶囦笌鍖哄煙鍏崇郴淇℃伅銆�========缁撴潫=======锛�"+srcIndex);
+ return regionName;
+ }
+
+
/**
* 娴峰悍璁垮浜嬩欢鎺ㄩ��
* @param param
--
Gitblit v1.9.3