liujie
2026-03-15 d55a7e68b36a795551132ff282e6ec5225a58925
修改bug
6个文件已修改
46 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpWhiteListClient.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/NearestDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpBannerServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
@@ -140,7 +140,7 @@
        R<XpCoupon> coupon = xpCouponClient.getCouponById(dto.getCouponId());
        if (coupon != null) {
            XpCoupon xpCoupon = coupon.getData();
            if (dto.getPhone() == null) {
            if (dto.getPhone() == null || dto.getPhone().isEmpty()) {
                // 全部发放
                R<List<String>> allWhiteList = xpWhiteListClient.getAllWhiteList();
                if (allWhiteList != null) {
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpWhiteListClient.java
@@ -23,7 +23,7 @@
     * 获取所有白名单手机号
     * @return
     */
    @PostMapping("/inner/getAllWhiteList")
    @PostMapping("/api/v1/whitelist/inner/getAllWhiteList")
    R<List<String>> getAllWhiteList();
}
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -565,7 +565,7 @@
            distance = routeVo.getDistance();
            duration = routeVo.getDuration();
        }
        xpOrder.setCouponId(dto.getUserCouponId());
        // 产生订单
        R<Long> addOrderR = xpOrderClient.addOrder(xpOrder);
        if (addOrderR.getCode() != R.SUCCESS) {
@@ -573,7 +573,7 @@
        }
        Long orderId = addOrderR.getData();
        xpOrder.setId(orderId);
        xpOrder.setCouponId(dto.getUserCouponId());
        // 静默处理 不推单
//        if (isSilent) {
//            log.info("订单取消次数达到上限,执行静默处理,不推单。");
@@ -626,7 +626,12 @@
        }
        String key = CacheConstants.QUEUE_POINT_ID + "-" + xpPoint.getId() + "-" + xpPoint.getPointLon() + "," + xpPoint.getPointLat();
        redisService.setCacheList(key, Arrays.asList(orderId + "_" + xpPoint.getPointLon() + "," + xpPoint.getPointLat() + "_0" + "_" + uid + "_" + xpOrder.getOrderNumber() + "_" + distance + "_" + duration + "_" + xpRoutePlan.getRoutePlanRule()));
        if(xpRoutePlan==null){
            redisService.setCacheList(key, Arrays.asList(orderId + "_" + xpPoint.getPointLon() + "," + xpPoint.getPointLat() + "_0" + "_" + uid + "_" + xpOrder.getOrderNumber() + "_" + distance + "_" + duration + "_" + null));
        }else {
            redisService.setCacheList(key, Arrays.asList(orderId + "_" + xpPoint.getPointLon() + "," + xpPoint.getPointLat() + "_0" + "_" + uid + "_" + xpOrder.getOrderNumber() + "_" + distance + "_" + duration + "_" + xpRoutePlan.getRoutePlanRule()));
        }
        log.info("订单推单:{}   {}", key, redisService.getCacheList(key));
        xpOrder.setQueueName(key);
        xpOrderClient.updateOrder(xpOrder);
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/NearestDto.java
@@ -18,5 +18,8 @@
    @NotNull(message = "经度不能为空")
    private Double longitude;
    @ApiModelProperty(value = "区域id")
    private Long electronicAreaId;
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpBannerServiceImpl.java
@@ -2,10 +2,12 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.operation.XpWhitelist;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.evi.oss.service.AliOssService;
import com.xiaopeng.operation.mapper.XpBannerMapper;
import com.xiaopeng.api.model.operation.XpBanner;
import com.xiaopeng.operation.query.BannerPageListQuery;
@@ -14,6 +16,8 @@
import com.xiaopeng.operation.vo.XpBannerListVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -29,10 +33,13 @@
@Service
public class XpBannerServiceImpl extends ServiceImpl<XpBannerMapper, XpBanner> implements XpBannerService {
    @Resource
    private AliOssService aliOssService;
    @Override
    public List<XpBannerListVo> getXpBannerList() {
        LambdaQueryWrapper<XpBanner> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(XpBanner::getBannerStatus,1);
        wrapper.eq(XpBanner::getBannerStatus, 1);
        // 当前时间在开始和结束时间范围内
        List<XpBanner> list = list(wrapper.last(" and now() between start_time and end_time"));
@@ -44,18 +51,23 @@
                vo.setJumpType(item.getJumpType());
                vo.setJumpUrl(item.getJumpUrl());
                JSONObject jsonObject = JSON.parseArray(item.getBannerPictures()).getJSONObject(0);
                vo.setImageUrl(jsonObject.getString("url"));
                String downloadUrl = null;
                try {
                    downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                } catch (UnsupportedEncodingException e) {
                    throw new RuntimeException(e);
                }
                vo.setImageUrl(downloadUrl);
                return vo;
            }).collect(Collectors.toList());
        }
        return Collections.emptyList();
    }
    @Override
    public PageInfo<XpBanner> pageList(BannerPageListQuery query) {
        PageInfo<XpBanner> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize());
        List<XpBanner> list = this.baseMapper.pageList(pageInfo,query);
        PageInfo<XpBanner> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<XpBanner> list = this.baseMapper.pageList(pageInfo, query);
        pageInfo.setRecords(list);
        return pageInfo;
    }
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -94,6 +94,10 @@
                // 添加距离计算字段
                .apply("ST_Distance_Sphere(point({0}, {1}), point(point_lon, point_lat)) <= {2}",
                        dto.getLongitude(), dto.getLatitude(), orderDistance));
        list = list.stream().filter(e->e.getElectronicAreaId().equals(dto.getElectronicAreaId())).collect(Collectors.toList());
        NearestVo nearestVo = new NearestVo();
        if(list.isEmpty()){
            nearestVo.setPoints(new ArrayList<>());