Переглянути джерело

fix: 消费服务
1.已处理的消费原始记录直接返回成功

luoyb 1 рік тому
батько
коміт
3b756398f2

+ 6 - 0
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/BaseBusiness.java

@@ -41,6 +41,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -145,6 +146,11 @@ public class BaseBusiness {
     public R<ErrorInfo> postConsumeRecord(ConsumptionBo bo, RemoteUserAccountVo userAccountVo, RemoteCardVo cardVo,
                                           List<PtBagVo> bagVos, XfTermVo termVo, RemoteMealTypeVo mealTypeVo, String remark) {
         ErrorInfo errorInfo;
+        XfConsumeDetailVo consumeDetailVo = consumeDetailService.queryVoByOriginalId(bo.getOriginalId());
+        if (ObjectUtil.isNotEmpty(consumeDetailVo)) {
+            // 认为是重复上传,不再写入明细
+            return R.ok();
+        }
         // 1.入消费明细表,根据消费金额与扣款方式及扣款钱包的余额,可能会从多个钱包扣钱,则对应的有多笔消费明细记录
         AtomicReference<Boolean> result = new AtomicReference<>();
         List<XfConsumeDetailVo> detailVos = new ArrayList<>();

+ 6 - 6
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/CheckBusiness.java

@@ -531,12 +531,12 @@ public class CheckBusiness {
             }
         }
         // XfConsumeDetailVo consumeDetailVo = consumeDetailService.queryVoByOriginalId(originalId);
-        XfConsumeDetailVo consumeDetailVo = consumeDetailService.queryVoByOriginalId(bo.getOriginalId());
-        if (ObjectUtil.isNotEmpty(consumeDetailVo)) {
-            // 认为是重复上传,不再入账
-            return R.fail(new ErrorInfo(400, ApiErrorTypeConstants.RECORD_IS_EXISTS, "原始消费记录已处理",
-                                        MessageFormat.format("标识为[{0}]的原始消费记录已处理", bo.getRecordId())));
-        }
+        //XfConsumeDetailVo consumeDetailVo = consumeDetailService.queryVoByOriginalId(bo.getOriginalId());
+        //if (ObjectUtil.isNotEmpty(consumeDetailVo)) {
+        //    // 认为是重复上传,不再入账
+        //    return R.fail(new ErrorInfo(400, ApiErrorTypeConstants.RECORD_IS_EXISTS, "原始消费记录已处理",
+        //                                MessageFormat.format("标识为[{0}]的原始消费记录已处理", bo.getRecordId())));
+        //}
         return R.ok();
     }