package com.battery.device.bts; import java.util.Locale; import java.util.Set; import com.battery.device.api.StepDirectionResolver; /** BTS 类型解释仅留在协议模块,供已保存实际工步的报表读取使用。 */ public final class BtsStepDirectionResolver implements StepDirectionResolver { /** 按《BTS API技术协议》2.2 识别;pcccv、工况和脉冲未明确单向,不猜测。 */ @Override public Direction resolve(String stepType) { String type = stepType == null ? "" : stepType.trim().toLowerCase(Locale.ROOT); if (Set.of("cc", "cv", "cccv", "cp", "cr", "charge", "charging").contains(type)) return Direction.CHARGE; if (Set.of("dc", "dp", "dr", "dv", "cccd", "discharge", "discharging").contains(type)) return Direction.DISCHARGE; return Direction.UNKNOWN; } }