diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java index 92be3c8bd..5c3570087 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java @@ -20,6 +20,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; @@ -31,6 +32,7 @@ import java.util.stream.Collectors; /** * @author gongbiao */ + @Component public class PowerBillAutoBuildSchedule { @@ -106,8 +108,8 @@ public class PowerBillAutoBuildSchedule { } //按电表 单价从商户配置表中取 因为会修改 unitPrice = wxMerchantPowerBillConfig.getPrice(); - receivePay = new BigDecimal(unitPrice).multiply(new BigDecimal(100)) - .multiply(new BigDecimal(usedPower)).longValue(); + receivePay = new BigDecimal(unitPrice).multiply(new BigDecimal(usedPower)) + .setScale(0, RoundingMode.HALF_EVEN).longValue(); } else { //按固定金额 单位从统一配置表中取 unitPrice = wxPowerBillAutoConfig.getUnitPrice(); @@ -152,7 +154,9 @@ public class PowerBillAutoBuildSchedule { kwMeterDataDto.setEndTime(lastdate); KwMeterDataVo power = kwMeterDataService.getPower(kwMeterDataDto); if (power != null) { - usedPower += power.getUsedPower(); + Optional usedPowerOptional = Optional.ofNullable(power.getUsedPower()); + Integer integer = usedPowerOptional.orElse(0); + usedPower += integer; } } }