package com.xiaopeng.api.feignClient.automaticPilot; import com.xiaopeng.api.dto.automaticPilot.VehicleBaseRespDto; import com.xiaopeng.api.factory.automaticPilot.OrderMissionClientFallbackFactory; import com.xiaopeng.api.factory.automaticPilot.VmpOpenServiceClientFallbackFactory; 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.RequestParam; import java.util.List; import java.util.Map; @FeignClient(contextId = "VmpOpenServiceClient", value = "xp-vmp-open-boot", fallbackFactory = VmpOpenServiceClientFallbackFactory.class) public interface VmpOpenServiceClient { /** * 通过vin获取车辆基本信息 * * @param vin * @return */ @GetMapping("/logan/vehicleInfo/vin") VehicleBaseRespDto getVehicleInfoByVin(@RequestParam("vin") String vin, @RequestParam("respList") List respList); /** * 查询车辆绑定信息, 通过vin获取车辆xpu id * typeList类型,1:XPUID,2:待扩展 * 参数示例:?vin=TESTE290000000000&typeList=1,2 * 返回示例:{ * "1": "01010101010101010101010101010101", * "2": "xxx" * } */ @GetMapping("/logan/vehicle/bind/info/query") Map getVehicleBindInfoByVin(@RequestParam("vin") String vin, @RequestParam("typeList") List typeList); /** * 通过车辆绑定信息获取车架号, 通过xpu id获取车辆vin * type类型,1:XPUID,2:待扩展 * 参数示例:?value=00000000000000000000000000000001&type=1 * 返回示例:{ * L1NSPGHB9RB900099 * } */ @GetMapping("/logan/vehicle/bind/info/getVin") String getVinByXpuId(@RequestParam("value") String xpuId, @RequestParam("type") Integer type); }