diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java index 0d611add..eb01d1fb 100644 --- a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java @@ -109,7 +109,7 @@ public class CDChargeOrderInfo4BonusReq { if (starttime != null && endtime != null) { cl = Math.toIntExact((endtime.getTime() - starttime.getTime()) / 1000); } - this.chargeLast = cl; + this.chargeLast = Math.abs(cl); this.meterValueStart = xhpcHistoryOrder.getMeterValueStartEvcs(); this.meterValueEnd = xhpcHistoryOrder.getMeterValueEndEvcs(); } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/TaskLogConfig.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/TaskLogConfig.java new file mode 100644 index 00000000..49e67bc2 --- /dev/null +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/TaskLogConfig.java @@ -0,0 +1,31 @@ +package com.xhpc.evcs.config; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.task.TaskSchedulerCustomizer; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; +import org.springframework.util.ErrorHandler; + +@Configuration +public class TaskLogConfig implements TaskSchedulerCustomizer { + + @Override + public void customize(ThreadPoolTaskScheduler taskScheduler) { + + taskScheduler.setErrorHandler(new CustomErrorHandler()); + } + + private static class CustomErrorHandler implements ErrorHandler { + + private static final Logger logger = LoggerFactory.getLogger(CustomErrorHandler.class); + + @Override + public void handleError(Throwable t) { + + logger.error("Scheduled task threw an exception: {}", t.getMessage(), t); + } + + } + +}