guohongjin
2024-05-15 5b7639f0bd9e056738ec15100ed0532e965c6cd5
common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/OrderMentalTestServiceImpl.java
@@ -73,24 +73,39 @@
    @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)
                        .eq(OrderMentalTest::getIsBack, 1)
        );
        if (isBackCount > 0) {
            // 有,则以后全部为后台添加标记
            // 以后的订单都标记为后台添加
            isBack = true;
        }
        // 获取用户最近创建的待支付订单
        OrderMentalTest o = this.getOne(
        OrderMentalTest o = this.baseMapper.selectOne(
                Wrappers.<OrderMentalTest>lambdaQuery()
                        .eq(OrderMentalTest::getUserId, userId)
                        .eq(OrderMentalTest::getGoodsId, topicId)
@@ -144,8 +159,8 @@
    }
    @Override
    public List<Map<String, Object>> getStatOrderList(String dateFormat, String beginTime, String endTime, Long workerId, List<Integer> statusList) {
        return this.baseMapper.getStatOrderList(dateFormat, beginTime, endTime, workerId, statusList);
    public List<Map<String, Object>> getStatOrderList(String dateFormat, String beginTime, String endTime, Long workerId, List<Integer> statusList, List<String> orderNoList) {
        return this.baseMapper.getStatOrderList(dateFormat, beginTime, endTime, workerId, statusList, orderNoList);
    }
}