package com.xiaopeng.api.feignClient.pushMessage; import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO; import com.xiaopeng.api.dto.pushMessage.SendMessageDTO; import com.xiaopeng.api.factory.pushMessage.XpPushMessageClientFallbackFactory; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** * 消息Feign客户端 * * @author xiaochen */ @FeignClient(contextId = "XpPushMessageClient", value = ServiceNameConstantsEnum.XP_PUSH_MESSAGE_SERVICE, fallbackFactory = XpPushMessageClientFallbackFactory.class) public interface XpPushMessageClient { /** * 订单状态推送 * * @param dto 消息实体 * @return 订单状态推送 */ @PostMapping("/inner/websocket/order/sendStatus") R sendStatus(@RequestBody SendMessageDTO dto); /** * 订单路径规划推送 * * @param dto 消息实体 * @return 订单路径规划推送 */ @PostMapping("/inner/websocket/order/sendRoute") R sendRoute(@RequestBody SendMessageDTO dto); /** * 发送车辆实时定位 * * @param dto 消息实体 * @return 发送车辆实时定位 */ @PostMapping("/inner/websocket/order/sendVehicleLocation") R sendVehicleLocation(@RequestBody SendMessageDTO dto); /** * 通过车辆实时定位推送订单轨迹 * * @param dto 消息实体 * @return 通过车辆实时定位推送订单轨迹 */ @PostMapping("/inner/v1/order/pushOrderRoute") R pushOrderRoute(@RequestBody PushOrderRouteDTO dto); /** * 发送是否开启倒计时 * * @param dto 消息实体 * @return 发送是否开启倒计时 */ @PostMapping("/inner/websocket/order/sendOpenTrunk") R sendOpenTrunk(@RequestBody SendMessageDTO dto); }