| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- package com.zhongzheng.controller.bank;
- import com.zhongzheng.common.core.controller.BaseController;
- import com.zhongzheng.common.core.domain.AjaxResult;
- import com.zhongzheng.common.core.page.TableDataInfo;
- import com.zhongzheng.common.utils.ServletUtils;
- import com.zhongzheng.framework.web.service.WxTokenService;
- import com.zhongzheng.modules.bank.service.IQuestionBusinessService;
- import com.zhongzheng.modules.bank.service.IQuestionService;
- import com.zhongzheng.modules.exam.service.IExamPaperService;
- import com.zhongzheng.modules.exam.vo.ExamPaperVo;
- import com.zhongzheng.modules.goods.bo.*;
- import com.zhongzheng.modules.goods.service.IGoodsService;
- import com.zhongzheng.modules.goods.vo.GoodsExamTimeVo;
- import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
- import com.zhongzheng.modules.goods.vo.SpecialExamRecordVo;
- import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
- import com.zhongzheng.modules.user.entity.ClientLoginUser;
- import com.zhongzheng.modules.user.service.IUserExamRecordService;
- import com.zhongzheng.modules.user.service.IUserExamSubscriptionService;
- import com.zhongzheng.modules.user.service.IUserSpecialExamRecordService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * 题库题目Controller
- *
- * @author hjl
- * @date 2021-10-21
- */
- @Api(value = "题库题目控制器", tags = {"题库题目管理"})
- @RequiredArgsConstructor(onConstructor_ = @Autowired)
- @RestController
- @RequestMapping("/bank/question")
- public class QuestionController extends BaseController {
- private final IQuestionService iQuestionService;
- private final IQuestionBusinessService iQuestionBusinessService;
- private final WxTokenService wxTokenService;
- private final IGoodsService iGoodsService;
- private final IUserExamRecordService iUserExamRecordService;
- private final IUserSpecialExamRecordService iUserSpecialExamRecordService;
- private final IExamPaperService iExamPaperService;
- private final IUserExamSubscriptionService iUserExamSubscriptionService;
- /**
- * 查询商品列表
- */
- @ApiOperation("查询用户拥有题库商品")
- @GetMapping("/listGoodsUserQuestion")
- public TableDataInfo<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo) {
- startPage();
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- bo.setUserId(loginUser.getUser().getUserId());
- List<GoodsUserQuestionVo> list = iQuestionService.listGoodsUserQuestionVo(bo);
- for (GoodsUserQuestionVo g : list) {
- UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
- userExamRecordQueryBo.setOrderGoodsId(g.getOrderGoodsId());
- userExamRecordQueryBo.setUserId(loginUser.getUser().getUserId());
- Long doNum = iUserExamRecordService.selectDoNum(userExamRecordQueryBo);
- Long totalNum = iGoodsService.getQuestionNum(g.getGoodsId());
- g.setDoNum(doNum);
- g.setTotalNum(totalNum);
- }
- return getDataTable(list);
- }
- /**
- * 查询用户拥有免费题库商品
- */
- @ApiOperation("查询用户拥有免费题库商品")
- @GetMapping("/listFreeGoodsList")
- public TableDataInfo<GoodsUserQuestionVo> listFreeGoodsList(GoodsQueryBo bo) {
- startPage();
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- bo.setUserId(loginUser.getUser().getUserId());
- List<GoodsUserQuestionVo> list = iQuestionService.listUserFreeGoodsList(bo);
- for (GoodsUserQuestionVo g : list) {
- UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
- userExamRecordQueryBo.setOrderGoodsId(g.getOrderGoodsId());
- userExamRecordQueryBo.setUserId(loginUser.getUser().getUserId());
- Long doNum = iUserExamRecordService.selectDoNum(userExamRecordQueryBo);
- Long totalNum = iGoodsService.getQuestionNum(g.getGoodsId());
- g.setDoNum(doNum);
- g.setTotalNum(totalNum);
- }
- return getDataTable(list);
- }
- /**
- * 查询用户拥有免费+自购题库商品
- */
- @ApiOperation("查询用户拥有免费+自购题库商品")
- @GetMapping("/listUserFreeUnionBuyGoodsList")
- public TableDataInfo<GoodsUserQuestionVo> listUserFreeUnionBuyGoodsList(GoodsQueryBo bo) {
- startPage();
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- bo.setUserId(loginUser.getUser().getUserId());
- List<GoodsUserQuestionVo> list = iQuestionService.listUserFreeUnionBuyGoodsList(bo);
- for (GoodsUserQuestionVo g : list) {
- UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
- userExamRecordQueryBo.setOrderGoodsId(g.getOrderGoodsId());
- userExamRecordQueryBo.setUserId(loginUser.getUser().getUserId());
- Long doNum = iUserExamRecordService.selectDoNum(userExamRecordQueryBo);
- Long totalNum = iGoodsService.getQuestionNum(g.getGoodsId());
- g.setDoNum(doNum);
- g.setTotalNum(totalNum);
- //试卷类型
- List<ExamPaperVo> paperVos = iExamPaperService.getGoodsExamPaper(g.getGoodsId());
- g.setPaperVos(paperVos);
- }
- return getDataTable(list);
- }
- /**
- * 获取每日一练当天的试卷信息
- */
- @ApiOperation("获取每日一练当天的试卷信息")
- @GetMapping("/getToDayExam/{goodsId}")
- public AjaxResult<GoodsExamTimeVo> getToDayExam(@PathVariable("goodsId") Long goodsId) {
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- return AjaxResult.success(iQuestionService.getToDayExam(goodsId,loginUser.getUser().getUserId()));
- }
- /**
- * 每日一练试卷打卡
- */
- @ApiOperation("每日一练试卷打卡")
- @PostMapping("/special/exam/record")
- public AjaxResult<Void> specialExamRecord(@RequestBody SpecialExamRecordAddBo addBo) {
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- addBo.setUserId(loginUser.getUser().getUserId());
- return toAjax(iUserSpecialExamRecordService.specialExamRecord(addBo)? 1 : 0);
- }
- /**
- * 获取每日一练试卷打卡记录
- */
- @ApiOperation("获取每日一练试卷打卡记录")
- @GetMapping("/get/special/record")
- public AjaxResult<List<SpecialExamRecordVo>> getSpecialRecord(SpecialExamRecordQuery query) {
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- query.setUserId(loginUser.getUser().getUserId());
- return AjaxResult.success(iUserSpecialExamRecordService.getSpecialRecord(query));
- }
- /**
- * 每日一练消息提醒订阅
- */
- @ApiOperation("每日一练消息提醒订阅")
- @PostMapping("/today/exam/subscription")
- public AjaxResult<Void> todayExamSubscription(@RequestBody TodayExamSubscriptionBo bo) {
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- bo.setUserId(loginUser.getUser().getUserId());
- return toAjax(iUserExamSubscriptionService.todayExamSubscription(bo)? 1 : 0);
- }
- /**
- * 每日一练打卡排行榜
- */
- @ApiOperation("每日一练打卡排行榜")
- @GetMapping("/todayExam/tob/{goodsId}")
- public AjaxResult<List<TodayExamTobVo>> getTodayExamTob(@PathVariable("goodsId") Long goodsId) {
- ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
- return AjaxResult.success(iQuestionService.getTodayExamTob(goodsId,loginUser.getUser().getUserId()));
- }
- }
|