Просмотр исходного кода

feature: 消费对接
1.请求消费返回数据BigDecimal类型改为float类型

luo.yibo@datuai.com 1 год назад
Родитель
Сommit
aaf8e506ae

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

@@ -1,9 +1,9 @@
 package org.dromara.server.consume.convert.strategy.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.server.common.constant.DefaultConstants;
@@ -32,25 +32,26 @@ import java.math.RoundingMode;
 public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
     @Override
     public ConsumptionBo convertToStandard(Object source) {
-        YcConsumeInfo yc = BeanUtil.copyProperties(source, YcConsumeInfo.class);
+        JSONObject yc = JSONUtil.parseObj(source);
         if (yc != null) {
             ConsumptionBo consumptionBo = new ConsumptionBo();
-            consumptionBo.setUserNo(ObjectUtil.isEmpty(yc.getEmployeeID()) ? 0 : yc.getEmployeeID());
-            consumptionBo.setUserNumb(ObjectUtil.isEmpty(yc.getEmployeeStrID()) ? "" : yc.getEmployeeStrID());
-            consumptionBo.setRealName(ObjectUtil.isEmpty(yc.getEmployeeName()) ? "" : yc.getEmployeeName());
-            consumptionBo.setCardNo(ObjectUtil.isEmpty(yc.getCardID()) ? 0 : yc.getCardID());
-            consumptionBo.setFactoryId(ObjectUtil.isEmpty(yc.getFactoryFixID()) ? 0 : yc.getFactoryFixID());
+            consumptionBo.setUserNo(ObjectUtil.isEmpty(yc.get("employeeID")) ? 0L : Long.parseLong(yc.get("employeeID").toString()));
+            consumptionBo.setUserNumb(ObjectUtil.isEmpty(yc.get("employeeStrID")) ? "" : yc.get("employeeStrID").toString());
+            consumptionBo.setRealName(ObjectUtil.isEmpty(yc.get("employeeName")) ? "" : yc.get("employeeName").toString());
+            consumptionBo.setCardNo(ObjectUtil.isEmpty(yc.get("cardID")) ? 0L : Long.parseLong(yc.get("cardID").toString()));
+            consumptionBo.setFactoryId(ObjectUtil.isEmpty(yc.get("factoryFixID")) ? 0L : Long.parseLong(yc.get("factoryFixID").toString()));
             //金额精确到两位小数
-            consumptionBo.setConsumeMoney(ObjectUtil.isEmpty(yc.getConsumeValue()) ? BigDecimal.ZERO : yc.getConsumeValue().setScale(2, RoundingMode.HALF_UP));
-            String tempDate = yc.getConsumeDate();
+            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));
             }
-            consumptionBo.setTermNo(ObjectUtil.isEmpty(yc.getTermID()) ? 0 : yc.getTermID());
-            consumptionBo.setTermRecordId(ObjectUtil.isEmpty(yc.getTermRecordID()) ? 0 : yc.getTermRecordID());
-            consumptionBo.setRecordId(ObjectUtil.isEmpty(yc.getOriRecordID()) ? null : yc.getOriRecordID());
-            consumptionBo.setRecordStatus(ObjectUtil.isEmpty(yc.getPosRecordState()) ? 0 : yc.getPosRecordState());
-            consumptionBo.setOperatorId(ObjectUtil.isEmpty(yc.getOperatorID()) ? 0 : yc.getOperatorID());
+            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()));
+            consumptionBo.setRecordId(ObjectUtil.isEmpty(yc.get("oriRecordID")) ? null : Long.parseLong(yc.get("oriRecordID").toString()));
+            consumptionBo.setRecordStatus(ObjectUtil.isEmpty(yc.get("posRecordState")) ? 0 : Long.parseLong(yc.get("posRecordState").toString()));
+            consumptionBo.setOperatorId(ObjectUtil.isEmpty(yc.get("operatorID")) ? 0 : Long.parseLong(yc.get("operatorID").toString()));
 
             return consumptionBo;
         }
@@ -61,11 +62,11 @@ public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
     public Object convertToSupplier(ConsumptionBo bo) {
         if(ObjectUtil.isNotEmpty(bo)){
             YcConsumeInfo yc = new YcConsumeInfo();
-            yc.setConsumeValue(bo.getConsumeMoney());
+            yc.setConsumeValue(bo.getConsumeMoney().floatValue());
             yc.setConsumeDate(DateUtil.format(bo.getConsumeDate(),DefaultConstants.TERM_DATE_FORMAT));
             yc.setCreateDate(DateUtil.format(bo.getConsumeDate(),DefaultConstants.TERM_DATE_FORMAT));
-            yc.setCardValueXY(new BigDecimal(20));
-            yc.setCardValue(bo.getBalance());
+            yc.setCardValueXY(Float.parseFloat("20"));
+            yc.setCardValue(bo.getBalance().floatValue());
             yc.setCardID(bo.getCardNo());
             yc.setFactoryFixID(bo.getFactoryId());
             yc.setEmployeeID(bo.getUserNo());
@@ -80,7 +81,6 @@ public class YcRecordConvertStrategyImpl implements IRecordConvertStrategy {
             yc.setOperatorID(bo.getOperatorId());
             yc.setConsumeDetailId(bo.getTermRecordId());
 
-            log.info(JSONUtil.toJsonStr(yc));
             return yc;
         }
         return null;

+ 3 - 4
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/domain/YcConsumeInfo.java

@@ -4,7 +4,6 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 /**
  * name: YcConsumeInfo
@@ -24,7 +23,7 @@ public class YcConsumeInfo implements Serializable
     /**
      * 消费金额
      */
-    private BigDecimal consumeValue;
+    private Float consumeValue;
     /**
      * 消费时间 ?DateUtils.formatDate(new Date(), "yyyy-MM-dd'T'HH:mm:ss");
      */
@@ -36,11 +35,11 @@ public class YcConsumeInfo implements Serializable
     /**
      * 信用钱包余额
      */
-    private BigDecimal cardValueXY;
+    private Float cardValueXY;
     /**
      * 现金钱包余额
      */
-    private BigDecimal cardValue;
+    private Float cardValue;
     /**
      * 卡流水号
      */