huliguo
2025-07-29 7a74745bad7ff20df9e170433c1e1cb851ce7fa9
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java
@@ -146,7 +146,7 @@
         vo.setAnswerStartTime(null != questionsServiceOne ? questionsServiceOne.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) : null);
         vo.setAnswerTimeLimit(lotteryEvent.getAnsweringTime());
         if (vo.getContinueAnswer() == 1) {
            long remainingTime = lotteryEvent.getAnsweringTime() - LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) - questionsServiceOne.getCreateTime().toEpochSecond(ZoneOffset.of("+8"));
            long remainingTime = (lotteryEvent.getAnsweringTime() * 60) - (LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) - questionsServiceOne.getCreateTime().toEpochSecond(ZoneOffset.of("+8")));
            int count1 = userLotteryEventQuestionsAnswersService.count(new QueryWrapper<TUserLotteryEventQuestionsAnswers>().eq("lottery_event_id", id).eq("user_id", userId));
            vo.setRemainingTime(remainingTime);
            vo.setCurrent(count1 - 1);
@@ -249,6 +249,8 @@
         one.setLotteryEventQuestionId(lotteryEventQuestions.getId());
         one.setLotteryEventQuestionsAnswersId(lotteryEventQuestionsAnswers.getId());
         one.setCreateTime(LocalDateTime.now());
      }else{
         one.setLotteryEventQuestionsAnswersId(lotteryEventQuestionsAnswers.getId());
      }
      one.setIsCorrect(0);
      //答案正确
@@ -270,7 +272,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 +287,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);
      }