aijinhui
2023-12-05 b420562862a0cd3899490e87cdd48cc075bc8544
清淤BUG修改
已修改6个文件
31 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -78,11 +78,13 @@
            /*String carName = MapUtil.getStrVal(gpsMap, "carName","");//获取车牌号
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println(sdf.format(new Date()));*/
//            log.error(String.format("   ---->收到定位数据:%s",JSON.toJSONString(gpsMap)));
            log.info(String.format("   ---->收到定位数据:%s",JSON.toJSONString(gpsMap)));
            String carId = (String)gpsMap.get("carId");
            ((ArdSyCarDayServiceImpl)SpringUtils.getBean("ardSyCarDayServiceImpl")).insertArdSyCarDay(carId);//新增车辆上报时间
            Map<String,Object> result = ((ArdSyCarServiceImpl)SpringUtils.getBean("ardSyCarServiceImpl")).getArdSyCarAndDeptByCarId(carId);//查询车辆及部门
            if(result != null){
                if("30".equals(carId)){
                //清淤开始----------
                String lng = (String) gpsMap.get("lng").toString();//获取经度
                String lat = (String) gpsMap.get("lat").toString();//获取纬度
@@ -93,6 +95,7 @@
                String carModel = (String) result.get("carModel");//获取车辆模型
                Integer drct = (Integer) gpsMap.get("drct");//获取车辆模型
                Integer speed = (Integer) gpsMap.get("speed");
                    log.info("carId:"+carId+"lng:"+lng+"lat:"+lat);
                //定义2维空间
                Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat));
                List<Point2D.Double> pts = new ArrayList<Point2D.Double>();
@@ -331,6 +334,7 @@
                        }
                    }
                }
                }
                //清淤结束------------
                gpsMap.putAll(result);
@@ -435,8 +439,10 @@
    private void feng(String carId,String type,ArdSyCarRtuService carRtuService,ArdSyCarLockService lockService) throws MqttException {
        //查询装油点既定Rtu状态
        ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId);
        if(ardSyCarRtu!=null){
        //查询锁信息
        List<ArdSyCarLock> ardSyCarLocks = lockService.carLock(ardSyCarRtu.getId());
            if(ardSyCarLocks.size()>0){
        Integer fengType = null;
        if("装油点".equals(type)){
            fengType = ardSyCarRtu.getInstallType();
@@ -445,10 +451,10 @@
        }else if("施封".equals(type)){
            fengType = 0;
        }
        if(ardSyCarLocks.size()>0){
            //1解封
            if(fengType==1){
                //如果不是解封封状态,则发送施封命令
                    if(ardSyCarLocks.get(0).getRelayInfo()!=null){
                if(ardSyCarLocks.get(0).getRelayInfo()==0){
                    Map<String,Object> map = new HashMap<>();
                    map.put("A01", 110000);//导通第一路继电器
@@ -462,11 +468,13 @@
//                mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"解封");
                }
            }
                }
            //0施封
            if(fengType==0){
                //锁开关状态
                int lockCloseNum = 0;
                //如果不是施封状态,则发送施封命令
                    if(ardSyCarLocks.get(0).getRelayInfo()!=null){
                if(ardSyCarLocks.get(0).getRelayInfo()==1){
                    for (int j = 0; j < ardSyCarLocks.size(); j++) {
                        ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j);
@@ -517,3 +525,5 @@
        }
    }
}
    }
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
@@ -59,7 +59,8 @@
        List<ArdAccessFence> list = ardAccessFenceMapper.selectList(null);
        for (int i = 0; i < list.size(); i++) {
            ArdAccessFence ardAccessFence = list.get(i);
            ardAccessFence.setCarModel(url+ardAccessFence.getCarModel());
//            ardAccessFence.setCarModel(url+ardAccessFence.getCarModel());
            ardAccessFence.setCarModel(ardAccessFence.getCarModel());
        }
        return list;
    }
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -193,7 +193,11 @@
    @Override
    public List<CarVo> queryCar(List<String> list) {
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        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);
    }
ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java
@@ -33,7 +33,7 @@
//                MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
//                mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID());
//                mqttCustomerClient.subscribe(subscribe);
                EmqClient emqClient = new EmqClient(carId+"mqttSubscribe");
                EmqClient emqClient = new EmqClient(carId+"mqttSubscribe"+UUID.randomUUID());
                emqClient.connect();
                emqClient.subscribe(subscribe, QosEnum.QoS2);
                log.info("订阅主题:"+subscribe);
ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java
@@ -40,7 +40,7 @@
    @Override //消息发布者消息发布完成产生的回调
    public void deliveryComplete(IMqttDeliveryToken token) {
        System.out.println("deliveryComplete---------" + token.isComplete());
        log.info("deliveryComplete---------" + token.isComplete());
        int messageId = token.getMessageId();
        String[] topics = token.getTopics();
        String clientId = token.getClient().getClientId();
@@ -50,13 +50,13 @@
            topicStr = topicStr + topic + ",";
        }
        topicStr = topicStr.substring(0, topicStr.length() - 1);
        System.out.println("消息发布完成,messageId="+messageId+",topics="+topicStr+",clientId="+clientId);
        log.info("消息发布完成,messageId="+messageId+",topics="+topicStr+",clientId="+clientId);
    }
    @Override//消息订阅者收到消息后触发的回调
    public void messageArrived(String topic, MqttMessage message) throws Exception {
        try {
//            System.out.println("【车辆锁主题】:"+topic+"【车辆锁信息】:"+new String(message.getPayload(), StandardCharsets.UTF_8));
            log.info("【车辆锁主题】:"+topic+"【车辆锁信息】:"+new String(message.getPayload(), StandardCharsets.UTF_8));
            //出来回调数据
            List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8));
            //根据topic查询RTUID
ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml
@@ -60,7 +60,7 @@
        right join sys_user su on asu.sys_user_id = su.user_id
        <where>
            <if test="sysUserId != null  and sysUserId != ''"> and sys_user_id = #{sysUserId}</if>
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
            <if test="userId != null  and userId != ''"> and asu.user_id = #{userId}</if>
            <if test="password != null  and password != ''"> and password = #{password}</if>
            <if test="reserved1 != null  and reserved1 != ''"> and reserved_1 = #{reserved1}</if>
            <if test="reserved2 != null  and reserved2 != ''"> and reserved_2 = #{reserved2}</if>