‘liusuyi’
2023-06-14 e4b75d402e8cb84a70e2f84f4e19f566ffd38d85
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -13,6 +13,8 @@
import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails;
import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper;
import com.ruoyi.alarmpoints.tube.mapper.ArdTubesMapper;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.UUID;
@@ -26,9 +28,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
@@ -48,9 +48,9 @@
    @Resource
    ArdAlarmTubeMapper ardAlarmTubeMapper;
    @Resource
    IArdAlarmTubeService ardAlarmTubeService;
    @Resource
    ArdTubesMapper ardTubesMapper;
    @Resource
    ArdAlarmpointsWellMapper ardAlarmpointsWellMapper;
    @Resource
    ArdTubesDetailsMapper ardTubesDetailsMapper;
    @Resource
@@ -124,10 +124,31 @@
    @Override
    @Async("alarmExecutor")
    public void receiveAlarm(String topic, String message) {
        String uuid = UUID.randomUUID().toString().replace("-", "");
        switch (topic) {
            case "stealelec":
                ArdAlarmStealelec ardAlarmStealelec = JSONObject.parseObject(message, ArdAlarmStealelec.class);
                ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(ardAlarmStealelec.getDescribe());
                if(well!=null)
                {
                    ardAlarmStealelec.setLongitude(well.getLongitude());
                    ardAlarmStealelec.setLatitude(well.getLatitude());
                    ardAlarmStealelec.setDeptId(well.getDeptId());
                }
                ArdAlarmStealelec existe = ardAlarmStealelecMapper.selectByPrimaryKey(ardAlarmStealelec.getId());
                if(StringUtils.isNotNull(existe))
                {
                    return;
                }
                int aas = ardAlarmStealelecMapper.insert(ardAlarmStealelec);
                if(aas>0)
                {
                    log.info("stealelec入库成功:" +ardAlarmStealelec);
                }
                break;
            case "tube":
                ArdAlarmTube ardAlarmTube = JSONObject.parseObject(message, ArdAlarmTube.class);
                ardAlarmTube.setId(UUID.randomUUID().toString().replace("-", ""));
                ardAlarmTube.setId(uuid);
                ArdTubesDetails atd = new ArdTubesDetails();
                atd.setReelNumber(ardAlarmTube.getTubeId());
                List<ArdTubesDetails> ardTubesDetails = ardTubesDetailsMapper.selectArdTubesDetailsList(atd);
@@ -145,11 +166,29 @@
                        ardAlarmTube.setAltitude(geoPoint.getAltitude());
                    }
                }
                int i = ardAlarmTubeService.insertArdAlarmTube(ardAlarmTube);
                if (i > 0) {
                    log.info("入库成功:" + ardAlarmTube.toString());
                int aat = ardAlarmTubeMapper.insertArdAlarmTube(ardAlarmTube);
                if (aat > 0) {
                    log.info("tube入库成功:" + ardAlarmTube);
                }
                break;
        }
    }
    /**
     * @描述 查询所有报警的当前数量
     * @参数 []
     * @返回值 java.util.Map<java.lang.String,java.lang.Integer>
     * @创建人 刘苏义
     * @创建时间 2023/6/13 16:30
     * @修改人和其它信息
     */
    @Override
    public Map<String, Integer> selectAlarmLogsCount() {
        Map<String, Integer> countMap=new HashMap<>();
        String refreshTime = configService.selectConfigByKey("refreshTime");
        int count1001 = ardAlarmStealelecMapper.selectCountByStartTime(refreshTime);
        countMap.put("1001",count1001);
        int count1014 = ardAlarmTubeMapper.selectCountByStartTime(refreshTime);
        countMap.put("1014 ",count1014);
        return countMap;
    }
}