From 13997a054eac6ac0ad9080003160f41d28bcea57 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期二, 29 七月 2025 14:56:03 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java index 06010bc..393cb40 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java @@ -186,15 +186,16 @@ Integer current = dto.getCurrent(); if (-1 == dto.getStepOrDown()) { if (current - 1 < 0) { - return R.fail("操作失败"); + current = 0; } current--; } else { - //下一题 - if (current >= count) { - return R.fail("操作失败"); - } current++; + //下一题 + current++; + if (current >= count) { + current = count - 1; + } } List<TLotteryEventQuestions> list = lotteryEventServiceQuestionsService.list(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort")); TLotteryEventQuestions lotteryEventQuestions = list.get(current); @@ -249,6 +250,8 @@ one.setLotteryEventQuestionId(lotteryEventQuestions.getId()); one.setLotteryEventQuestionsAnswersId(lotteryEventQuestionsAnswers.getId()); one.setCreateTime(LocalDateTime.now()); + }else{ + one.setLotteryEventQuestionsAnswersId(lotteryEventQuestionsAnswers.getId()); } one.setIsCorrect(0); //答案正确 @@ -256,6 +259,8 @@ one.setIsCorrect(1); } userLotteryEventQuestionsAnswersService.saveOrUpdate(one); + //判断 + return R.ok(); } @@ -270,7 +275,12 @@ TLotteryEvent lotteryEvent = lotteryEventService.getById(id); TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); if (null == questionsServiceOne) { - return R.fail("请先进行答题操作"); + questionsServiceOne = new TUserLotteryEventQuestions(); + questionsServiceOne.setId(IdUtils.simpleUUID()); + questionsServiceOne.setUserId(userId); + questionsServiceOne.setLotteryEventId(id); + questionsServiceOne.setStatus(1); + questionsServiceOne.setCreateTime(LocalDateTime.now()); } questionsServiceOne.setStatus(2); questionsServiceOne.setEndTime(LocalDateTime.now()); @@ -280,7 +290,7 @@ int right = list.stream().filter(item -> 1 == item.getIsCorrect()).collect(Collectors.toList()).size(); BigDecimal multiply = new BigDecimal(right).divide(new BigDecimal(count), 4, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); questionsServiceOne.setCorrectAnswerRate(multiply); - userLotteryEventQuestionsService.updateById(questionsServiceOne); + userLotteryEventQuestionsService.saveOrUpdate(questionsServiceOne); if (multiply.compareTo(lotteryEvent.getAccuracy()) >= 0) { return R.ok(true); } -- Gitblit v1.7.1