Browse Source

fix: 消费服务
1.兼容新消费APP,

luoyb 1 year ago
parent
commit
9c80e5a87e

+ 1 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/controller/PtUserAccountController.java

@@ -193,7 +193,7 @@ public class PtUserAccountController extends BaseController {
     @DeleteMapping("/{userIds}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")
                           @PathVariable Long[] userIds) {
-        return toAjax(ptUserAccountService.deleteWithValidByIds(List.of(userIds), true));
+        return toAjax(ptUserAccountService.deleteWithValidByIds(List.of(userIds), Boolean.TRUE));
     }
 
     /**

+ 24 - 3
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/convert/strategy/impl/YcRecordConvertStrategyImpl.java

@@ -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);
+        }
+    }
 }