liujie
2026-02-12 bac086c1d79c8e01a8c4e87c16dc2575d851efb9
小程序接口  动态价格修改
1个文件已添加
5个文件已修改
57 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/order/GetOrderNumDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderService.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/order/GetOrderNumDto.java
New file
@@ -0,0 +1,18 @@
package com.xiaopeng.api.dto.order;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@ApiModel(value = "获取订单数量")
@AllArgsConstructor
@NoArgsConstructor
public class GetOrderNumDto {
    // 时间参数
    private String timeStr;
    // 开通城市ID
    private Long openCityId;
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
@@ -1,5 +1,6 @@
package com.xiaopeng.api.feignClient.order;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
import com.xiaopeng.api.factory.order.XpOrderClientFallbackFactory;
@@ -76,11 +77,11 @@
    /**
     * 获取订单数量
     *
     * @param timeStr 时间
     * @param
     * @return 订单数量
     */
    @PostMapping("/inner/order/getOrderNum")
    R<Integer> getOrderNum(String timeStr);
    R<Integer> getOrderNum(@RequestBody GetOrderNumDto dto);
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.redis.service.RedisService;
@@ -66,7 +67,7 @@
                    // value=时间
                    String timeStr = dynamicPriceObj.toString();
                    // 判断当前距离这个时间范围的新增订单数(排除取消) / 上浮数量 算出应该增加的价格率
                    R<Integer> r = xpOrderClient.getOrderNum(timeStr);
                    R<Integer> r = xpOrderClient.getOrderNum(new GetOrderNumDto(timeStr,openCityId));
                    if(r.getData()==200){
                        int num = r.getData();
                        // X单上升一次调价
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -4,6 +4,7 @@
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
import com.xiaopeng.api.model.order.XpOrder;
@@ -105,12 +106,11 @@
    /**
     * 获取订单数量
     *
     * @param timeStr 时间
     * @return 订单数量
     */
    @PostMapping("/inner/order/getOrderNum")
    public  R<Integer> getOrderNum(String timeStr){
        return R.ok(xpOrderService.getOrderNum(timeStr));
    public  R<Integer> getOrderNum(@RequestBody GetOrderNumDto dto){
        return R.ok(xpOrderService.getOrderNum(dto));
    }
    /**
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
import com.xiaopeng.api.model.order.XpOrder;
@@ -167,9 +168,8 @@
    /**
     * 获取订单数量
     * @param timeStr 时间
     * @return
     */
    Integer getOrderNum(String timeStr);
    Integer getOrderNum(GetOrderNumDto dto);
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -9,6 +9,7 @@
import com.google.common.collect.ImmutableMap;
import com.xiaopeng.api.dto.account.GetUserCouponDto;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
import com.xiaopeng.api.dto.statistics.DailyCountDTO;
@@ -910,17 +911,29 @@
        return R.ok();
    }
    /**
     * 添加订单
     * @param xpOrder
     * @return
     */
    @Override
    public boolean addOrder(XpOrder xpOrder) {
        int insert = this.baseMapper.insert(xpOrder);
        if (insert <= 0) {
            return false;
        }
        return true;
    }
    /**
     * 获取订单数量
     * @param dto
     * @return
     */
    @Override
    public Integer getOrderNum(String timeStr) {
        this.baseMapper.selectCount(new LambdaQueryWrapper<XpOrder>());
        return 0;
    public Integer getOrderNum(GetOrderNumDto dto) {
        Long num = this.baseMapper.selectCount(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getCityId, dto.getOpenCityId()).between(BaseModel::getCreateTime, dto.getTimeStr(), new Date()));
        return num.intValue();
    }