package com.xiaopeng.api.feignClient.vehicleConvoy; import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto; import com.xiaopeng.api.factory.vehicleConvoy.XpVehicleClientFallbackFactory; import com.xiaopeng.api.model.vehicleConvoy.XpVehicle; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; /** * 车辆Feign客户端 * * @author mitao */ @FeignClient(contextId = "XpVehicleClient", value = ServiceNameConstantsEnum.XP_VEHICLE_CONVOY_SERVICE, fallbackFactory = XpVehicleClientFallbackFactory.class) public interface XpVehicleClient { /** * 根据ID列表批量查询车辆信息 * * @param ids 车辆ID列表 * @return 车辆列表 */ @PostMapping("/inner/vehicle/listByIds") R> listByIds(@RequestBody List ids); /** * 根据ID查询车辆信息 * * @param id 车辆ID * @return 车辆 */ @GetMapping("/inner/vehicle/queryById") R queryById(@RequestParam Long id); /** * 修改车辆信息 * * @param xpVehicle 车辆信息 * @return 车辆 */ @PostMapping("/inner/vehicle/updateVehicleById") R updateVehicleById(@RequestBody XpVehicle xpVehicle); /** * 根据车牌号查询车辆信息 * @param plateNumber * @return */ @PostMapping("/inner/vehicle/listByPlateNumber") R> listByPlateNumber(@RequestParam("plateNumber") String plateNumber); /** * 根据围栏id查询空闲车辆 * */ @GetMapping("/inner/vehicle/listByFenceId") R> listByFenceId(@RequestParam("fenceId") Long fenceId); /** * 查询车辆信息 进行筛选 */ @PostMapping("/inner/vehicle/queryVehiclePositionByVin") R> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto); /** * 根据车辆vin查询车辆信息 * * @param vehicleVin * @return */ @GetMapping("/inner/vehicle/findByVehicleVin") R findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin); }