refactor(mqtt): 优化 PositionMapLineDTO 中的朝向变更逻辑

- 使用列表和条件语句替换冗长的 if-else 结构
- 提高代码可读性和可维护性
-减少代码重复,易于未来的修改和扩展
This commit is contained in:
aikai 2025-04-09 11:04:43 +08:00
parent 9b7819387e
commit a9bc6fdbba

View File

@ -6,6 +6,9 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Arrays;
import java.util.List;
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@ -109,67 +112,46 @@ public class PositionMapLineDTO {
private Integer ppToward; private Integer ppToward;
private static final List<Integer> ANTI_LIST = Arrays.asList(1, 3, 6);
private static final List<Integer> WHATEVER_LIST = Arrays.asList(4, 7, 8);
/** /**
* 双向车道 反向行走变更车头朝向 * 双向车道 反向行走变更车头朝向
* * <p>
* 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随 * 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随
* *
* @param toward * @param toward
* @return * @return
*/ */
public Integer changeToward(Integer toward) { public Integer changeToward(Integer toward) {
if (toward == 0) { int ppToward = 0;
return 0; if (ANTI_LIST.contains(toward)) {
} else if (toward == 1) { ppToward = 1;
return 1; } else if (WHATEVER_LIST.contains(toward)) {
} else if (toward == 2) { ppToward = 2;
return 0;
} else if (toward == 3) {
return 1;
} else if (toward == 4) {
return 2;
} else if (toward == 5) {
return 0;
} else if (toward == 6) {
return 1;
} else if (toward == 7) {
return 2;
} else if (toward == 8) {
return 2;
} else {
return 0;
} }
return ppToward;
} }
private static final List<Integer> FIRST_ANTI_LIST = Arrays.asList(2, 3, 7);
private static final List<Integer> FIRST_WHATEVER_LIST = Arrays.asList(5, 6, 8);
/** /**
* 双向车道 反向行走变更车头朝向 * 双向车道 反向行走变更车头朝向
* * <p>
* 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随 * 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随
* *
* @param toward * @param toward
* @return * @return
*/ */
public Integer changeTowardFirst(Integer toward) { public Integer changeTowardFirst(Integer toward) {
if (toward == 0) { int ppToward = 0;
return 0; if (FIRST_ANTI_LIST.contains(toward)) {
} else if (toward == 1) { ppToward = 1;
return 0; } else if (FIRST_WHATEVER_LIST.contains(toward)) {
} else if (toward == 2) { ppToward = 2;
return 1;
} else if (toward == 3) {
return 1;
} else if (toward == 4) {
return 0;
} else if (toward == 5) {
return 2;
} else if (toward == 6) {
return 2;
} else if (toward == 7) {
return 1;
} else if (toward == 8) {
return 2;
} else {
return 0;
} }
return ppToward;
} }
} }