From 9a0234d2ec27526dea6204fa1f43defc67317e10 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 十二月 2025 14:31:32 +0800
Subject: [PATCH] 设备消息推送

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java     |   45 ++++++++++++++++++----
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java      |   13 ++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   14 ++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java                     |    2 
 4 files changed, 54 insertions(+), 20 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java
index 3a8d5a2..07e6232 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java
@@ -90,7 +90,7 @@
     //@ExcelColumn(name="鎺ㄩ�佹椂闂�")
     private Date pushDate;
 
-    @ApiModelProperty(value = "鎺ㄩ�佹柟寮� 0閽夐拤閫氱煡", example = "1")
+    @ApiModelProperty(value = "鎺ㄩ�佹柟寮� 0閽夐拤閫氱煡 1璁惧鎺ㄩ��", example = "1")
     //@ExcelColumn(name="鎺ㄩ�佹柟寮� 0閽夐拤閫氱煡")
     private Integer pushType;
 
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 a14b88a..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
@@ -64,6 +64,9 @@
     private WarningEventMapper warningEventMapper;
 
     @Autowired
+    private DeviceMapper deviceMapper;
+
+    @Autowired
     private MemberMapper memberMapper;
 
     @Autowired
@@ -698,14 +701,16 @@
                         warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                         );
                         //todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
-
-                        //            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(),content));
-                        //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                        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(),content));
+                            //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                        }
                         warningPushMapper.insert(warningPush);
                         warningEvent.setStatus(Constants.ONE);
                         warningEventMapper.updateById(warningEvent);
+                        this.sendDeviceNotice(warningRule);
                     }catch (Exception e){
                         warningEvent.setStatus(Constants.TWO);
                         warningEventMapper.updateById(warningEvent);
@@ -713,6 +718,22 @@
 
                 }
 
+            }
+        }
+    }
+
+    public void sendDeviceNotice(WarningRule warningRule){
+        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)
+                    .eq(Device::getId,Arrays.asList(warningRule.getDeviceIds().split(",")))
+            );
+            if(CollectionUtils.isNotEmpty(deviceList)){
+                for (Device device:deviceList) {
+                    device.setSendInfo(warningRule.getDeviceNoticeContent());
+                    DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device);
+                }
             }
         }
     }
@@ -737,6 +758,9 @@
             List<Integer> resultList = new ArrayList<>();
             for (Integer ruleId:ruleIdSet) {
                 WarningRule warningRule = warningRuleMapper.selectById(ruleId);
+                if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ZERO)&&Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ZERO)){
+                    continue;
+                }
                 //鏌ヨ鍏朵粬瑙勫垯淇℃伅
                 List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                         .selectAll(WarningRuleDetail.class)
@@ -907,13 +931,16 @@
                     warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                     );
                     //todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
-        //            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);
+                    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);
                     warningEvent.setStatus(Constants.ONE);
                     warningEventMapper.updateById(warningEvent);
+                    this.sendDeviceNotice(warningRule);
                 }catch (Exception e){
                     warningEvent.setStatus(Constants.TWO);
                     warningEventMapper.updateById(warningEvent);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
index 4dae04a..5597485 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -260,11 +260,14 @@
                             );
                             warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                             );
-                            // todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
-                            //            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(),content));
-                            //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+
+                            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);
+                            }
+                            impl.sendDeviceNotice(warningRule);
                             warningPushMapper.insert(warningPush);
                             falg = true;
                         }catch (Exception e){
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 4a8c6bb..4adad16 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
@@ -537,12 +537,16 @@
                                     );
                                     warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                                     );
-                                    // todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
-                                    //            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(),content));
-                                    //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+
+                                    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);
+
                                     falg = true;
                                 }catch (Exception e){
                                     warningEvent.setStatus(Constants.TWO);

--
Gitblit v1.9.3