封顶金额修复
This commit is contained in:
		
							parent
							
								
									be0d51b403
								
							
						
					
					
						commit
						9ceda280a6
					
				|  | @ -2070,6 +2070,9 @@ public class AsDeviceServiceImpl extends ServiceImpl<AsDeviceMapper, AsDevice> i | ||||||
|                 if(cycle == 1){ |                 if(cycle == 1){ | ||||||
|                     order.setCycle(1);//在第几个计费周期内 rule, rule.getRidingRuleJson(), rentalUnit |                     order.setCycle(1);//在第几个计费周期内 rule, rule.getRidingRuleJson(), rentalUnit | ||||||
|                     ridingFee = calculateRidingFee(order,order.getUnlockTime(), order.getReturnTime()); |                     ridingFee = calculateRidingFee(order,order.getUnlockTime(), order.getReturnTime()); | ||||||
|  |                     if(ridingFee.compareTo(order.getCappedAmount()) > 0){ | ||||||
|  |                         ridingFee = order.getCappedAmount(); | ||||||
|  |                     } | ||||||
|                 }else { |                 }else { | ||||||
|                     // 判断一个计费周期是否超过封顶费用,如果超出  骑行费 = (第几个周期 - 1) *  封顶费用 + 骑行费 |                     // 判断一个计费周期是否超过封顶费用,如果超出  骑行费 = (第几个周期 - 1) *  封顶费用 + 骑行费 | ||||||
|                         // 如果不超出,骑行费 =  骑行费 |                         // 如果不超出,骑行费 =  骑行费 | ||||||
|  | @ -2079,6 +2082,9 @@ public class AsDeviceServiceImpl extends ServiceImpl<AsDeviceMapper, AsDevice> i | ||||||
|                         order.setCycle(cycle); |                         order.setCycle(cycle); | ||||||
|                         Date afterXHours = DateUtils.getTimeAfterXHours(order.getUnlockTime(), Integer.parseInt(chargingCycleValue)*(cycle-1)); |                         Date afterXHours = DateUtils.getTimeAfterXHours(order.getUnlockTime(), Integer.parseInt(chargingCycleValue)*(cycle-1)); | ||||||
|                         BigDecimal remainingFee = calculateRidingFee(order,afterXHours,order.getReturnTime()); |                         BigDecimal remainingFee = calculateRidingFee(order,afterXHours,order.getReturnTime()); | ||||||
|  |                         if(remainingFee.compareTo(order.getCappedAmount()) > 0){ | ||||||
|  |                             remainingFee = order.getCappedAmount(); | ||||||
|  |                         } | ||||||
|                         ridingFee = new BigDecimal(cycle - 1).multiply(order.getCappedAmount()).add(remainingFee); |                         ridingFee = new BigDecimal(cycle - 1).multiply(order.getCappedAmount()).add(remainingFee); | ||||||
|                     }else{ |                     }else{ | ||||||
|                         ridingFee  = calculateRidingFee(order, order.getUnlockTime(), order.getReturnTime()); |                         ridingFee  = calculateRidingFee(order, order.getUnlockTime(), order.getReturnTime()); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user