whycxzp
2025-05-28 35a1c88cc80ca675f6173648968ab5394b49e31e
消防机器人websocket逻辑更新
5个文件已修改
67 ■■■■■ 已修改文件
src/main/java/com/whyc/service/EnvironmentService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/EnvironmentThresholdService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/RobotAlarmService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/RobotStatusService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/EnvironmentService.java
@@ -1,5 +1,7 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.EnvironmentMapper;
import com.whyc.pojo.db_fire_robot.Environment;
import org.springframework.stereotype.Service;
@@ -15,4 +17,16 @@
    public void add(Environment env) {
        mapper.insert(env);
    }
    public void addOrUpdate(Environment env) {
        QueryWrapper<Environment> query = Wrappers.query();
        query.last(" limit 1");
        Environment envInDB = mapper.selectOne(query);
        if (envInDB ==null) {
            mapper.insert(env);
        }else{
            env.setId(envInDB.getId());
            mapper.updateById(env);
        }
    }
}
src/main/java/com/whyc/service/EnvironmentThresholdService.java
@@ -1,5 +1,7 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.EnvironmentThresholdMapper;
import com.whyc.pojo.db_fire_robot.EnvironmentThreshold;
import org.springframework.stereotype.Service;
@@ -15,4 +17,16 @@
    public void add(EnvironmentThreshold threshold) {
        mapper.insert(threshold);
    }
    public void addOrUpdate(EnvironmentThreshold threshold) {
        QueryWrapper<EnvironmentThreshold> query = Wrappers.query();
        query.last(" limit 1");
        EnvironmentThreshold thresholdInDB = mapper.selectOne(query);
        if (thresholdInDB ==null) {
            mapper.insert(threshold);
        }else{
            threshold.setId(thresholdInDB.getId());
            mapper.updateById(threshold);
        }
    }
}
src/main/java/com/whyc/service/RobotAlarmService.java
@@ -1,5 +1,7 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.EnvironmentMapper;
import com.whyc.mapper.RobotAlarmMapper;
import com.whyc.pojo.db_fire_robot.RobotAlarm;
@@ -16,4 +18,16 @@
    public void add(RobotAlarm alarm) {
        mapper.insert(alarm);
    }
    public void addOrUpdate(RobotAlarm alarm) {
        QueryWrapper<RobotAlarm> query = Wrappers.query();
        query.last(" limit 1");
        RobotAlarm alarmInDB = mapper.selectOne(query);
        if (alarmInDB ==null) {
            mapper.insert(alarm);
        }else{
            alarm.setId(alarmInDB.getId());
            mapper.updateById(alarm);
        }
    }
}
src/main/java/com/whyc/service/RobotStatusService.java
@@ -1,6 +1,9 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.RobotStatusMapper;
import com.whyc.pojo.db_fire_robot.Environment;
import com.whyc.pojo.db_fire_robot.RobotStatus;
import org.springframework.stereotype.Service;
@@ -15,4 +18,16 @@
    public void add(RobotStatus status) {
        mapper.insert(status);
    }
    public void addOrUpdate(RobotStatus status) {
        QueryWrapper<RobotStatus> query = Wrappers.query();
        query.last(" limit 1");
        RobotStatus statusInDB = mapper.selectOne(query);
        if (statusInDB ==null) {
            mapper.insert(status);
        }else{
            status.setId(statusInDB.getId());
            mapper.updateById(status);
        }
    }
}
src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java
@@ -56,8 +56,8 @@
                }.getType());
                Environment env = data.getData();
                env.setRecordTime(now);
                //存入数据库
                environmentService.add(env);
                //存入数据库,插入或更新
                environmentService.addOrUpdate(env);
            }break;
            case "status": {
                FireRobotData<RobotStatus> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<RobotStatus>>() {
@@ -65,14 +65,14 @@
                RobotStatus status = data.getData();
                status.setRecordTime(now);
                //存入数据库
                robotStatusService.add(status);
                robotStatusService.addOrUpdate(status);
            }break;
            case "alarm": {
                FireRobotData<RobotAlarm> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<RobotAlarm>>() {
                }.getType());
                RobotAlarm alarm = data.getData();
                //存入数据库
                robotAlarmService.add(alarm);
                robotAlarmService.addOrUpdate(alarm);
            }break;
            case "threshold": {
                FireRobotData<EnvironmentThreshold> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<EnvironmentThreshold>>() {
@@ -80,7 +80,7 @@
                EnvironmentThreshold threshold = data.getData();
                threshold.setRecordTime(now);
                //存入数据库
                environmentThresholdService.add(threshold);
                environmentThresholdService.addOrUpdate(threshold);
            }break;
            case "identifyAlarm": {
                FireRobotData<IdentifyAlarm> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<IdentifyAlarm>>() {