From 73d4b48084899be5403527f38445e2ce1a7b7488 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Fri, 23 Aug 2019 13:58:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E7=94=B5=E8=B4=B9=E9=85=8D=E7=BD=AE][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/PowerBillAutoBuildSchedule.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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; } } } From a5cefcde21837781eaa21c80b6022bd87f1627a3 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Fri, 23 Aug 2019 16:09:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E7=94=B5=E8=B4=B9=E9=85=8D=E7=BD=AE][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/schedule/PowerBillAutoBuildSchedule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java index 5c3570087..31265f064 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/PowerBillAutoBuildSchedule.java @@ -124,7 +124,7 @@ public class PowerBillAutoBuildSchedule { priceDetals.add(priceDetal); priceDetal = new JSONObject(); priceDetal.put("key", "power"); - priceDetal.put("value", usedPower); + priceDetal.put("value", new BigDecimal(usedPower).divide(new BigDecimal(100)).toPlainString()); priceDetals.add(priceDetal); wxBillDaily.setReceivePay(receivePay);