liujie
2026-05-14 345cd5e2df171bf4241c2f9255e9bf88f0da0889
催收短信+订单现在拦截
6个文件已修改
48 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/TokenController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/TokenController.java
@@ -154,7 +154,7 @@
    @PostMapping("/maintenance-app/base/v1/getVerificationCode")
    public R<?> verificationCodeLogin(@RequestBody AppLoginGetCodeDTO appLoginPasswordDTO) {
        if (StringUtils.isBlank(appLoginPasswordDTO.getPhoneNumber())) {
            return R.fail("璐﹀彿涓嶅瓨鍦?");
            return R.fail("手机号不能为空!");
        }
        XpOperationsUser xpOperationsUser = xpOperationsUserService.lambdaQuery()
                .in(XpOperationsUser::getPhoneNumber, SensitiveDataCryptoUtil.queryValues(appLoginPasswordDTO.getPhoneNumber()))
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
@@ -50,6 +50,12 @@
            }
            @Override
            public R<Long> hasUnPayOrder(String uid) {
                log.error("查询未支付订单失败,原因: {}", cause.getMessage());
                return R.ok(0L);
            }
            @Override
            public R<XpOrder> queryOrderById(Long orderId) {
                log.error("根据订单id查询订单信息查询失败,原因: {}", cause.getMessage());
                return R.fail("根据订单id查询订单信息查询失败" + cause.getMessage());
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
@@ -43,6 +43,12 @@
    @PostMapping("/logan/inner/order/has-unpaid-order")
    R<Long> hasUnPaodOrder(@RequestParam String uid);
    /**
     * 查询是否有未支付订单
     */
    @PostMapping("/logan/inner/order/has-unpay-order")
    R<Long> hasUnPayOrder(@RequestParam String uid);
    /**
     * 通过订单id查询订单信息
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java
@@ -238,6 +238,10 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime tripEnd;
    @ApiModelProperty(value = "短信发送状态 0=未发送 1=已发送")
    @TableField("sms_status")
    private Integer smsStatus;
    @ApiModelProperty(value = "队列名称")
    @TableField("queue_name")
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
@@ -7,6 +7,7 @@
import com.xiaopeng.api.dto.map.RouteStaleCheckDto;
import com.xiaopeng.api.dto.map.SelectNavigationRouteDto;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.vo.HotFixInfoVo;
import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
@@ -52,13 +53,15 @@
    private final IXpGeoQueryEntityService xpGeoQueryEntityService;
    private final RedisService redisService;
    private final ImageTagProcessor imageTagProcessor;
    private final XpOrderClient xpOrderClient;
    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService, RedisService redisService, ImageTagProcessor imageTagProcessor) {
    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService, RedisService redisService, ImageTagProcessor imageTagProcessor, XpOrderClient xpOrderClient) {
        this.xpPricingService = xpPricingService;
        this.xpGeoQueryEntityService = xpGeoQueryEntityService;
        this.redisService = redisService;
        this.imageTagProcessor = imageTagProcessor;
        this.xpOrderClient = xpOrderClient;
    }
@@ -115,6 +118,14 @@
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<?> saveOrder(@RequestBody @Validated XpOrderDto dto, HttpServletRequest request) {
        String uid = request.getHeader("XP-Uid");
        R<Long> hasOrderResult = xpOrderClient.hasUnPayOrder(uid);
        if (hasOrderResult == null || R.isError(hasOrderResult)) {
            return R.fail("订单状态查询失败");
        }
        Long existingOrderId = hasOrderResult.getData();
        if (existingOrderId != null && existingOrderId > 0) {
            return R.fail("有未支付订单");
        }
        String orderId = xpPricingService.saveOrder(dto, uid);
        if(orderId==null){
            String language = request.getHeader("language");
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