张世豪
15 小时以前 2eea735fd4ddf0ae047687780271ef3962d256cc
src/Mqttmessage/Entity/GPSData.java
@@ -1,13 +1,5 @@
package Mqttmessage.Entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GPSData{
    // JSON中的原始字段
    private String msg_id;          // 消息唯一标识
@@ -26,6 +18,27 @@
    private GGAData ggaData;
    /**
     * 默认构造函数
     */
    public GPSData() {
    }
    /**
     * 全参构造函数
     */
    public GPSData(String msg_id, Long timestamp, String device_id, String data_type,
                   String gps_raw, IMUData imu_data, StatusInfo status, GGAData ggaData) {
        this.msg_id = msg_id;
        this.timestamp = timestamp;
        this.device_id = device_id;
        this.data_type = data_type;
        this.gps_raw = gps_raw;
        this.imu_data = imu_data;
        this.status = status;
        this.ggaData = ggaData;
    }
    /**
     * 获取原始GPS数据
     * @return 原始GPS数据字符串
     */
@@ -50,15 +63,19 @@
    /**
     * IMU数据内部类(简化版,只包含角度信息)
     */
    @Data
    @NoArgsConstructor
    public static class IMUData {
        private Double roll;       // 横滚角 角度
        private Double pitch;      // 俯仰角 角度
        private Double yaw;        // 偏航角 角度
        /**
         * 带参数的构造函数
         * 默认构造函数
         */
        public IMUData() {
        }
        /**
         * 全参构造函数
         * @param roll 横滚角 角度
         * @param pitch 俯仰角 角度
         * @param yaw 偏航角 角度
@@ -68,13 +85,35 @@
            this.pitch = pitch;
            this.yaw = yaw;
        }
        public Double getRoll() {
            return roll;
        }
        public void setRoll(Double roll) {
            this.roll = roll;
        }
        public Double getPitch() {
            return pitch;
        }
        public void setPitch(Double pitch) {
            this.pitch = pitch;
        }
        public Double getYaw() {
            return yaw;
        }
        public void setYaw(Double yaw) {
            this.yaw = yaw;
        }
    }
    /**
     * 状态信息内部类(与StatusData中的StatusInfo保持一致)
     */
    @Data
    @NoArgsConstructor
    public static class StatusInfo {
        private Integer battery_level;      // 电池电量百分比
        private Double battery_voltage;     // 电池电压
@@ -88,6 +127,12 @@
        private String path_id_saved;       // 存储的路径ID
        /**
         * 默认构造函数
         */
        public StatusInfo() {
        }
        /**
         * 带参数的构造函数
         * @param battery_level 电池电量百分比
         * @param battery_voltage 电池电压
@@ -199,9 +244,6 @@
    /**
     * GGA数据解析类(可选,用于存储解析后的GGA数据)
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class GGAData {
        private String utcTime;     // UTC时间
        private String latitude;    // 纬度(原始度分格式)
@@ -217,6 +259,147 @@
        private String geoidSepUnit;// 大地水准面分离单位
        private String age;         // 差分GPS数据期限
        private String stationId;   // 差分参考基站标号
        /**
         * 默认构造函数
         */
        public GGAData() {
        }
        /**
         * 全参构造函数
         */
        public GGAData(String utcTime, String latitude, String latitudeDir, String longitude,
                      String longitudeDir, Integer gpsQuality, Integer satellites, Double hdop,
                      Double altitude, String altitudeUnit, Double geoidSep, String geoidSepUnit,
                      String age, String stationId) {
            this.utcTime = utcTime;
            this.latitude = latitude;
            this.latitudeDir = latitudeDir;
            this.longitude = longitude;
            this.longitudeDir = longitudeDir;
            this.gpsQuality = gpsQuality;
            this.satellites = satellites;
            this.hdop = hdop;
            this.altitude = altitude;
            this.altitudeUnit = altitudeUnit;
            this.geoidSep = geoidSep;
            this.geoidSepUnit = geoidSepUnit;
            this.age = age;
            this.stationId = stationId;
        }
        public String getUtcTime() {
            return utcTime;
        }
        public void setUtcTime(String utcTime) {
            this.utcTime = utcTime;
        }
        public String getLatitude() {
            return latitude;
        }
        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }
        public String getLatitudeDir() {
            return latitudeDir;
        }
        public void setLatitudeDir(String latitudeDir) {
            this.latitudeDir = latitudeDir;
        }
        public String getLongitude() {
            return longitude;
        }
        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }
        public String getLongitudeDir() {
            return longitudeDir;
        }
        public void setLongitudeDir(String longitudeDir) {
            this.longitudeDir = longitudeDir;
        }
        public Integer getGpsQuality() {
            return gpsQuality;
        }
        public void setGpsQuality(Integer gpsQuality) {
            this.gpsQuality = gpsQuality;
        }
        public Integer getSatellites() {
            return satellites;
        }
        public void setSatellites(Integer satellites) {
            this.satellites = satellites;
        }
        public Double getHdop() {
            return hdop;
        }
        public void setHdop(Double hdop) {
            this.hdop = hdop;
        }
        public Double getAltitude() {
            return altitude;
        }
        public void setAltitude(Double altitude) {
            this.altitude = altitude;
        }
        public String getAltitudeUnit() {
            return altitudeUnit;
        }
        public void setAltitudeUnit(String altitudeUnit) {
            this.altitudeUnit = altitudeUnit;
        }
        public Double getGeoidSep() {
            return geoidSep;
        }
        public void setGeoidSep(Double geoidSep) {
            this.geoidSep = geoidSep;
        }
        public String getGeoidSepUnit() {
            return geoidSepUnit;
        }
        public void setGeoidSepUnit(String geoidSepUnit) {
            this.geoidSepUnit = geoidSepUnit;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        public String getStationId() {
            return stationId;
        }
        public void setStationId(String stationId) {
            this.stationId = stationId;
        }
    }
   public String getMsg_id() {