package com.xiaopeng.order.controller;
|
|
import cn.hutool.core.util.IdUtil;
|
import com.xiaopeng.api.dto.automaticPilot.PushOrderDto;
|
import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient;
|
import com.xiaopeng.api.model.order.XpCruiseOrder;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.order.service.IXpCruiseOrderService;
|
import io.swagger.annotations.Api;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* <p>
|
* 订单 前端控制器
|
* </p>
|
*
|
* @author mitao
|
* @since 2026-02-03
|
*/
|
@RestController
|
@Api(tags = "巡游订单")
|
@RequiredArgsConstructor(onConstructor_ = @Lazy)
|
public class XpCruiseOrderController {
|
|
private final IXpCruiseOrderService xpCruiseOrderService;
|
private final OrderMissionClient orderMissionClient;
|
|
|
/**
|
* 查询并关闭订单信息 返回id信息
|
*
|
* @param
|
*/
|
@PostMapping("/inner/cruiseOrder/updateCruiseOrder")
|
public R<String> updateCruiseOrder(@RequestParam String vin) {
|
String id = xpCruiseOrderService.updateCruiseOrder(vin);
|
return R.ok(id);
|
}
|
|
|
/**
|
* 查询订单信息
|
* @param orderId
|
* @return
|
*/
|
@PostMapping("/inner/cruiseOrder/getCruiseOrder")
|
public R<XpCruiseOrder> getCruiseOrder(@RequestParam String orderId){
|
return R.ok(xpCruiseOrderService.getById(orderId));
|
}
|
|
|
/**
|
* 新增订单 下发命令
|
*
|
* @param
|
* @return 订单ID
|
*/
|
@PostMapping("/inner/cruiseOrder/addCruiseOrder")
|
public R<String> addCruiseOrder(@RequestBody XpCruiseOrder order) {
|
order.setId("XU"+ IdUtil.fastUUID());
|
boolean save = xpCruiseOrderService.save(order);
|
if (!save) {
|
return R.fail("新增失败");
|
}
|
|
// 下发命令
|
PushOrderDto pushOrderDto = new PushOrderDto();
|
pushOrderDto.setVin(order.getVehicleVin());
|
pushOrderDto.setOrderId(order.getId());
|
orderMissionClient.pushOrder(pushOrderDto);
|
|
return R.ok(order.getId());
|
}
|
|
|
}
|