xuhy
2026-04-29 4b358047c2d8b0a305c2ef9fbfe4fe7eaaea7a37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
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;
 
/**
 * <p>
 * 点位管理
 * </p>
 *
 * @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;
 
    @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;
 
 
}