guohongjin
2024-05-15 5b7639f0bd9e056738ec15100ed0532e965c6cd5
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()