yang 3 роки тому
батько
коміт
68bbdb22e3

+ 3 - 0
huimv-massage-service/huimv-massage-service.iml

@@ -35,6 +35,9 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:druid:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.3" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.3" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.3" level="project" />

+ 28 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/sendmassage/SendWork.java

@@ -77,6 +77,34 @@ public class SendWork {
     }
 
 
+    public void send3(String masssage1, List<PhoneNumberEntity> phoneNumberList) throws Exception {
+        ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
+                "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
+        for (PhoneNumberEntity phonNumber : phoneNumberList) {
+            Map<String, Object> params = new HashMap<String, Object>();
+            params.put("number", phonNumber.getPhoneNumber());
+            params.put("templateId", "6663");
+            String[] templateParams = new String[2];
+            templateParams[0] = phonNumber.getFarmName();
+            templateParams[1] = "video故障";
+            params.put("templateParams", templateParams);
+            String result = client.send(params);
+            String balance = client.balance();
+            System.out.println("333通知号码" + result + balance);
+
+            AlarmHistoryEntity alarmHistoryEntity = new AlarmHistoryEntity();
+            alarmHistoryEntity.setAlarmType(2);
+            alarmHistoryEntity.setBeginTime(new Date());
+            alarmHistoryEntity.setFarmCode(phonNumber.getFarmCode());
+            alarmHistoryEntity.setEndTime(new Date());
+            alarmHistoryEntity.setPhoneNumber(phonNumber.getPhoneNumber());
+            alarmHistoryEntity.setFarmName(phonNumber.getFarmName());
+            System.out.println(alarmHistoryEntity);
+            alarmHistoryService.save(alarmHistoryEntity);
+            System.out.println("333存储成功");
+            //同时存储记录
+        }
+    }
 
     public static void main(String[] args) throws Exception {
 

+ 59 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/timmertask/DeleteOldData.java

@@ -0,0 +1,59 @@
+package com.huimv.socketservice.timmertask;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.socketservice.dao.HeartBeatDao;
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.service.HeartBeatService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author Anchor
+ * @Date 2021/9/9 10:03
+ * @Version 1.0.1
+ */
+
+@Slf4j
+@Component
+public class DeleteOldData {
+   @Autowired
+   private HeartBeatDao heartBeatDao;
+
+    @Autowired
+    private HeartBeatService heartBeatService ;
+
+
+    //删除历史数据  每天10  14  16  点
+    @Scheduled(cron = "0 0 10,14,16 * * ? ")
+    public void checkDeviceAble() throws Exception {
+        Date now = new Date();
+        Date settingTimesBeforeOneday = new Date(now.getTime() - 1000*60*60*48);
+        Date settingTimesBeforeTowday = new Date(now.getTime() - 1000*60*60*72);
+
+        LambdaQueryWrapper<HeartBeatEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.select(HeartBeatEntity::getId);
+        lambdaQueryWrapper.between(HeartBeatEntity::getCreateTime, settingTimesBeforeTowday, settingTimesBeforeOneday);   //在使用的牧场
+        List<Integer> collect = heartBeatDao.selectObjs(lambdaQueryWrapper).stream().map(o -> (Integer) o).collect(Collectors.toList());
+        heartBeatService.removeByIds(collect);
+
+    }
+
+
+
+
+
+
+
+
+
+}

+ 52 - 8
huimv-massage-service/src/main/java/com/huimv/socketservice/timmertask/SendAlarmMassage.java

@@ -37,15 +37,14 @@ public class SendAlarmMassage {
     private FarmRegisterDao farmRegisterDao;
     @Autowired
     private AlarmHistoryDao alarmHistoryDao;
-    @Autowired
-    private AlarmHistoryService alarmHistoryService;
+
     @Autowired
     private SendWork sendWork;
     @Autowired
     private PhoneNumberDao phoneNumberDao;
 
 
-    @Scheduled(cron = "0/10 * * * * ?")
+    @Scheduled(cron = "0/40 * * * * ?")
     public void checkDeviceAble() throws Exception {
         LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
@@ -56,7 +55,7 @@ public class SendAlarmMassage {
         for (Integer farmCode : Farmcodes) {
             //最近一段时间内是否有数据上传
             Date now = new Date();
-            Date settingTimesBefore = new Date(now.getTime() - 15000);
+            Date settingTimesBefore = new Date(now.getTime() - 40000);
             //首先判断异常,然后电话通知
             LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
             wrapper1.eq(HeartBeatEntity::getCmd, 1).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
@@ -66,7 +65,7 @@ public class SendAlarmMassage {
             if (heartBeatEntities.size() == 0) {
                 System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
                 Date now1 = new Date();
-                Date settingTimesBefore1 = new Date(now.getTime() - 600000);
+                Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
                 //异常 判断十分钟内是否已经通知过,通知过就放弃
                 LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
                 wrapper11.eq(AlarmHistoryEntity::getAlarmType, 1).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
@@ -93,7 +92,7 @@ public class SendAlarmMassage {
 
 
 
-    @Scheduled(cron = "0/10 * * * * ?")
+    @Scheduled(cron = "0/40  * * * * ?")
     public void alarm2() throws Exception {
         LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
@@ -103,7 +102,7 @@ public class SendAlarmMassage {
         for (Integer farmCode : Farmcodes) {
             //最近一段时间内是否有数据上传
             Date now = new Date();
-            Date settingTimesBefore = new Date(now.getTime() - 15000);
+            Date settingTimesBefore = new Date(now.getTime() - 40000);
             //首先判断异常,然后电话通知
             LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
             wrapper1.eq(HeartBeatEntity::getCmd, 2).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
@@ -112,7 +111,7 @@ public class SendAlarmMassage {
             if (heartBeatEntities.size() == 0) {
                 System.out.println("222有异常---物数据上传--判断最近十分钟是否已经报警");
                 Date now1 = new Date();
-                Date settingTimesBefore1 = new Date(now.getTime() - 600000);
+                Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
                 //异常 判断十分钟内是否已经通知过,通知过就放弃
                 LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
                 wrapper11.eq(AlarmHistoryEntity::getAlarmType, 2).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
@@ -136,5 +135,50 @@ public class SendAlarmMassage {
         }
     }
 
+    @Scheduled(cron = "0/40 * * * * ?")
+    public void checkDeviceAble3() throws Exception {
+        LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
+        lambdaQueryWrapper.eq(FarmRegisterEntity::getStatus, 0);   //在使用的牧场
+        List<Integer> Farmcodes = farmRegisterDao.selectObjs(lambdaQueryWrapper).stream().map(o -> (Integer) o).collect(Collectors.toList());
+        System.out.println("牧场列表" + Farmcodes);
+
+        for (Integer farmCode : Farmcodes) {
+            //最近一段时间内是否有数据上传
+            Date now = new Date();
+            Date settingTimesBefore = new Date(now.getTime() - 40000);
+            //首先判断异常,然后电话通知
+            LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
+            wrapper1.eq(HeartBeatEntity::getCmd, 3).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
+            List<HeartBeatEntity> heartBeatEntities = heartBeatDao.selectList(wrapper1);
+
+
+            if (heartBeatEntities.size() == 0) {
+                System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
+                Date now1 = new Date();
+                Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
+                //异常 判断十分钟内是否已经通知过,通知过就放弃
+                LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
+                wrapper11.eq(AlarmHistoryEntity::getAlarmType, 3).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
+                List<AlarmHistoryEntity> alarmHistoryEntities = alarmHistoryDao.selectList(wrapper11);
+                if (alarmHistoryEntities.size() == 0) {
+                    System.out.println("有异常而且最近十分钟没有报警-----》报警");
+                    //找出所有在使用的电话
+                    LambdaQueryWrapper<PhoneNumberEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getStatus, 0);   //在使用的牧场
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getFarmCode, farmCode);
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getAlarmType, 3);
+                    List<PhoneNumberEntity> collect = phoneNumberDao.selectList(lambdaQueryWrapper1);
+                    System.out.println("333报警结束--存储历史报警信息**通知号码="+collect);
+                    sendWork.send( "1", collect);
+                }else {
+                    System.out.println("333有故障但是十分钟内已经报警过了");
+                }
+
+            } else {
+                System.out.println("333一切正常");
+            }
+        }
+    }
 
 }

BIN
huimv-massage-service/target/classes/com/huimv/socketservice/timmertask/DeleteOldData.class