package com.uavps.system.domain;

import com.uavps.common.annotation.Excel;
import com.uavps.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 算法参数信息对象 uavps_algorithm_parameter
 *
 * @author ruoyi
 * @date 2025-03-27
 */
public class UavpsAlgorithmParameter extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 目标集群类型 */
    @Excel(name = "目标集群类型")
    private String formationType;

    /** 目标ID */
    @Excel(name = "目标ID")
    private Long targetId;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 海拔 */
    @Excel(name = "海拔")
    private Long altitude;

    /** 东向速度 */
    @Excel(name = "东向速度")
    private BigDecimal eastSpeed;

    /** 北向速度 */
    @Excel(name = "北向速度")
    private BigDecimal northSpeed;

    /** 天向速度 */
    @Excel(name = "天向速度")
    private BigDecimal skySpeed;

    /** UTC时间 */
    @Excel(name = "UTC时间")
    private Long utcTimes;

    /** 本次目标总数 */
    @Excel(name = "本次目标总数")
    private Long targetTotal;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setFormationType(String formationType) {
        this.formationType = formationType;
    }

    public String getFormationType() {
        return formationType;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public Long getTargetId() {
        return targetId;
    }

    public void setLongitude(BigDecimal longitude) {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude) {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() {
        return latitude;
    }

    public void setAltitude(Long altitude) {
        this.altitude = altitude;
    }

    public Long getAltitude() {
        return altitude;
    }

    public void setEastSpeed(BigDecimal eastSpeed) {
        this.eastSpeed = eastSpeed;
    }

    public BigDecimal getEastSpeed() {
        return eastSpeed;
    }

    public void setNorthSpeed(BigDecimal northSpeed) {
        this.northSpeed = northSpeed;
    }

    public BigDecimal getNorthSpeed() {
        return northSpeed;
    }

    public void setSkySpeed(BigDecimal skySpeed) {
        this.skySpeed = skySpeed;
    }

    public BigDecimal getSkySpeed() {
        return skySpeed;
    }

    public void setUtcTimes(Long utcTimes) {
        this.utcTimes = utcTimes;
    }

    public Long getUtcTimes() {
        return utcTimes;
    }

    public void setTargetTotal(Long targetTotal) {
        this.targetTotal = targetTotal;
    }

    public Long getTargetTotal() {
        return targetTotal;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("formationType", getFormationType())
                .append("targetId", getTargetId())
                .append("longitude", getLongitude())
                .append("latitude", getLatitude())
                .append("altitude", getAltitude())
                .append("eastSpeed", getEastSpeed())
                .append("northSpeed", getNorthSpeed())
                .append("skySpeed", getSkySpeed())
                .append("utcTimes", getUtcTimes())
                .append("targetTotal", getTargetTotal())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
