package com.weather.modules.weather.station.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.weather.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 气象站点表
 *
 * @author Mark 123
 * @since 1.0.0 2026-03-05
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("weather_station")
public class WeatherStationEntity extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
	private Long id;
    /**
     * 气象站号
     */
	private String stationCode;
    /**
     * 站点名称
     */
	private String stationName;
    /**
     * 测站级别
     */
	private Integer stationLevel;
    /**
     * 纬度
     */
	private BigDecimal latitude;
    /**
     * 经度
     */
	private BigDecimal longitude;
    /**
     * 测站海拔高度(米)
     */
	private BigDecimal elevation;
    /**
     * 省名称
     */
	private String provinceName;
    /**
     * 地市名称
     */
	private String cityName;
    /**
     * 区县名称
     */
	private String countyName;
    /**
     * 乡镇名称
     */
	private String townName;

    /**
     * 管理部门ID（建站时由前端传入）
     */
    private Long deptId;

    /**
     * 更新者
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updater;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateDate;
}