huliguo
4 天以前 68b7f670f7fe6fbe79e2f0682ac27b6ea1a0c417
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java
@@ -56,7 +56,7 @@
   private IUserLotteryEventQuestionsAnswersService userLotteryEventQuestionsAnswersService;
   
   @Resource
   private ILotteryEventQuestionsService lotteryEventServiceQuestionsService;
   private ILotteryEventQuestionsService lotteryEventQuestionsService;
   
   @Resource
   private ILotteryEventQuestionsAnswersService lotteryEventQuestionsAnswersService;
@@ -163,14 +163,14 @@
      TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).eq("user_id", userId));
      LotteryEventQuestionsVo vo = new LotteryEventQuestionsVo();
      vo.setId(dto.getId());
      int count = lotteryEventServiceQuestionsService.count(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()));
      int count = lotteryEventQuestionsService.count(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()));
      vo.setTotal(count);
      //没有答题,直接从第一题开始
      if (null == questionsServiceOne) {
         if (-1 == dto.getStepOrDown()) {
            return R.fail("操作失败");
         }
         TLotteryEventQuestions questions = lotteryEventServiceQuestionsService.getOne(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort").last(" limit 1"));
         TLotteryEventQuestions questions = lotteryEventQuestionsService.getOne(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort").last(" limit 1"));
         vo.setCurrent(0);
         vo.setName(questions.getName());
         List<TLotteryEventQuestionsAnswers> list = lotteryEventQuestionsAnswersService.list(new QueryWrapper<TLotteryEventQuestionsAnswers>().eq("lottery_event_questions_id", questions.getId()));
@@ -197,7 +197,7 @@
               current = count - 1;
            }
         }
         List<TLotteryEventQuestions> list = lotteryEventServiceQuestionsService.list(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort"));
         List<TLotteryEventQuestions> list = lotteryEventQuestionsService.list(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort"));
         TLotteryEventQuestions lotteryEventQuestions = list.get(current);
         vo.setCurrent(current);
         vo.setName(lotteryEventQuestions.getName());
@@ -224,7 +224,7 @@
   @PostMapping("/answerQuestion")
   @ApiOperation(value = "答题操作【2.0】", tags = "抽奖活动")
   public R answerQuestion(@RequestBody AnswerQuestionDto dto) {
      List<TLotteryEventQuestions> list = lotteryEventServiceQuestionsService.list(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort"));
      List<TLotteryEventQuestions> list = lotteryEventQuestionsService.list(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).orderByAsc("sort"));
      TLotteryEventQuestions lotteryEventQuestions = list.get(dto.getCurrent());
      List<TLotteryEventQuestionsAnswers> list1 = lotteryEventQuestionsAnswersService.list(new QueryWrapper<TLotteryEventQuestionsAnswers>().eq("lottery_event_questions_id", lotteryEventQuestions.getId()));
      TLotteryEventQuestionsAnswers lotteryEventQuestionsAnswers = list1.stream().filter(item -> item.getAnswers().equals(dto.getAnswer())).findAny().orElse(null);
@@ -288,7 +288,7 @@
      questionsServiceOne.setStatus(2);
      questionsServiceOne.setEndTime(LocalDateTime.now());
      //计算正确率
      int count = lotteryEventQuestionsAnswersService.count(new QueryWrapper<TLotteryEventQuestionsAnswers>().eq("lottery_event_id", id));
      int count = lotteryEventQuestionsService.count(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", id));
      int right = userLotteryEventQuestionsAnswersService.count(new QueryWrapper<TUserLotteryEventQuestionsAnswers>().eq("lottery_event_id", id).eq("user_id", userId).eq("is_correct", 1));
      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);