package com.xiaopeng.api.feignClient.vehicleConvoy; import com.xiaopeng.api.dto.vehicleConvoy.BaseImOpenDto; import com.xiaopeng.api.factory.vehicleConvoy.VehicleControlClientFallbackFactory; import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandVo; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import java.util.Set; /** * 小鹏内部车控服务接口 */ @FeignClient(contextId = "VehicleControlClient", value = ServiceNameConstantsEnum.XP_IM_OPEN_BOOT_SERVICE, fallbackFactory = VehicleControlClientFallbackFactory.class) public interface VehicleControlClient { /** * 车内温度查询 * * @return */ @GetMapping("/logan/api/v1/vehicles/state") BaseImOpenDto queryVehicleTemperature( @RequestParam("appId") String appId, @RequestParam("nonce") String nonce, @RequestParam(value = "accessToken", required = false) String accessToken, @RequestParam("sign") String sign, @RequestParam("openId") String openId, @RequestParam("vin") String vin, @RequestParam("stateList") Set stateList, @RequestHeader("uid") String uid); /** * 车辆控制 * * @param vo * @param uid * @return */ @PostMapping("/logan/api/v1/vehicles/command") BaseImOpenDto vehiclesCommand( @RequestParam("appId") String appId, @RequestParam("nonce") String nonce, @RequestParam(value = "accessToken", required = false) String accessToken, @RequestParam("sign") String sign, @RequestParam("openId") String openId, @RequestBody VehiclesCommandVo vo, @RequestHeader("uid") Long uid); }