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;
|
//-------------------连环派单策略----------------------
|
|
}
|