“mitao”
2026-05-15 5c863676b014e5ae2fa601d89a83160b6e7a6c07
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -151,6 +151,23 @@
    }
    /**
     * 查询是否有未支付订单
     * 返回0 可以下单,非0为未支付订单ID
     */
    @PostMapping("/logan/inner/order/has-unpay-order")
    @ApiOperation(value = "查询是否有未支付订单", tags = {"内部接口"})
    public R<Long> hasUnPayOrder(String uid) {
        XpOrder order = xpOrderService.getOne(new LambdaQueryWrapper<XpOrder>()
                .eq(XpOrder::getAppUserId, Long.parseLong(uid))
                .eq(XpOrder::getStatus, 8)
                .last("LIMIT 1"));
        if (order != null) {
            return R.ok(order.getId());
        }
        return R.ok(0L);
    }
    /**
     * 通过订单id查询订单信息
     *
     * @param orderId 订单id
@@ -281,12 +298,6 @@
     */
    @ApiOperation(value = "删除订单", tags = {"管理后台-交易管理-订单管理"})
    @DeleteMapping("/api/v1/order/deleteById")
    @AdminOperationLog(
            businessType = AdminBusinessType.ORDER_MANAGEMENT,
            operationType = AdminOperationType.DELETE,
            contentExpression = "'删除订单,id=' + #p0",
            appendRequestData = false
    )
    public R<?> deleteById(@ApiParam(value = "订单id", required = true) @RequestParam Long id) {
        xpOrderService.deleteOrder(id);
        return R.ok();
@@ -299,12 +310,6 @@
     */
    @ApiOperation(value = "订单导出", tags = {"管理后台-交易管理-订单管理"})
    @PostMapping("/api/v1/order/exportExcel")
    @AdminOperationLog(
            businessType = AdminBusinessType.ORDER_MANAGEMENT,
            operationType = AdminOperationType.EXPORT,
            content = "订单导出",
            appendRequestData = true
    )
    public void exportExcel(@RequestBody XpOrderExcelQuery query) {
        // 1. 查询导出数据
        List<XpOrderPageVO> dataList = xpOrderService.exportList(query);
@@ -346,12 +351,6 @@
     */
    @ApiOperation(value = "取消/关闭订单", tags = {"管理后台-交易管理-订单管理"})
    @PostMapping("/api/v1/order/cancelAndCloseById")
    @AdminOperationLog(
            businessType = AdminBusinessType.ORDER_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            content = "取消/关闭订单",
            appendRequestData = true
    )
    public R<?> cancelAndCloseById(@Validated @RequestBody XpOrderOperateDTO dto) {
        xpOrderService.cancelOrCloseOrder(dto.getOrderId(), dto.getType(),dto.getIsFree());
        return R.ok();
@@ -365,12 +364,6 @@
     */
    @ApiOperation(value = "改派订单", tags = {"管理后台-交易管理-订单管理"}, notes = "车辆列表在 vehicleConvoy.availableList 服务")
    @PostMapping("/api/v1/order/reassignById")
    @AdminOperationLog(
            businessType = AdminBusinessType.ORDER_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            content = "改派订单",
            appendRequestData = true
    )
    public R<?> reassignById(@Validated @RequestBody XpOrderReassignDTO dto) {
        xpOrderService.reassignOrder(
                dto.getOrderId(),
@@ -387,12 +380,6 @@
            @ApiImplicitParam(name = "id", value = "订单ID", required = true, dataType = "Long"),
            @ApiImplicitParam(name = "amount", value = "新的订单金额", required = true, dataType = "BigDecimal")
    })
    @AdminOperationLog(
            businessType = AdminBusinessType.ORDER_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            contentExpression = "'订单改价,id=' + #p0 + ',amount=' + #p1",
            appendRequestData = false
    )
    public R<?> changeAmount(@RequestParam("id") Long id, @RequestParam("amount") BigDecimal amount) {
        xpOrderService.changeAmount(id, amount);
        return R.ok();
@@ -926,4 +913,21 @@
        XpOrderInfoVo xpOrderInfoVo = BeanUtil.copyProperties(xpOrder, XpOrderInfoVo.class);
        return R.ok(xpOrderInfoVo);
    }
    @ApiOperation(value = "获取订单支付状态", tags = {"小程序-业务流程"})
    @GetMapping("/api/v1/mini-program/order/queryOrderStatusFromOrderId")
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<OrderStatusFromOrderIdVo> queryOrderStatusFromOrderId(Long orderId) {
        XpOrder order = xpOrderService.getById(orderId);
        OrderStatusFromOrderIdVo orderStatusFromOrderIdVo = new OrderStatusFromOrderIdVo();
        orderStatusFromOrderIdVo.setOrderId(order.getId());
        orderStatusFromOrderIdVo.setStatus(order.getStatus());
        return R.ok( xpOrderService.queryOrderStatusFromOrderId(orderId));
    }
}