QuestionController.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.zhongzheng.controller.bank;
  2. import cn.hutool.core.lang.Validator;
  3. import com.zhongzheng.common.annotation.Log;
  4. import com.zhongzheng.common.core.controller.BaseController;
  5. import com.zhongzheng.common.core.domain.AjaxResult;
  6. import com.zhongzheng.common.core.domain.model.LoginUser;
  7. import com.zhongzheng.common.core.page.TableDataInfo;
  8. import com.zhongzheng.common.enums.BusinessType;
  9. import com.zhongzheng.common.utils.ServletUtils;
  10. import com.zhongzheng.common.utils.poi.ExcelUtil;
  11. import com.zhongzheng.framework.web.service.TokenService;
  12. import com.zhongzheng.framework.web.service.WxTokenService;
  13. import com.zhongzheng.modules.bank.bo.QuestionAddBo;
  14. import com.zhongzheng.modules.bank.bo.QuestionBusinessQueryBo;
  15. import com.zhongzheng.modules.bank.bo.QuestionEditBo;
  16. import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
  17. import com.zhongzheng.modules.bank.domain.QuestionBusiness;
  18. import com.zhongzheng.modules.bank.service.IQuestionBusinessService;
  19. import com.zhongzheng.modules.bank.service.IQuestionService;
  20. import com.zhongzheng.modules.bank.vo.QuestionImport;
  21. import com.zhongzheng.modules.bank.vo.QuestionVo;
  22. import com.zhongzheng.modules.course.bo.CourseQueryBo;
  23. import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
  24. import com.zhongzheng.modules.goods.service.IGoodsService;
  25. import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
  26. import com.zhongzheng.modules.goods.vo.GoodsUserVo;
  27. import com.zhongzheng.modules.goods.vo.GoodsVo;
  28. import com.zhongzheng.modules.order.vo.OrderGoodsVo;
  29. import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
  30. import com.zhongzheng.modules.user.entity.ClientLoginUser;
  31. import com.zhongzheng.modules.user.service.IUserExamRecordService;
  32. import io.swagger.annotations.Api;
  33. import io.swagger.annotations.ApiOperation;
  34. import lombok.RequiredArgsConstructor;
  35. import org.springframework.beans.factory.annotation.Autowired;
  36. import org.springframework.security.access.prepost.PreAuthorize;
  37. import org.springframework.web.bind.annotation.*;
  38. import org.springframework.web.multipart.MultipartFile;
  39. import java.util.List;
  40. /**
  41. * 题库题目Controller
  42. *
  43. * @author hjl
  44. * @date 2021-10-21
  45. */
  46. @Api(value = "题库题目控制器", tags = {"题库题目管理"})
  47. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  48. @RestController
  49. @RequestMapping("/bank/question")
  50. public class QuestionController extends BaseController {
  51. private final IQuestionService iQuestionService;
  52. private final IQuestionBusinessService iQuestionBusinessService;
  53. private final WxTokenService wxTokenService;
  54. private final IGoodsService iGoodsService;
  55. private final IUserExamRecordService iUserExamRecordService;
  56. /**
  57. * 查询商品列表
  58. */
  59. @ApiOperation("查询用户拥有题库商品")
  60. @GetMapping("/listGoodsUserQuestion")
  61. public TableDataInfo<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo) {
  62. startPage();
  63. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  64. bo.setUserId(loginUser.getUser().getUserId());
  65. List<GoodsUserQuestionVo> list = iQuestionService.listGoodsUserQuestionVo(bo);
  66. for (GoodsUserQuestionVo g : list) {
  67. UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
  68. userExamRecordQueryBo.setOrderGoodsId(g.getOrderGoodsId());
  69. userExamRecordQueryBo.setUserId(loginUser.getUser().getUserId());
  70. Long doNum = iUserExamRecordService.selectDoNum(userExamRecordQueryBo);
  71. Long totalNum = iGoodsService.getQuestionNum(g.getGoodsId());
  72. g.setDoNum(doNum);
  73. g.setTotalNum(totalNum);
  74. }
  75. return getDataTable(list);
  76. }
  77. }