fix NPE & dup entry error
This commit is contained in:
parent
934bc941dc
commit
0ac70127bf
@ -12,6 +12,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.xhpc.common.core.utils.DateUtils.YYYY_MM_DD_HH_MM_SS;
|
import static com.xhpc.common.core.utils.DateUtils.YYYY_MM_DD_HH_MM_SS;
|
||||||
@ -115,23 +116,38 @@ public class ChargeOrderInfo {
|
|||||||
this.startTime = DateUtil.date2String(xhpcHistoryOrder.getStartTime(), DateUtil.DATE_FORMAT_DATE_TIME);
|
this.startTime = DateUtil.date2String(xhpcHistoryOrder.getStartTime(), DateUtil.DATE_FORMAT_DATE_TIME);
|
||||||
this.chargeModel = xhpcHistoryOrder.getChargeModelEvcs();
|
this.chargeModel = xhpcHistoryOrder.getChargeModelEvcs();
|
||||||
this.totalPower = xhpcHistoryOrder.getTotalPower();
|
this.totalPower = xhpcHistoryOrder.getTotalPower();
|
||||||
this.totalElecMoney = xhpcHistoryOrder.getPowerPriceTotal().doubleValue();
|
final BigDecimal powerPriceTotal = xhpcHistoryOrder.getPowerPriceTotal();
|
||||||
this.totalSeviceMoney = xhpcHistoryOrder.getServicePriceTotal().doubleValue();
|
this.totalElecMoney = powerPriceTotal == null ? 0.0 : powerPriceTotal.doubleValue();
|
||||||
this.totalMoney = xhpcHistoryOrder.getTotalPrice().doubleValue();
|
final BigDecimal servicePriceTotal = xhpcHistoryOrder.getServicePriceTotal();
|
||||||
|
this.totalSeviceMoney = servicePriceTotal == null ? 0.0 : servicePriceTotal.doubleValue();
|
||||||
|
final BigDecimal totalPrice = xhpcHistoryOrder.getTotalPrice();
|
||||||
|
this.totalMoney = totalPrice == null ? 0.0 : totalPrice.doubleValue();
|
||||||
this.stopReason = xhpcHistoryOrder.getStopReasonEvcs();
|
this.stopReason = xhpcHistoryOrder.getStopReasonEvcs();
|
||||||
this.sumPeriod = xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList().size();
|
final List<XhpcStatisticsTimeInterval> xhpcStatisticsTimeIntervalList =
|
||||||
this.chargeDetails = translate(xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList());
|
xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList();
|
||||||
|
this.sumPeriod = xhpcStatisticsTimeIntervalList == null ? 0 : xhpcStatisticsTimeIntervalList.size();
|
||||||
|
this.chargeDetails = translate(xhpcStatisticsTimeIntervalList);
|
||||||
Date starttime = xhpcHistoryOrder.getStartTime();
|
Date starttime = xhpcHistoryOrder.getStartTime();
|
||||||
Date endtime = xhpcHistoryOrder.getEndTime();
|
Date endtime = xhpcHistoryOrder.getEndTime();
|
||||||
int cl = 0;
|
int cl = 0;
|
||||||
if (starttime != null && endtime != null) {
|
if (starttime != null && endtime != null) {
|
||||||
cl = Math.toIntExact((endtime.getTime() - starttime.getTime()) / 1000);
|
cl = Math.toIntExact((endtime.getTime() - starttime.getTime()) / 1000);
|
||||||
}
|
}
|
||||||
|
String starttimestr = DateUtil.date2StringDt(starttime);
|
||||||
|
String endtimestr = DateUtil.date2StringDt(endtime);
|
||||||
|
if (cl < 0) {
|
||||||
|
String tmp = endtimestr;
|
||||||
|
endtimestr = starttimestr;
|
||||||
|
starttimestr = tmp;
|
||||||
|
}
|
||||||
|
this.startTime = starttimestr;
|
||||||
|
this.endTime = endtimestr;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChargeDetails[] translate(List<XhpcStatisticsTimeInterval> xhpcStatisticsTimeIntervalList) {
|
private ChargeDetails[] translate(List<XhpcStatisticsTimeInterval> xhpcStatisticsTimeIntervalList) {
|
||||||
|
|
||||||
List<ChargeDetails> details = new LinkedList<>();
|
List<ChargeDetails> details = new LinkedList<>();
|
||||||
|
if (xhpcStatisticsTimeIntervalList != null)
|
||||||
for (XhpcStatisticsTimeInterval statistics : xhpcStatisticsTimeIntervalList) {
|
for (XhpcStatisticsTimeInterval statistics : xhpcStatisticsTimeIntervalList) {
|
||||||
details.add(new ChargeDetails(statistics));
|
details.add(new ChargeDetails(statistics));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,7 +110,6 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher {
|
|||||||
EtOrderMapping etOrderMapping;
|
EtOrderMapping etOrderMapping;
|
||||||
EtOrderMapping om = new EtOrderMapping();
|
EtOrderMapping om = new EtOrderMapping();
|
||||||
if (internetSerialNumber != null) {
|
if (internetSerialNumber != null) {
|
||||||
om.setXhOrderNo(xhOrderNo);
|
|
||||||
om.setEvcsOrderNo(internetSerialNumber);
|
om.setEvcsOrderNo(internetSerialNumber);
|
||||||
Example<EtOrderMapping> example = Example.of(om);
|
Example<EtOrderMapping> example = Example.of(om);
|
||||||
etOrderMapping = orderMappingRepository.findOne(example).orElse(null);
|
etOrderMapping = orderMappingRepository.findOne(example).orElse(null);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user