xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/ReassignOrderDTO.java
@@ -21,4 +21,15 @@ @ApiModelProperty(value = "订单号") private String orderNo; @ApiModelProperty(value = "订单id") private Long orderId; @ApiModelProperty(value = "车辆id") private Long vehicleId; @ApiModelProperty(value = "车队id") private Long fleetId; } xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpReassignOrderClientFallbackFactory.java
New file @@ -0,0 +1,39 @@ package com.xiaopeng.api.factory.order; import com.xiaopeng.api.dto.order.GetOrderNumDto; import com.xiaopeng.api.dto.order.PopOrderDto; import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO; import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO; import com.xiaopeng.api.feignClient.order.XpOrderClient; import com.xiaopeng.api.feignClient.order.XpReassignOrderClient; import com.xiaopeng.api.model.order.XpOrder; import com.xiaopeng.api.model.order.XpOrderReassign; import com.xiaopeng.common.core.domain.R; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.ArrayList; /** * 订单Feign客户端降级工厂 * * @author mitao */ @Slf4j @Component public class XpReassignOrderClientFallbackFactory implements FallbackFactory<XpReassignOrderClient> { @Override public XpReassignOrderClient create(Throwable cause) { log.error("订单服务调用失败: {}", cause.getMessage()); return new XpReassignOrderClient() { @Override public R<Long> saveReassignOrder(XpOrderReassign xpOrderReassign) { log.error("订单服务调用失败: {}", cause.getMessage()); return null; } }; } } xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpReassignOrderClient.java
New file @@ -0,0 +1,32 @@ package com.xiaopeng.api.feignClient.order; import com.xiaopeng.api.dto.order.GetOrderNumDto; import com.xiaopeng.api.dto.order.PopOrderDto; import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO; import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO; import com.xiaopeng.api.factory.order.XpOrderClientFallbackFactory; import com.xiaopeng.api.factory.order.XpReassignOrderClientFallbackFactory; import com.xiaopeng.api.model.order.XpOrder; import com.xiaopeng.api.model.order.XpOrderReassign; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** * 订单Feign客户端 * * @author mitao */ @FeignClient(contextId = "XpReassignOrderClient", value = ServiceNameConstantsEnum.XP_ORDER_SERVICE, fallbackFactory = XpReassignOrderClientFallbackFactory.class) public interface XpReassignOrderClient { @PostMapping("/inner/v1/order/reassignOrder") R<Long> saveReassignOrder(@RequestBody XpOrderReassign xpOrderReassign); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/ReassignOrderController.java
@@ -1,5 +1,8 @@ package com.xiaopeng.operation.controller; import com.xiaopeng.api.feignClient.order.XpOrderClient; import com.xiaopeng.api.feignClient.order.XpReassignOrderClient; import com.xiaopeng.api.model.order.XpOrderReassign; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.api.dto.operation.ReassignOrderDTO; import com.xiaopeng.operation.utils.TaskOrderUtil; @@ -8,6 +11,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; /** * token 控制 @@ -19,9 +24,21 @@ public class ReassignOrderController { @Autowired private TaskOrderUtil taskOrderUtil; @Autowired private XpReassignOrderClient xpReassignOrderClient; @PostMapping("/inner/v1/order/reassignOrder") public R<String> reassignOrder(@RequestBody ReassignOrderDTO dto) { //新增改派数据 XpOrderReassign xpOrderReassign = new XpOrderReassign(); xpOrderReassign.setOrderId(dto.getOrderId()); xpOrderReassign.setOperationTime(LocalDateTime.now()); xpOrderReassign.setOldVehicleId(dto.getVehicleId()); xpOrderReassign.setOldFleetId(dto.getFleetId()); xpOrderReassign.setReassignReason("异常改派"); xpReassignOrderClient.saveReassignOrder(xpOrderReassign); taskOrderUtil.reassignPushOrder(dto.getCount(),dto.getUid(),dto.getLongitude(),dto.getLatitude(),dto.getOrderNo()); return R.ok(); }