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.Id;
|
||||
import javax.persistence.Transient;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
import static com.xhpc.common.core.utils.DateUtils.YYYY_MM_DD_HH_MM_SS;
|
||||
@ -115,26 +116,41 @@ public class ChargeOrderInfo {
|
||||
this.startTime = DateUtil.date2String(xhpcHistoryOrder.getStartTime(), DateUtil.DATE_FORMAT_DATE_TIME);
|
||||
this.chargeModel = xhpcHistoryOrder.getChargeModelEvcs();
|
||||
this.totalPower = xhpcHistoryOrder.getTotalPower();
|
||||
this.totalElecMoney = xhpcHistoryOrder.getPowerPriceTotal().doubleValue();
|
||||
this.totalSeviceMoney = xhpcHistoryOrder.getServicePriceTotal().doubleValue();
|
||||
this.totalMoney = xhpcHistoryOrder.getTotalPrice().doubleValue();
|
||||
final BigDecimal powerPriceTotal = xhpcHistoryOrder.getPowerPriceTotal();
|
||||
this.totalElecMoney = powerPriceTotal == null ? 0.0 : powerPriceTotal.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.sumPeriod = xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList().size();
|
||||
this.chargeDetails = translate(xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList());
|
||||
final List<XhpcStatisticsTimeInterval> xhpcStatisticsTimeIntervalList =
|
||||
xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList();
|
||||
this.sumPeriod = xhpcStatisticsTimeIntervalList == null ? 0 : xhpcStatisticsTimeIntervalList.size();
|
||||
this.chargeDetails = translate(xhpcStatisticsTimeIntervalList);
|
||||
Date starttime = xhpcHistoryOrder.getStartTime();
|
||||
Date endtime = xhpcHistoryOrder.getEndTime();
|
||||
int cl = 0;
|
||||
if (starttime != null && endtime != null) {
|
||||
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) {
|
||||
|
||||
List<ChargeDetails> details = new LinkedList<>();
|
||||
for (XhpcStatisticsTimeInterval statistics : xhpcStatisticsTimeIntervalList) {
|
||||
details.add(new ChargeDetails(statistics));
|
||||
}
|
||||
if (xhpcStatisticsTimeIntervalList != null)
|
||||
for (XhpcStatisticsTimeInterval statistics : xhpcStatisticsTimeIntervalList) {
|
||||
details.add(new ChargeDetails(statistics));
|
||||
}
|
||||
ChargeDetails[] a = new ChargeDetails[details.size()];
|
||||
return details.toArray(a);
|
||||
}
|
||||
|
||||
@ -110,7 +110,6 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher {
|
||||
EtOrderMapping etOrderMapping;
|
||||
EtOrderMapping om = new EtOrderMapping();
|
||||
if (internetSerialNumber != null) {
|
||||
om.setXhOrderNo(xhOrderNo);
|
||||
om.setEvcsOrderNo(internetSerialNumber);
|
||||
Example<EtOrderMapping> example = Example.of(om);
|
||||
etOrderMapping = orderMappingRepository.findOne(example).orElse(null);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user