package com.ruoyi.goods.service.impl.lottery;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.goods.api.domain.LotteryEventQuestionsAnswers;
|
import com.ruoyi.goods.api.domain.UserLotteryEventQuestionsAnswers;
|
import com.ruoyi.goods.mapper.lottery.UserLotteryEventQuestionsAnswersMapper;
|
import com.ruoyi.goods.service.lottery.ILotteryEventQuestionsAnswersService;
|
import com.ruoyi.goods.service.lottery.IUserLotteryEventQuestionsAnswersService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
|
|
|
/**
|
* @author zhibing.pu
|
* @Date 2025/5/19 16:08
|
*/
|
@Service
|
public class UserLotteryEventQuestionsAnswersServiceImpl extends ServiceImpl<UserLotteryEventQuestionsAnswersMapper, UserLotteryEventQuestionsAnswers> implements IUserLotteryEventQuestionsAnswersService {
|
|
@Resource
|
private ILotteryEventQuestionsAnswersService lotteryEventQuestionsAnswersService;
|
|
|
|
|
|
/**
|
* 获取答题正确率
|
* @param userId
|
* @param lotteryEventId
|
* @return
|
*/
|
@Override
|
public BigDecimal getCorrectAnswerRate(Long userId, String lotteryEventId) {
|
int count = this.count(new QueryWrapper<UserLotteryEventQuestionsAnswers>().eq("user_id", userId).eq("lottery_event_id", lotteryEventId).eq("is_correct", 1));
|
if (count > 0) {
|
int count1 = lotteryEventQuestionsAnswersService.count(new QueryWrapper<LotteryEventQuestionsAnswers>().eq("lottery_event_id", lotteryEventId));
|
return new BigDecimal(count).divide(new BigDecimal(count1), 2, BigDecimal.ROUND_HALF_UP);
|
}
|
return BigDecimal.ZERO;
|
}
|
|
|
}
|