zhang
2025-05-20 1313906bb1eb983d3beece810035e7fc28d6a92f
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java
@@ -1,6 +1,13 @@
package com.zy.acs.manager.core.domain;
import com.zy.acs.common.utils.GsonUtils;
import com.zy.acs.framework.common.Cools;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * Created by vincent on 11/5/2024
@@ -12,4 +19,59 @@
    private boolean avoidable;
    public BlockVehicleDto() {
    }
    public BlockVehicleDto(String vehicle, boolean avoidable) {
        this.vehicle = vehicle;
        this.avoidable = avoidable;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        BlockVehicleDto that = (BlockVehicleDto) o;
        return Objects.equals(vehicle, that.vehicle);
    }
    @Override
    public int hashCode() {
        return Objects.hash(vehicle);
    }
    public static boolean customContain(List<BlockVehicleDto> list, String vehicle) {
        if (Cools.isEmpty(list, vehicle)) {
            return false;
        }
        for (BlockVehicleDto dto : list) {
            if (dto.getVehicle().equals(vehicle)) {
                return true;
            }
        }
        return false;
    }
    public static void main(String[] args) {
        List<BlockVehicleDto> blockVehicleList = new ArrayList<>();
        blockVehicleList.add(new BlockVehicleDto("1", true));
        blockVehicleList.add(new BlockVehicleDto("2", true));
//        blockVehicleList.add(new BlockVehicleDto("3", false));
//        blockVehicleList.add(new BlockVehicleDto("4", false));
//        blockVehicleList.add(new BlockVehicleDto("5", false));
//        blockVehicleList.add(new BlockVehicleDto("5", true));
//        blockVehicleList.add(new BlockVehicleDto("4", true));
        System.out.println(GsonUtils.toJson(blockVehicleList));
        System.out.println(GsonUtils.toJson(blockVehicleList.stream().distinct().collect(Collectors.toList())));
        System.out.println(blockVehicleList.stream().anyMatch(blockVehicleDto -> !blockVehicleDto.isAvoidable()));
        String blockAgvNo = blockVehicleList.stream()
                .filter(BlockVehicleDto::isAvoidable)
                .map(BlockVehicleDto::getVehicle)
                .findFirst().orElse(null);
        System.out.println(blockAgvNo);
    }
}