Browse Source

fix:“消除报警时也清除过往记录“

soobin 1 year ago
parent
commit
dbe8d5268c

+ 10 - 2
src/main/java/com/szwl/controller/AlarmRecordIndexController.java

@@ -1,6 +1,7 @@
 package com.szwl.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.model.dto.AlarmRecordVo;
 import com.szwl.model.entity.TAdmin;
@@ -266,8 +267,15 @@ public class AlarmRecordIndexController {
     @ResponseBody
     public String eliminate(String id) {
         TAlarmRecord alarmRecord = alarmRecordService.getById(Long.valueOf(id));
-        alarmRecord.setIsEliminate(1);
-        alarmRecordService.updateById(alarmRecord);
+        // 消除过往的报警
+        LambdaUpdateWrapper<TAlarmRecord> wrapper = Wrappers.lambdaUpdate();
+        wrapper.eq(TAlarmRecord::getClientId, alarmRecord.getClientId());
+        wrapper.eq(TAlarmRecord::getIsEliminate, 0);
+        wrapper.le(TAlarmRecord::getCreateDate, new Date());
+        wrapper.set(TAlarmRecord::getIsEliminate, 1);
+        alarmRecordService.update(wrapper);
+//        alarmRecord.setIsEliminate(1);
+//        alarmRecordService.updateById(alarmRecord);
         return "success";
     }
 

+ 5 - 12
src/main/java/com/szwl/controller/IndexController.java

@@ -5,11 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
-import com.qiniu.common.QiniuException;
 import com.qiniu.http.Response;
 import com.qiniu.storage.Configuration;
 import com.qiniu.storage.Region;
@@ -26,18 +22,14 @@ import com.szwl.model.entity.*;
 import com.szwl.model.utils.AdminUtils;
 import com.szwl.model.utils.HttpClientSslUtils;
 import com.szwl.model.utils.PushUtils;
-import com.szwl.model.utils.YunPianSms;
 import com.szwl.service.*;
 import com.szwl.service.es.EsTEquipmentService;
 import com.szwl.util.IDGenerator;
-import com.szwl.util.WhoIsUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.amqp.core.AmqpAdmin;
-import org.springframework.amqp.core.Binding;
-import org.springframework.amqp.core.Queue;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -45,7 +37,8 @@ import javax.annotation.Resource;
 import javax.servlet.ServletInputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.*;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.ParseException;
@@ -126,7 +119,7 @@ public class IndexController {
         String gtClientId = equipmentVo.getGtClientId();
         String volume = equipmentVo.getVolume();
         Integer eqeStatus = equipmentVo.getEqeStatus();
-        Boolean is_sleep = equipmentVo.getIs_sleep();
+        Boolean isSleep = equipmentVo.getIs_sleep();
         String netWorkingMode = equipmentVo.getNetWorkingMode();
         String numberOne = equipmentVo.getNumberOne();
         String candyGeneratorTm = equipmentVo.getCandyGeneratorTm();
@@ -157,8 +150,8 @@ public class IndexController {
             if (eqeStatus != null) {
                 newEquipment.setEqeStatus(eqeStatus);
             }
-            if (is_sleep != null) {
-                newEquipment.setIsSleep(is_sleep);
+            if (isSleep != null) {
+                newEquipment.setIsSleep(isSleep);
             }
             if (!StringUtils.isEmpty(furnaceTm)) {
                 int fur = Integer.parseInt(furnaceTm);

+ 20 - 33
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -5,6 +5,7 @@ import cn.com.crbank.ommo.bean.ResultMessage;
 import cn.com.crbank.ommo.esUtil.BeanUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,7 +45,6 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -100,11 +100,9 @@ public class TEquipmentController {
     @Autowired
     TLabelService labelService;
 
-//    TokenManager tokenManager;
-
-//    private int j;
-
-    // 超时时间为30秒
+    /**
+     * 超时时间为30秒
+     */
     private static final int TIMEOUT = 30000;
 
     @ApiOperation(value = "根据经纬度获取区域内设备信息")
@@ -248,13 +246,13 @@ public class TEquipmentController {
         }).collect(Collectors.toList());
         for (TEquipmentDTO equipmentDTO : equipmentDTOList) {
 //            Date date = new Date();
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            Date date = null;
-            try {
-                date = sdf.parse(todayDate);
-            } catch (ParseException e) {
-                e.printStackTrace();
-            }
+//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+//            Date date = null;
+//            try {
+//                date = sdf.parse(todayDate);
+//            } catch (ParseException e) {
+//                e.printStackTrace();
+//            }
             LocalDateTime dateTime = LocalDateTime.parse(todayDate + "T00:00:00");
             // 获取前一天的0点时间
             LocalDateTime startDateTime = dateTime.minusDays(1).with(LocalTime.MIN);
@@ -326,7 +324,6 @@ public class TEquipmentController {
     public ResponseModel<?> findById(@RequestParam Long id) {
         TEquipment equipment = tEquipmentService.getById(id);
         TEquipmentDTO equipmentDTO = new TEquipmentDTO();
-//        BeanUtils.copyProperties(equipment, equipmentDTO);
         BeanUtils.copyPropertiesIgnoreNull(equipment, equipmentDTO, true);
         TEquipmentDesc equipmentDesc = equipmentDescService.getById(id);
         if (equipmentDesc != null) {
@@ -355,9 +352,6 @@ public class TEquipmentController {
             if (i > 2) {
                 equipmentDTO.setMessageReceiver3(message[2]);
             }
-//            equipmentDTO.setMessageReceiver1(message[0]);
-//            equipmentDTO.setMessageReceiver2(message[1]);
-//            equipmentDTO.setMessageReceiver3(message[2]);
         }
         return R.ok(equipmentDTO);
     }
@@ -444,21 +438,11 @@ public class TEquipmentController {
             } else {
                 String equipmentIds = adminEquipment.getEquipmentIds();
                 String[] strings = equipmentIds.split(",");
-//                    List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
                 query.in(TEquipment::getId, strings);
             }
         }
-//        query.eq(TEquipment::getAdminId,adminId);
         List<TEquipment> list = tEquipmentService.list(query);
         List<EquipmentVO> equipmentVOs = new ArrayList<>();
-//        for (TEquipment equipment : list) {
-//            EquipmentVO equipmentVO = new EquipmentVO();
-//            equipmentVO.setId(equipment.getId());
-//            String name = StringUtils.isEmpty(equipment.getName()) ? equipment.getClientId() : equipment.getName();
-//            equipmentVO.setName(name);
-//            equipmentVO.setClientId(equipment.getClientId());
-//            equipmentVOS.add(equipmentVO);
-//        }
         Map<String, String> duplicateNames = new HashMap<>();
 
         for (TEquipment equipment : list) {
@@ -594,9 +578,6 @@ public class TEquipmentController {
             oldEquipment.setMessageReceiver(message[0] + "," + message[1] + "," + message[2]);
         }
         tEquipmentService.updateById(oldEquipment);
-//        String channel = oldEquipment.getChannel();
-//        String equimentType = oldEquipment.getEquimentType();
-//        String clientId = oldEquipment.getClientId();
         if (equipment.getPayType() != null) {
             tEquipmentService.sentMessage(oldEquipment.getClientId(), PushUtils.buildJson("payType", oldEquipment.getPayType().toString() + ":" + oldEquipment.getTimeRuleId()).toString());
         }
@@ -738,8 +719,15 @@ public class TEquipmentController {
         }
         String machineType = equipment.getMachineType();
         if (StringUtils.isNotEmpty(machineType) && machineType.equals("2")) {
-            tAlarmRecord.setIsEliminate(1);
-            tAlarmRecordService.updateById(tAlarmRecord);
+//            tAlarmRecord.setIsEliminate(1);
+//            tAlarmRecordService.updateById(tAlarmRecord);
+            // 消除过往的报警
+            LambdaUpdateWrapper<TAlarmRecord> wrapper = Wrappers.lambdaUpdate();
+            wrapper.eq(TAlarmRecord::getClientId, tAlarmRecord.getClientId());
+            wrapper.eq(TAlarmRecord::getIsEliminate, 0);
+            wrapper.le(TAlarmRecord::getCreateDate, new Date());
+            wrapper.set(TAlarmRecord::getIsEliminate, 1);
+            tAlarmRecordService.update(wrapper);
         } else {
             JSONObject kindData = new JSONObject();
             kindData.put("id", param.getId());
@@ -756,7 +744,6 @@ public class TEquipmentController {
         if (!StringUtils.isEmpty(equipment.getVolume())) {
             TEquipment tEquipment = tEquipmentService.getById(equipment.getId());
             tEquipmentService.sentMessage(tEquipment.getClientId(), PushUtils.buildJson("volume", equipment.getVolume()).toString());
-//                PushUtils.push(tEquipment.getGtClientId(), "", "", PushUtils.buildJson("volume", equipment.getVolume()).toString());
         }
         return ResponseEntity.status(HttpStatus.OK)
                 .body(new ResultMessage().setCode(true).setData(true).setMessage("修改成功"));

+ 5 - 5
src/main/java/com/szwl/service/impl/TEquipmentServiceImpl.java

@@ -275,10 +275,10 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
                     // 如果设备的最后刷新时间超过480秒前,则清除设备状态信息,更改为关机状态
                     long updateTime = equipment.getModifyDate().getTime();
                     if (nowTime > updateTime && (nowTime - updateTime) > 720000) {
-                        equipment.setCabinetTm("");
-                        equipment.setCabinetHd("");
-                        equipment.setFurnaceTm("");
-                        equipment.setFurnaceSp("");
+                        equipment.setCabinetTm("0");
+                        equipment.setCabinetHd("0");
+                        equipment.setFurnaceTm("0");
+                        equipment.setFurnaceSp("0");
                         equipment.setEqeStatus(0);
                         equipmentService.updateById(equipment);
                         // 说明机器没有上传信号,判断为网络不好或者关机,发送信号通知客户 查机器归属国内还是国外
@@ -317,7 +317,7 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
                             }
                         } else {
                             // 0或空:国内,1:国外
-                            if (ifForeign.equals("0") || ifForeign.equals("")) {
+                            if (ifForeign.equals("0") || ifForeign.isEmpty()) {
                                 //TODO 国内发短信
                             } else {
                                 // 国外发送邮件

+ 1 - 1
src/main/java/com/szwl/service/impl/TJoinpayMchServiceImpl.java

@@ -226,7 +226,7 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
             requestData.put("bank_account_type",  JoinpayConstant.bank_account_type4);
             mch.setBankAccountType(JoinpayConstant.bank_account_type4);
             String alt_mch_name = mch.getBankAccountName();
-            if(!mch.getApproveStatus().equals("审核通过")){
+            if(StringUtils.isNotEmpty(mch.getApproveStatus()) && !mch.getApproveStatus().equals("审核通过")){
                 requestData.put("alt_mch_name", alt_mch_name);
                 requestData.put("license_no",  mch.getLicenseNo());
             }