aijinhui
2023-12-14 fc03dbca355586463de9562b5f5425bc7845ea46
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -69,8 +69,8 @@
        ArdSyCarRtu ardSyCarRtu = new ArdSyCarRtu();
        ardSyCarRtu.setId(String.valueOf(UUID.randomUUID()));
        ardSyCarRtu.setCarId(addRtuParam.getCarId());
        ardSyCarRtu.setTopicPublish("/p"+addRtuParam.getCarId()+"/");
        ardSyCarRtu.setTopicSubscribe("/p"+addRtuParam.getCarId()+"/set/");
        ardSyCarRtu.setTopicPublish("/p"+addRtuParam.getCarId()+"/set/");
        ardSyCarRtu.setTopicSubscribe("/p"+addRtuParam.getCarId()+"/");
        ardSyCarRtu.setInstallType(addRtuParam.getInstallType());
        ardSyCarRtu.setUnloadType(addRtuParam.getUnloadType());
        int num = rtuMapper.insert(ardSyCarRtu);
@@ -193,7 +193,11 @@
    @Override
    public List<CarVo> queryCar(List<String> list) {
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.ne("reserved_1","").notIn("car_id",list);
        if(list.size()>0){
            queryWrapper.ne("reserved_1","").notIn("car_id",list);
        }else {
            queryWrapper.ne("reserved_1","");
        }
        List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper);
        return carAnalysis(ardSyCars);
    }
@@ -244,15 +248,17 @@
    @Override
    public AjaxResult seal(RtuTypeParam rtuTypeParam) {
        QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("carId",rtuTypeParam.getCarId());
        queryWrapper.eq("car_id",rtuTypeParam.getCarId());
        ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
        //1解封
        if(rtuTypeParam.getType()==1){
            Map<String,Object> map = new HashMap<>();
            map.put("A01", 110000);//导通第一路继电器
            map.put("A02", 110000);//导通第二路继电器
            map.put("res", String.valueOf(System.currentTimeMillis()));
            String mapString = JSON.toJSONString(map);
//            Map<String,Object> map = new HashMap<>();
//            map.put("A01", 110000);//导通第一路继电器
//            map.put("A02", 110000);//导通第二路继电器
//            map.put("res", String.valueOf(System.currentTimeMillis()));
//            String mapString = JSON.toJSONString(map);
            String mapString = "{\"A01\":110000,\"A02\":110000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
            log.info("解封:"+mapString);
            EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
            emqClient.connect();
            emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
@@ -279,10 +285,12 @@
                    }else if(currents.equals("C02")){
                        key = "D04";
                    }
                    Map<String,Object> map = new HashMap();
                    map.put(key, 0.01);
                    map.put("res", String.valueOf(System.currentTimeMillis()));
                    String mapString = JSON.toJSONString(map);
//                    Map<String,Object> map = new HashMap();
//                    map.put(key, 0.01);
//                    map.put("res", String.valueOf(System.currentTimeMillis()));
//                    String mapString = JSON.toJSONString(map);
                    String mapString = "{\""+key+"\":0.01,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
                    log.info("关锁:"+mapString);
                    EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
                    emqClient.connect();
                    emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
@@ -298,11 +306,13 @@
                }
            }
            if(lockCloseNum == 2){
                Map<String,Object> map = new HashMap<>();
                map.put("A01", 100000);//断开第一路继电器
                map.put("A02", 100000);//断开第二路继电器
                map.put("res", String.valueOf(System.currentTimeMillis()));
                String mapString = JSON.toJSONString(map);
//                Map<String,Object> map = new HashMap<>();
//                map.put("A01", 100000);//断开第一路继电器
//                map.put("A02", 100000);//断开第二路继电器
//                map.put("res", String.valueOf(System.currentTimeMillis()));
//                String mapString = JSON.toJSONString(map);
                String mapString = "{\"A01\":100000,\"A02\":100000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
                System.out.println("施封:"+mapString);
                EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
                emqClient.connect();
                emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
@@ -320,8 +330,10 @@
        ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
        ArdSyCarLock ardSyCarLock = lockMapper.selectById(lockTypeParam.getLockId());
        Integer relay = ardSyCarLock.getRelayInfo();
        if(relay.equals("1")){
            return AjaxResult.error(0,"该锁处于解封状态,远程无法操控,请先执行施封操作!");
        if(relay!=null){
            if(relay.equals(1)){
                return AjaxResult.error(0,"该锁处于解封状态,远程无法操控,请先执行施封操作!");
            }
        }
        String key = "";
        String currents = ardSyCarLock.getCurrents();
@@ -338,11 +350,12 @@
        }else{
            lockState = lockState + 0.01;
        }
        Map<String,Object> map = new HashMap();
        map.put(key, lockState);//范围是0.01到99.99
        map.put("res", String.valueOf(System.currentTimeMillis()));
        String mapString = JSON.toJSONString(map);
        System.out.println(mapString);
//        Map<String,Object> map = new HashMap();
//        map.put(key, lockState);//范围是0.01到99.99
//        map.put("res", String.valueOf(System.currentTimeMillis()));
//        String mapString = JSON.toJSONString(map);
        String mapString = "{\""+key+"\":"+lockState+",\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
        log.info("开关锁:"+mapString);
        EmqClient emqClient = new EmqClient(lockTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
        emqClient.connect();
        emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);