|
|
@@ -1,5 +1,6 @@
|
|
|
package org.dromara.server.consume.convert.strategy.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
@@ -14,9 +15,13 @@ import org.dromara.server.consume.constant.TermSupplierConstants;
|
|
|
import org.dromara.server.consume.convert.strategy.IRecordConvertStrategy;
|
|
|
import org.dromara.server.consume.domain.YcConsumeInfo;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Locale;
|
|
|
|
|
|
/**
|
|
|
* name: YcRecordConvertStrategyImpl
|
|
|
@@ -33,6 +38,7 @@ import java.math.RoundingMode;
|
|
|
public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
|
|
|
@Override
|
|
|
public ConsumptionBo convertToStandard(Object source) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.ENGLISH);
|
|
|
JSONObject yc = JSONUtil.parseObj(source);
|
|
|
if (yc != null) {
|
|
|
ConsumptionBo consumptionBo = new ConsumptionBo();
|
|
|
@@ -45,8 +51,8 @@ public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
|
|
|
String consumeValue =ObjectUtil.isEmpty(yc.get("consumeValue")) ? "0.00": yc.get("consumeValue").toString();
|
|
|
consumptionBo.setConsumeMoney(new BigDecimal(consumeValue).setScale(2, RoundingMode.HALF_UP));
|
|
|
String tempDate = yc.get("consumeDate").toString();
|
|
|
- if(StrUtil.isNotEmpty(tempDate)){
|
|
|
- consumptionBo.setConsumeDate(CardDateUtils.parseDateTime(tempDate));
|
|
|
+ if(StrUtil.isNotEmpty(tempDate)){
|
|
|
+ consumptionBo.setConsumeDate(formatConsumeDate(tempDate));
|
|
|
}
|
|
|
consumptionBo.setTermNo(ObjectUtil.isEmpty(yc.get("termID")) ? 0 : Long.parseLong(yc.get("termID").toString()));
|
|
|
consumptionBo.setTermRecordId(ObjectUtil.isEmpty(yc.get("termRecordID")) ? 0 : Long.parseLong(yc.get("termRecordID").toString()));
|
|
|
@@ -99,4 +105,19 @@ public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ private Date formatConsumeDate(String dateStr) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.ENGLISH);
|
|
|
+ if(dateStr.contains(",")){
|
|
|
+ try {
|
|
|
+ Date date = sdf.parse(dateStr);
|
|
|
+ return DateUtil.date(date);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ log.error("[日期转换错误]",e);
|
|
|
+ return DateUtil.date();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return CardDateUtils.parseDateTime(dateStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|