package com.xiaopeng.api.model.operation; import com.baomidou.mybatisplus.annotation.*; import java.math.BigDecimal; import java.time.LocalDateTime; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; 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; /** *
* 点位管理 *
* * @author mitao * @since 2026-02-03 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("xp_point") @ApiModel(value="XpPoint对象", description="点位管理") public class XpPoint extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.NONE) @JsonSerialize(using = ToStringSerializer.class) private Long id; @TableField(exist = false) private String strId; @ApiModelProperty(value = "电子围栏区域id") private Long electronicAreaId; @TableField(value = "fp_electronic_area_id", updateStrategy = FieldStrategy.NEVER) private Long fpElectronicAreaId; @ApiModelProperty(value = "点位名称") private String pointName; @ApiModelProperty(value = "点位poi") private String pointPoi; @ApiModelProperty(value = "点位编号唯一") private String pointNumber; @ApiModelProperty(value = "运营状态 1=待启用 2=启用中 3=已停用 4=已失效") private Integer operationStatus; @ApiModelProperty(value = "点位类型 1=运营点位 2=测试点位") private Integer pointType; @ApiModelProperty(value = "验证状态 1=待验证、2=验证中、3=已验证 4验证失败 5待生效") private Integer verificationStatus; @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 = "点位地址") @TableField("point_address") private String pointAddress; @ApiModelProperty(value = "备注") private String remarks; @ApiModelProperty(value = "点位照片") private String pointPictures; @ApiModelProperty(value = "经度") private Double pointLon; @ApiModelProperty(value = "纬度") private Double pointLat; @ApiModelProperty(value = "距离 单位米") @TableField(exist = false) private BigDecimal distance; @ApiModelProperty(value = "0否 1是充电点位") @TableField("charge_point") private Integer chargePoint; @ApiModelProperty(value = "0否 1是收车点位") @TableField("parking_point") private Integer parkingPoint; @ApiModelProperty(value = "省份名称") @TableField("province_name") private String provinceName; @ApiModelProperty(value = "省份code") @TableField("province_code") private String provinceCode; @ApiModelProperty(value = "城市名称") @TableField("city_name") private String cityName; @ApiModelProperty(value = "城市code") @TableField("city_code") private String cityCode; @ApiModelProperty(value = "区县名称") @TableField("district_name") private String districtName; @ApiModelProperty(value = "区县code") @TableField("district_code") private String districtCode; @ApiModelProperty(value = "所属场站id,为空表示运营区直属点位") @TableField("station_id") private Long stationId; @ApiModelProperty(value = "点位在场站内排序") @TableField("station_sort_no") private Integer stationSortNo; @ApiModelProperty(value = "点位上下车 1仅上车点/ 2 仅下车/ 3上下车均可") private Integer pointOnOff; public String getPointOnOffName() { if(pointOnOff != null){ if(pointOnOff == 1){ return "仅上车点"; }else if(pointOnOff == 2){ return "仅下车点"; }else if(pointOnOff == 3){ return "上下车均可"; } } return ""; } @ApiModelProperty(value = "电子围栏名称") @TableField(exist = false) private String electronicName; @ApiModelProperty(value = "所属场站名称") @TableField(exist = false) private String stationName; /** * hover在状态标签时,展示信息 * - 已停用:展示停用原因;比如“因所属场站 [白云机场] 已关闭,该点位同步失效” * - 测试不通过:展示不通过原因 * - 待生效:展示生效时间 */ @ApiModelProperty(value = "状态描述") @TableField(exist = false) private String hoverStatusDes; @ApiModelProperty(value = "围栏的生效时间") @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime electronicEffectTime; //[{"name": "策略组1", "time": ["04:00-10:00", "14:00-23:00"], "type": 0, "typeStr": []}] @ApiModelProperty(value = "围栏运营策略") @TableField(exist = false) private String fenceOperationStrategy; @ApiModelProperty(value = "场站运营类型 1=与运营区同步 2=自定义时间段") @TableField(exist = false) private Integer stationOperationType; @ApiModelProperty(value = "场站生效周期 1=每日 2=仅工作日 3=仅非工作日 4=仅节假日") @TableField(exist = false) private Integer stationEffectivePeriod; @ApiModelProperty(value = "场站运营策略") @TableField(exist = false) private String stationEffectiveTimePeriod; }