package com.ebike.feign.clients; import com.cdzy.common.model.JsonResult; import com.ebike.feign.model.res.ReqEcuSnDto; import com.ebike.feign.model.res.ReqVehicleStatusUpdateDto; import com.ebike.feign.model.rsp.FeignEbikeBikeInfoDto; import com.ebike.feign.model.rsp.RspBikeInfo; 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; /** * @author attiya * @since 2025-03-18 */ @FeignClient(name = "ebike-maintenance") public interface MaintenanceFeignClient { /** * 根据sn集合获取车辆信息 * * @param reqEcuSnDto sn集合 * @return 车辆信息 */ @PostMapping("ebikeBikeInfo/getBikeByEcuSn") JsonResult> getBikeByEcuSn(@RequestBody ReqEcuSnDto reqEcuSnDto); /** * 根据车辆编号 获取整车信息详情 * * @param ebikeCode 车辆编号 * @return 车辆信息 */ @PostMapping("ebikeBikeInfo/getEbikeInfoByCode") JsonResult getEbikeInfoByCode(@RequestParam(name = "ebikeCode") String ebikeCode); /** * 保存头盔信息 * * @param helmetCodes * @return */ @PostMapping("ebikeBikeInfo/saveHelmetInfo") JsonResult> saveHelmetInfo(@RequestBody List helmetCodes); /** * 保存电池信息 * * @param batteryCodes * @return */ @PostMapping("ebikeBikeInfo/saveBatteryInfo") JsonResult> saveBatteryInfo(@RequestBody List batteryCodes); /** * 根据车辆编号获取ecuSn * * @param bikeCode 车辆编号 * @return */ @GetMapping("ebikeBikeInfo/getEbikeEcuSnByCode") JsonResult getEbikeEcuSnByID(@RequestParam(name = "bikeCode") String bikeCode); /** * 删除头盔信息 * * @param helmetCodes * @return */ @PostMapping("ebikeBikeInfo/deleteHelmetInfo") JsonResult> deleteHelmetInfo(@RequestBody List helmetCodes); /** * 删除电池信息 * * @param batteryCodes * @return */ @PostMapping("ebikeBikeInfo/deleteBatteryInfo") JsonResult> deleteBatteryInfo(@RequestBody List batteryCodes); /** * 根据ecuSn生成换电工单 * * @param ecuSn 中控编号编号 * @return 结果 */ @GetMapping("ebikeOrder/changeBattery") JsonResult changeBattery(@RequestParam(name = "ecuSn") String ecuSn); /** * 根据车辆编号修改车辆状态 * * @return 结果 */ @GetMapping("ebikeBikeInfo/updateVehicleStatus") JsonResult updateVehicleStatus(@RequestBody ReqVehicleStatusUpdateDto request); /** * 根据运营区id获取所有车辆 * * @return 结果 */ @GetMapping("ebikeBikeInfo/getVehicleDetailsByRegionId") JsonResult> getVehicleDetailsByRegionId(@RequestParam(name = "regionId") String regionId); }