xuhy
2026-04-24 08bb0cbc5e63b576f68d22d44e1cbe3d1b5c90c5
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
package com.xiaopeng.api.model.operation;
 
import com.baomidou.mybatisplus.annotation.IdType;
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.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
 
/**
 * <p>
 * 交易策略配置
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("xp_trading_strategy")
@ApiModel(value="XpTradingStrategy对象", description="交易策略配置")
public class XpTradingStrategy extends BaseModel {
 
 
 
    private static final long serialVersionUID = 1L;
 
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
 
//----------------发单策略--------------------
 
    @ApiModelProperty(value = "用户每日取消订单数")
    private Integer cancleCount;
 
    @ApiModelProperty(value = "单个订单可修改目的地次数")
    private Integer amendCountPerOrder;
 
    @ApiModelProperty(value = "乘客端首页安全中心是否开启")
    private Boolean showSecurityCenter;
//----------------发单策略--------------------
 
 
 
    //---------------发单拦截策略------------------------------------
    @ApiModelProperty(value = "豁免金额")
    private BigDecimal exemptionAmount;
 
    @ApiModelProperty(value = "是否长期有效 1=是 0=否")
    private Boolean isLongValid;
 
    @ApiModelProperty(value = "豁免城市")
    private String cityCode;
 
    @ApiModelProperty(value = "豁免开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime exemptionStartTime;
 
    @ApiModelProperty(value = "豁免结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime exemptionEndTime;
 
    @ApiModelProperty(value = "豁免角色 逗号分割 0=全部 1=新客 2=老客 3=流失召回 4=媒体")
    private String exemptionRole;
 
    @ApiModelProperty(value = "免密授权金额")
    private BigDecimal passwordFreeAmount;
 
    @ApiModelProperty(value = "预付额度  订单大于金额需预付")
    private BigDecimal prepaidLimit;
    //---------------发单拦截策略------------------------------------
 
 
 
    //---------------播单策略------------------------------------
 
    @ApiModelProperty(value = "一轮推单距离")
    @Min(0)
    private Double onePushDistance;
 
    @ApiModelProperty(value = "一轮推单时间")
    @Min(0)
    private Integer onePushTime;
 
    @ApiModelProperty(value = "二轮推单距离")
    @Min(0)
    private Double twoPushDistance;
 
    @ApiModelProperty(value = "二轮推单时间")
    @Min(0)
    private Integer twoPushTime;
 
    @ApiModelProperty(value = "三轮推单距离")
    @Min(0)
    private Double threePushDistance;
 
    @ApiModelProperty(value = "三轮推单时间")
    @Min(0)
    private Integer threePushTime;
 
    @ApiModelProperty(value = "四轮推单距离")
    @Min(0)
    private Double fourPushDistance;
 
    @ApiModelProperty(value = "四轮推单时间")
    @Min(0)
    private Integer fourPushTime;
 
    @ApiModelProperty(value = "五轮推单距离")
    private Double fivePushDistance;
 
    @ApiModelProperty(value = "五轮推单时间")
    private Integer fivePushTime;
 
    @ApiModelProperty(value = "排队是时,每X秒轮询接口查询排序")
    private Integer queuePollingTime;
    @ApiModelProperty(value = "乘客据上车点大于X米展示步行导航按钮")
    private Integer  walkingNavigationDistance;
    @ApiModelProperty(value = "用户在页面超过X秒未下单,系统静默判断价格是否有波动")
    private Integer notAddOrderTime;
    @ApiModelProperty(value = "波动大于X%,则弹框提示")
    private Integer  priceFluctuationRatio;
    @ApiModelProperty(value = "播单—乘客上车后x分钟内未点击出车,订单自动取消")
    private Integer  bdNotBoardedTime;
 
 
 
    //---------------播单策略------------------------------------
 
 
 
    //---------------分单策略------------------------------------
 
    @ApiModelProperty(value = "规则类型 1=单手举手 2=多手举手")
    private Integer ruleType;
 
    @ApiModelProperty(value = "同时抢单人数")
    private Integer simultaneouslyOrderCount;
 
    @ApiModelProperty(value = "倾向订单价值")
    private Integer tendencyOrderValue;
 
 
    @ApiModelProperty(value = "倾向距离")
    private Integer tendencyDistance;
 
    @ApiModelProperty(value = "倾向时间")
    private Integer tendencyTime;
 
    @ApiModelProperty(value = "倾向电量")
    private Integer tendencyElectricity;
 
    @ApiModelProperty(value = "时间差权重")
    private Integer weightTimeDifference;
 
    @ApiModelProperty(value = "距离差权重")
    private Integer weightDistanceDifference;
 
    @ApiModelProperty(value = "距离权重")
    private Integer weightDistance;
 
    @ApiModelProperty(value = "时间权重")
    private Integer weightTime;
 
    @ApiModelProperty(value = "电量权重")
    private Integer weightElectricity;
 
    @ApiModelProperty(value = "路线时效,过了需要重新获取,单位:秒")
    private Integer MaxStandingTiming;
 
    @ApiModelProperty(value = "触发步行导航的最小距离")
    private Integer walkingGuideDistance;
 
    //---------------分单策略------------------------------------
 
 
    //-------------------连环派单策略----------------------
 
 
    @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池路程阈值, unit : km")
    @Min(value = 0, message = "连环派单策略>当前订单剩余里程不能小于0")
    @NotNull(message = "连环派单策略>当前订单剩余里程不能为空")
    private Integer distanceRegardAsEnding;
 
    @ApiModelProperty(value = "连环派单车辆侧 允许车辆进入连环派单候选池时间阈值 unit : min")
    @Min(value = 0, message = "连环派单策略>当前订单剩余时间不能小于0")
    @NotNull(message = "连环派单策略>当前订单剩余时间不能为空")
    private Integer timeRegardAsEnding;
 
    @ApiModelProperty(value = "连环派单车辆侧 保障可完成连环订单的电量 unit : km")
    @Min(value = 0, message = "车辆电量/续航不能小于0")
    @NotNull(message = "车辆电量/续航不能为空")
    private Integer backupPower;
 
    @ApiModelProperty(value = "连环派单订单侧 终点距离起点的距离阈值 unit : km")
    @Min(0)
    private Integer destToPassenger;
 
    @ApiModelProperty(value = "连环派单订单侧 结束时间到用车时间阈值unit : min")
    @Min(0)
    private Integer endingTimeToUseTime;
    //-------------------连环派单策略----------------------
 
}