xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -567,19 +567,19 @@ @Override public String saveOrder(XpOrderDto dto, String uid) { //校验白名单用户 UcUserInfo userInfo = userResourcesClient.getBaseUserByUid(uid); XpWhitelist xpWhitelist = xpWhitelistMapper.selectOne(new QueryWrapper<XpWhitelist>().eq("account", userInfo.getMobile()) .eq("status", 1).last(" and (DATE(expire_time) < DATE(NOW()) or expire_time is null)")); if(null == xpWhitelist){ throw new ServiceException("未授权用户,不能使用该功能", I18nKeyConstant.NO_PERMISSION); } // UcUserInfo userInfo = userResourcesClient.getBaseUserByUid(uid); // XpWhitelist xpWhitelist = xpWhitelistMapper.selectOne(new QueryWrapper<XpWhitelist>().eq("account", userInfo.getMobile()) // .eq("status", 1).last(" and (DATE(expire_time) < DATE(NOW()) or expire_time is null)")); // if(null == xpWhitelist){ // throw new ServiceException("未授权用户,不能使用该功能", I18nKeyConstant.NO_PERMISSION); // } //判断最大下单数 if(null != xpWhitelist.getMaxOrderNum() && xpWhitelist.getMaxOrderNum()>0){ Long count = xpOrderClient.getUserOrderNum(Long.valueOf(uid)).getData(); if(xpWhitelist.getMaxOrderNum() <= count){ throw new ServiceException("已达到最大下单数量,不能使用该功能", I18nKeyConstant.MAX_ORDER_NUM); } } // if(null != xpWhitelist.getMaxOrderNum() && xpWhitelist.getMaxOrderNum()>0){ // Long count = xpOrderClient.getUserOrderNum(Long.valueOf(uid)).getData(); // if(xpWhitelist.getMaxOrderNum() <= count){ // throw new ServiceException("已达到最大下单数量,不能使用该功能", I18nKeyConstant.MAX_ORDER_NUM); // } // } // 是否在运营区域时间内 XpElectronicFenceArea xpElectronicFenceArea = xpElectronicFenceAreaMapper.selectById(dto.getXpElectronicFenceAreaId()); xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java
@@ -12,6 +12,7 @@ import com.xiaopeng.api.model.operation.XpOpenCity; import com.xiaopeng.api.vo.order.XpPricingCardVo; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.utils.StringUtils; import com.xiaopeng.common.redis.service.RedisService; import com.xiaopeng.itinerary.utils.holiday.HolidayUtil; import lombok.extern.slf4j.Slf4j; @@ -505,7 +506,7 @@ longDistanceThree = rule.getDouble("num13") * (realDistance - rule.getDouble("num12")); longDistanceThree = new BigDecimal(longDistanceThree).setScale(2,RoundingMode.HALF_UP).doubleValue(); } amount = rule.getDouble("num1") + new BigDecimal(exceedDistance * rule.getDouble("num4")).setScale(2,RoundingMode.HALF_UP).doubleValue() + new BigDecimal(exceedTime * rule.getDouble("num5")).setScale(2,RoundingMode.HALF_UP).doubleValue() + (wait * waitMoney) + longDistanceOne + longDistanceTwo + longDistanceThree; amount = rule.getDouble("num1") + new BigDecimal(exceedDistance * rule.getDouble("num4")).setScale(2,RoundingMode.HALF_UP).doubleValue() + new BigDecimal(exceedTime * (null != rule.getDouble("num5") ? rule.getDouble("num5") : 0)).setScale(2,RoundingMode.HALF_UP).doubleValue() + (wait * waitMoney) + longDistanceOne + longDistanceTwo + longDistanceThree; // 起步价 @@ -516,7 +517,6 @@ xpPricingCardVo.setDistancePriceNormal(rule.getDouble("num2")*1000); xpPricingCardVo.setDurationPriceNormal(rule.getDouble("num3")*60); // 里程 xpPricingCardVo.setDistance(realDistance); @@ -530,7 +530,7 @@ xpPricingCardVo.setDuration(realTime); // 时长费 xpPricingCardVo.setDurationPrice((exceedTime * rule.getDouble("num5"))); xpPricingCardVo.setDurationPrice((exceedTime * (null != rule.getDouble("num5") ? rule.getDouble("num5") : 0))); } }