package com.xiaopeng.api.enums;
|
|
import lombok.Getter;
|
|
/**
|
* 路线策略(与高德 strategy 参数对应,见 xp_route_plan 注释)
|
*/
|
@Getter
|
public enum RouteStrategyKind {
|
/** 智能推荐 / 高德默认 */
|
SMART(32, "智能推荐", 1),
|
/** 时间优先 → 速度最快 */
|
TIME(38, "时间优先", 2),
|
/** 低价优先 → 少收费 */
|
PRICE(36, "低价优先", 3);
|
|
private final int amapStrategy;
|
private final String displayName;
|
private final int priority;
|
|
RouteStrategyKind(int amapStrategy, String displayName, int priority) {
|
this.amapStrategy = amapStrategy;
|
this.displayName = displayName;
|
this.priority = priority;
|
}
|
|
/**
|
* 主标签优先级:数值越小越优先(智能 > 时间 > 低价)
|
*/
|
public static RouteStrategyKind primaryOf(java.util.Collection<RouteStrategyKind> kinds) {
|
if (kinds == null || kinds.isEmpty()) {
|
return SMART;
|
}
|
return kinds.stream().min((a, b) -> Integer.compare(a.priority, b.priority)).orElse(SMART);
|
}
|
|
public static java.util.Optional<RouteStrategyKind> fromAmapStrategy(int strategy) {
|
for (RouteStrategyKind k : values()) {
|
if (k.amapStrategy == strategy) {
|
return java.util.Optional.of(k);
|
}
|
}
|
return java.util.Optional.empty();
|
}
|
}
|