无关风月
2026-02-12 e866186d6c6b0d479d18b853581edff7c6a85929
修改费用明细
3个文件已修改
36 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/order/FareBreakdownVo.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrder.java
@@ -198,7 +198,7 @@
    @ApiModelProperty(value = "下单时段")
    @TableField("time_slot")
    private String timeSlot;
    @ApiModelProperty(value = "车辆到达时间")
    @ApiModelProperty(value = "车辆到达上车点时间")
    private LocalDateTime arrivalTime;
    @ApiModelProperty(value = "接单时间")
    private LocalDateTime acceptanceTime;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/order/FareBreakdownVo.java
@@ -35,4 +35,8 @@
    private BigDecimal couponMoney;
    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderMoney;
    @ApiModelProperty(value = "订单全程公里数")
    private BigDecimal totalKilometers;
    @ApiModelProperty(value = "订单全程时间(单位分钟)")
    private BigDecimal totalTime;
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -69,6 +69,8 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -833,21 +835,21 @@
        BigDecimal longDistancemoney = BigDecimal.ZERO;// 远途费
        BigDecimal redPacketMoney = BigDecimal.ZERO;// 红包抵扣金额
        BigDecimal couponMoney = BigDecimal.ZERO;// 优惠券抵扣金额
        if (pricingType==1){
        if (pricingType == 1) {
        }else{
        } else {
        }
        if (org.springframework.util.StringUtils.hasLength(basicPricingJson)){
        if (org.springframework.util.StringUtils.hasLength(basicPricingJson)) {
        }
        if (org.springframework.util.StringUtils.hasLength(startingFareJson)){
        if (org.springframework.util.StringUtils.hasLength(startingFareJson)) {
        }
        if (org.springframework.util.StringUtils.hasLength(dynamicPricingJson)){
        if (org.springframework.util.StringUtils.hasLength(dynamicPricingJson)) {
        }
        if (org.springframework.util.StringUtils.hasLength(priceRule)){
        if (org.springframework.util.StringUtils.hasLength(priceRule)) {
        }
        // 计算完价格后 挑选优惠券
@@ -860,6 +862,7 @@
            order.setCouponId(userCouponVo.getId());
            order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
        }
        order.setTripEnd(LocalDateTime.now());
        baseMapper.updateById(order);
        // 解绑用户与车辆关系
        CancelTaxiPassengerVo cancelTaxiPassengerVo = new CancelTaxiPassengerVo();
@@ -880,6 +883,21 @@
        XpOrder order = this.getById(orderId);
        FareBreakdownVo fareBreakdownVo = new FareBreakdownVo();
        BeanUtils.copyProperties(order, fareBreakdownVo);
        fareBreakdownVo.setTotalKilometers(
                BigDecimal.valueOf(order.getStartMileage() + order.getMileageKilometers() + order.getLongDistance())
        );
        LocalDateTime createTime = order.getCreateTime();
        LocalDateTime tripEnd = order.getTripEnd();
        // 计算行程时间 单位分钟
        // 计算时间差
        Duration duration = Duration.between(createTime, tripEnd);
        // 转换为分钟并保留一位小数
        BigDecimal minutes = BigDecimal.valueOf(duration.getSeconds())
                .divide(BigDecimal.valueOf(60), 1, RoundingMode.HALF_UP);
        fareBreakdownVo.setTotalTime(minutes);
        return R.ok(fareBreakdownVo);
    }