package com.xiaopeng.api.model.operation; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.xiaopeng.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; /** *
* 场站 *
* * @author mitao * @since 2026-04-12 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("xp_station") @ApiModel(value = "XpStation对象", description = "场站") public class XpStation extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "场站名称,C端展示主标题") @NotNull(message = "场站名称不能为空") private String stationName; @ApiModelProperty(value = "场站编号唯一 规则:城市首字母-HUB-4位流水号") private String stationNumber; @ApiModelProperty(value = "场站状态 0=草稿 1=待启用 2=启用中 3=已停用 4=失效") private Integer status; public String getStatusName() { if(status != null){ if(status == 0){ return "草稿"; }else if(status == 1){ return "待启用"; } else if(status == 2){ return "启用中"; }else if(status == 3){ return "已停用"; }else if(status == 4){ return "失效"; } } return ""; } @ApiModelProperty(value = "城市code") private String cityCode; @ApiModelProperty(value = "城市名称") private String cityName; @ApiModelProperty(value = "所属电子围栏id") @NotNull(message = "所属电子围栏id不能为空") private Long electronicId; @ApiModelProperty(value = "所属运营区id") @NotNull(message = "所属运营区id不能为空") private Long electronicAreaId; @ApiModelProperty(value = "默认展示点位id") private Long defaultPointId; @ApiModelProperty(value = "场站面积") private BigDecimal stationArea; @ApiModelProperty(value = "场站围栏点位 经度_纬度,经度_纬度") @NotNull(message = "场站围栏点位不能为空") private String fencePoints; @ApiModelProperty(value = "中心点经度") private Double centerLon; @ApiModelProperty(value = "中心点纬度") private Double centerLat; @ApiModelProperty(value = "限停时长") private Integer parkingTimeLimit; @ApiModelProperty(value = "运营类型 1=与运营区同步 2=自定义时间段") private Integer operationType; @ApiModelProperty(value = "生效周期 1=每日 2=仅工作日 3=仅非工作日 4=仅节假日") private Integer effectivePeriod; @ApiModelProperty(value = "生效时间段") private String effectiveTimePeriod; @ApiModelProperty(value = "是否同步运营信息到子点位 0=否 1=是") private Boolean syncPoints; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "停用原因") private String stopReason; @ApiModelProperty(value = "测试不通过原因") private String testFailReason; @ApiModelProperty(value = "计划生效时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime effectTime; @ApiModelProperty(value = "场站内排序") private Integer sortNo; @ApiModelProperty(value = "点位总数") @TableField(exist = false) private Integer pointCount; @ApiModelProperty(value = "运营中点位数") @TableField(exist = false) private Integer operatingPointCount; }