From 5b7639f0bd9e056738ec15100ed0532e965c6cd5 Mon Sep 17 00:00:00 2001
From: guohongjin <guohongjin@test.com>
Date: 星期三, 15 五月 2024 17:15:18 +0800
Subject: [PATCH] 添加日志

---
 common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java
index a8a452c..71ffca7 100644
--- a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java
+++ b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java
@@ -18,7 +18,6 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -74,10 +73,37 @@
 
     @Override
     public OrderMentalTest createOrderMentalTest(Long userId, Long topicId, Boolean isNeedPay, Boolean isBack) {
+        if (isBack == null || !isBack) {
+            // 获取用户已支付订单(以后每次都只有1个订单号)
+            OrderMentalTest doneOrder = this.baseMapper.selectOne(
+                    Wrappers.<OrderMentalTest>lambdaQuery()
+                            .eq(OrderMentalTest::getUserId, userId)
+                            .eq(OrderMentalTest::getGoodsId, topicId)
+                            .eq(OrderMentalTest::getStatusFlag, OrderStatusFlagEnum.PAY_SUCCESS.getCode())
+                            .orderByDesc(OrderMentalTest::getCreateTime)
+                            .last("LIMIT 1")
+            );
+            if (doneOrder != null) {
+                return doneOrder;
+            }
+        }
+
         // 题库信息
         MentalTestTopic topic = mentalTestTopicService.getById(topicId);
         Assert.notNull(topic, "题库不存在");
 
+        // 查询题库后台添加的订单
+        long isBackCount = this.count(
+                Wrappers.<OrderMentalTest>lambdaQuery()
+                        .eq(OrderMentalTest::getIsBack, true)
+                        .eq(OrderMentalTest::getUserId, userId)
+                        .eq(OrderMentalTest::getGoodsId, topicId)
+        );
+        if (isBackCount > 0) {
+            // 以后的订单都标记为后台添加
+            isBack = true;
+        }
+
         // 获取用户最近创建的待支付订单
         OrderMentalTest o = this.baseMapper.selectOne(
                 Wrappers.<OrderMentalTest>lambdaQuery()

--
Gitblit v1.7.1