package com.battery.business.runtime;
|
|
import com.battery.device.api.StepDirectionResolver;
|
import com.battery.device.api.StepDirectionResolver.Direction;
|
import com.battery.device.bts.BtsStepDirectionResolver;
|
import com.battery.device.neware.NewareStepDirectionResolver;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
/** 装配已保存工步的方向解释,不触发任何设备请求。 */
|
@Configuration
|
public class ReportStepDirectionConfig
|
{
|
/**
|
* 已保存工步的类型有两种形态:导入或协议路径给的是名称(`cc`、`charge`),
|
* 直连新威取来的是设备数字枚举(`1`/`2`/`4`)。两种都解释,未确认取值保持未知。
|
*/
|
@Bean
|
public StepDirectionResolver reportStepDirectionResolver()
|
{
|
StepDirectionResolver deviceTypes = new NewareStepDirectionResolver();
|
StepDirectionResolver names = new BtsStepDirectionResolver();
|
return stepType -> {
|
Direction direction = deviceTypes.resolve(stepType);
|
return direction == Direction.UNKNOWN ? names.resolve(stepType) : direction;
|
};
|
}
|
}
|