mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
折扣后电费不能大于原始电费金额, 折扣后服务费不能大于原始服务费金额
This commit is contained in:
@@ -957,6 +957,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
// 尖时段用电量
|
||||
BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity();
|
||||
if (sharpUsedElectricity != null) {
|
||||
logger.info("计算订单折扣V2:【{}】, 当前为尖时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})",
|
||||
orderCode, sharpUsedElectricity, orderDetail.getSharpElectricityPrice(), orderDetail.getSharpServicePrice(), billingTemplateVO.getSharpElectricityPrice(), billingTemplateVO.getSharpServicePrice());
|
||||
// 该时段电费单价与orderDetail中的电价比较取最小值
|
||||
// BigDecimal electricityPrice = billingTemplateVO.getSharpElectricityPrice();
|
||||
BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getSharpElectricityPrice(), orderDetail.getSharpElectricityPrice());
|
||||
@@ -978,6 +980,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
// 峰时段用电量
|
||||
BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity();
|
||||
if (peakUsedElectricity != null) {
|
||||
logger.info("计算订单折扣V2:【{}】, 当前为峰时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})",
|
||||
orderCode, peakUsedElectricity, orderDetail.getPeakElectricityPrice(), orderDetail.getPeakServicePrice(), billingTemplateVO.getPeakElectricityPrice(), billingTemplateVO.getPeakServicePrice());
|
||||
// 计算该时段电费单价
|
||||
BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getPeakElectricityPrice(), orderDetail.getPeakElectricityPrice());
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
@@ -996,6 +1000,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
// 平时段用电量
|
||||
BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity();
|
||||
if (flatUsedElectricity != null) {
|
||||
logger.info("计算订单折扣V2:【{}】, 当前为平时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})",
|
||||
orderCode, flatUsedElectricity, orderDetail.getFlatElectricityPrice(), orderDetail.getFlatServicePrice(), billingTemplateVO.getFlatElectricityPrice(), billingTemplateVO.getFlatServicePrice());
|
||||
// 计算该时段电费单价
|
||||
BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getFlatElectricityPrice(), orderDetail.getFlatElectricityPrice());
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
@@ -1014,6 +1020,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
// 谷时段用电量
|
||||
BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity();
|
||||
if (valleyUsedElectricity != null) {
|
||||
logger.info("计算订单折扣V2:【{}】, 当前为谷时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})",
|
||||
orderCode, valleyUsedElectricity, orderDetail.getValleyElectricityPrice(), orderDetail.getValleyServicePrice(), billingTemplateVO.getValleyElectricityPrice(), billingTemplateVO.getValleyServicePrice());
|
||||
// 计算该时段电费单价
|
||||
BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getValleyElectricityPrice(), orderDetail.getValleyElectricityPrice());
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
@@ -1093,6 +1101,7 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
* @return
|
||||
*/
|
||||
private BigDecimal getMinWithPositiveConstraint(BigDecimal num1, BigDecimal num2) {
|
||||
logger.info("获取较小值,并且满足大于0的条件, num1:{}, num2:{}", num1, num2);
|
||||
BigDecimal valid1 = num1.compareTo(BigDecimal.ZERO) > 0 ? num1 : null;
|
||||
BigDecimal valid2 = num2.compareTo(BigDecimal.ZERO) > 0 ? num2 : null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user