| @@ -20,6 +20,7 @@ import org.springframework.scheduling.annotation.Scheduled; | |||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||
| import java.math.RoundingMode; | |||||
| import java.time.Instant; | import java.time.Instant; | ||||
| import java.time.LocalDate; | import java.time.LocalDate; | ||||
| import java.time.ZoneId; | import java.time.ZoneId; | ||||
| @@ -31,6 +32,7 @@ import java.util.stream.Collectors; | |||||
| /** | /** | ||||
| * @author gongbiao | * @author gongbiao | ||||
| */ | */ | ||||
| @Component | @Component | ||||
| public class PowerBillAutoBuildSchedule { | public class PowerBillAutoBuildSchedule { | ||||
| @@ -106,8 +108,8 @@ public class PowerBillAutoBuildSchedule { | |||||
| } | } | ||||
| //按电表 单价从商户配置表中取 因为会修改 | //按电表 单价从商户配置表中取 因为会修改 | ||||
| unitPrice = wxMerchantPowerBillConfig.getPrice(); | 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 { | } else { | ||||
| //按固定金额 单位从统一配置表中取 | //按固定金额 单位从统一配置表中取 | ||||
| unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | ||||
| @@ -122,7 +124,7 @@ public class PowerBillAutoBuildSchedule { | |||||
| priceDetals.add(priceDetal); | priceDetals.add(priceDetal); | ||||
| priceDetal = new JSONObject(); | priceDetal = new JSONObject(); | ||||
| priceDetal.put("key", "power"); | priceDetal.put("key", "power"); | ||||
| priceDetal.put("value", usedPower); | |||||
| priceDetal.put("value", new BigDecimal(usedPower).divide(new BigDecimal(100)).toPlainString()); | |||||
| priceDetals.add(priceDetal); | priceDetals.add(priceDetal); | ||||
| wxBillDaily.setReceivePay(receivePay); | wxBillDaily.setReceivePay(receivePay); | ||||
| @@ -152,7 +154,9 @@ public class PowerBillAutoBuildSchedule { | |||||
| kwMeterDataDto.setEndTime(lastdate); | kwMeterDataDto.setEndTime(lastdate); | ||||
| KwMeterDataVo power = kwMeterDataService.getPower(kwMeterDataDto); | KwMeterDataVo power = kwMeterDataService.getPower(kwMeterDataDto); | ||||
| if (power != null) { | if (power != null) { | ||||
| usedPower += power.getUsedPower(); | |||||
| Optional<Integer> usedPowerOptional = Optional.ofNullable(power.getUsedPower()); | |||||
| Integer integer = usedPowerOptional.orElse(0); | |||||
| usedPower += integer; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||