package com.ebike.feign.clients; import com.cdzy.common.model.response.JsonResult; import com.ebike.feign.component.FeignTokenInterceptor; import com.ebike.feign.config.ExampleFeignConfiguration; import com.ebike.feign.model.dto.FeignEbikeSiteQueryDto; import com.ebike.feign.model.dto.FeignLocationDto; import com.ebike.feign.model.vo.FeignEbikeBikeInfoVo; import com.ebike.feign.model.vo.FeignEbikeRegionVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; /** * @author yanglei * @since 2025-10-21 11:44 */ @FeignClient(name = "ebike-operations", configuration = {ExampleFeignConfiguration.class, FeignTokenInterceptor.class}) public interface OperationsFeignClient { /** * 根据经纬度获取地址 (详细地址) * * @param location 经纬度(GCJ02坐标系) * @return 地址JSON对象 */ @PostMapping("system/location2Address2") JsonResult locationAddressDetails(@RequestBody FeignLocationDto location); /** * 查询车辆所在站点。 * * @param siteQuery 查询参数 * @return 车辆所在站点 */ @PostMapping("ebikeTracking/querySite") JsonResult querySite(@RequestBody FeignEbikeSiteQueryDto siteQuery); /** * 根据车辆编号获取车辆基本信息 * * @param bikeCode 车辆编号 * @return 车辆基本信息 */ @GetMapping("ebikeBikeInfo/getBikeBaseInfoByCode/{bikeCode}") JsonResult getBikeBaseInfoByCode(@PathVariable("bikeCode") String bikeCode); /** * 获取运营区详情。 * * @param regionId 运营区id * @return 结果数据 返回结果 */ @GetMapping("ebikeRegion/getOperationById") JsonResult getOperationById(@RequestParam(name = "regionId") Long regionId); /** * 根据车辆编号 获取整车信息详情 * * @param bikeCode 车辆编号 * @return 车辆信息 */ @GetMapping("ebikeBikeInfo/getOperationById") JsonResult getEbikeInfoByCode(String bikeCode); }