更新优化

This commit is contained in:
磷叶 2025-04-24 13:49:12 +08:00
parent cbbaf0a2e7
commit b4c9c7111f
3 changed files with 16 additions and 12 deletions

View File

@ -72,10 +72,10 @@ public class SuitValidatorImpl implements SuitValidator {
ServiceUtil.assertion(startRule.getStartingPrice() == null, "起步价不能为空");
ServiceUtil.assertion(startRule.getTimeoutTime() == null, "超时时长不能为空");
ServiceUtil.assertion(startRule.getTimeoutPrice() == null, "超时价格不能为空");
ServiceUtil.assertion(startRule.getStartingPrice().compareTo(BigDecimal.ZERO) <= 0, "起步价不能小于0");
ServiceUtil.assertion(startRule.getTimeoutPrice().compareTo(BigDecimal.ZERO) <= 0, "超时价格不能小于0");
ServiceUtil.assertion(startRule.getStartingTime() <= 0, "起步时长不能小于0");
ServiceUtil.assertion(startRule.getTimeoutTime() <= 0, "超时时长不能小于0");
ServiceUtil.assertion(startRule.getStartingPrice().compareTo(BigDecimal.ZERO) <= 0, "起步价不能小于或等于0");
ServiceUtil.assertion(startRule.getTimeoutPrice().compareTo(BigDecimal.ZERO) <= 0, "超时价格不能小于或等于0");
ServiceUtil.assertion(startRule.getStartingTime() <= 0, "起步时长不能小于或等于0");
ServiceUtil.assertion(startRule.getTimeoutTime() <= 0, "超时时长不能小于或等于0");
} else if (SuitRidingRule.INTERVAL_FEE.getCode().equals(suit.getRidingRule())) {
List<SuitIntervalFeeRule> intervalRules = suit.getIntervalRule();
ServiceUtil.assertion(CollectionUtils.isEmptyElement(intervalRules), "收费规则不能为空");

View File

@ -25,19 +25,20 @@ public class SuitUtil {
return 0;
}
// 预存款
BigDecimal depositAmount = suit.getDepositAmount();
if (depositAmount == null || depositAmount.compareTo(BigDecimal.ZERO) <= 0) {
return 0;
}
// 租赁单位
SuitRentalUnit rentalUnit = SuitRentalUnit.parse(suit.getRentalUnit());
if (rentalUnit == null) {
return 0;
}
long seconds = 0;
// 预存款
BigDecimal depositAmount = suit.getDepositAmount();
if (depositAmount == null || depositAmount.compareTo(BigDecimal.ZERO) <= 0) {
seconds = 0;
}
// 起步价计费
if (SuitRidingRule.START_FEE.getCode().equals(suit.getRidingRule())) {
seconds = calcTotalTimeForStartFee(depositAmount, suit.getStartRule(), rentalUnit);

View File

@ -210,8 +210,11 @@ public class IotReceiveServiceImpl implements IotReceiveService {
boolean isQLocked = DeviceStatus.Q_LOCKED.getCode().equals(device.getStatus()); // 是否强制断电
boolean isDispatching = DeviceStatus.DISPATCHING.getCode().equals(device.getStatus()); // 是否调度中
// 是否有正在使用的订单
// 是否有正在使用的订单若没有订单则不处理
boolean hasOrder = device.getOrderDeviceId() != null && OrderDeviceStatus.USING.getCode().equals(device.getOrderDeviceStatus());
if (!hasOrder) {
return 0;
}
// 获取车辆位置信息
LocationAreaVO locationArea = AreaUtil.getLocationArea(device.getLongitude(), device.getLatitude(), area, noRidingList);