ExamApplyController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.zhongzheng.controller.exam;
  2. import com.zhongzheng.common.annotation.Log;
  3. import com.zhongzheng.common.core.controller.BaseController;
  4. import com.zhongzheng.common.core.domain.AjaxResult;
  5. import com.zhongzheng.common.core.page.TableDataInfo;
  6. import com.zhongzheng.common.enums.BusinessType;
  7. import com.zhongzheng.common.utils.ServletUtils;
  8. import com.zhongzheng.framework.web.service.WxTokenService;
  9. import com.zhongzheng.modules.exam.bo.*;
  10. import com.zhongzheng.modules.exam.service.IExamApplyGoodsService;
  11. import com.zhongzheng.modules.exam.service.IExamApplyService;
  12. import com.zhongzheng.modules.exam.service.IExamApplySiteService;
  13. import com.zhongzheng.modules.exam.vo.*;
  14. import com.zhongzheng.modules.user.bo.UserSubscribeAddBo;
  15. import com.zhongzheng.modules.user.bo.UserSubscribeEditBo;
  16. import com.zhongzheng.modules.user.bo.UserSubscribeQueryBo;
  17. import com.zhongzheng.modules.user.entity.ClientLoginUser;
  18. import com.zhongzheng.modules.user.service.IUserSubscribeService;
  19. import com.zhongzheng.modules.user.vo.UserSubscribeVo;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import lombok.RequiredArgsConstructor;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.security.access.prepost.PreAuthorize;
  25. import org.springframework.web.bind.annotation.*;
  26. import java.util.List;
  27. /**
  28. * 考试安排Controller
  29. *
  30. * @author ruoyi
  31. * @date 2021-12-07
  32. */
  33. @Api(value = "考试预约", tags = {"考试预约"})
  34. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  35. @RestController
  36. @RequestMapping("/apply")
  37. public class ExamApplyController extends BaseController {
  38. private final IExamApplyService iExamApplyService;
  39. private final IExamApplySiteService iExamApplySiteService;
  40. private final IExamApplyGoodsService iExamApplyGoodsService;
  41. private final WxTokenService wxTokenService;
  42. private final IUserSubscribeService iUserSubscribeService;
  43. /**
  44. * 获取考试安排详细信息
  45. */
  46. @ApiOperation("点击预约报考按钮")
  47. @GetMapping("/subscribe")
  48. public AjaxResult<ExamUserApplyVo> subscribe(ExamApplyQueryBo bo) {
  49. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  50. bo.setUserId(loginUser.getUser().getUserId());
  51. ExamUserApplyVo examUserApplyVo = iExamApplyService.subscribe(bo);
  52. return AjaxResult.success(examUserApplyVo);
  53. }
  54. /**
  55. * 获取考试安排详细信息
  56. */
  57. @ApiOperation("预约报考下一步按钮 1 进入有考陪有考试地点得预约考试 2进入无考陪有考试地点预约考试 3无考试次数购买商品")
  58. @GetMapping("/subscribeNext")
  59. public AjaxResult<Long> subscribeNext(ExamApplyQueryBo bo) {
  60. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  61. bo.setUserId(loginUser.getUser().getUserId());
  62. Long count = iExamApplyService.subscribeNext(bo);
  63. return AjaxResult.success(count);
  64. }
  65. /**
  66. * 获取考试安排详细信息
  67. */
  68. @ApiOperation("获得考试的考试地点")
  69. @GetMapping("/subscribeApplySite")
  70. public AjaxResult<List<ExamUserApplySiteVo>> subscribeApplySite(ExamApplyQueryBo bo) {
  71. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  72. bo.setUserId(loginUser.getUser().getUserId());
  73. List<ExamUserApplySiteVo> count = iExamApplyService.subscribeApplySite(bo);
  74. return AjaxResult.success(count);
  75. }
  76. /**
  77. * 获取考试安排详细信息
  78. */
  79. @ApiOperation("获得考试的考培地点")
  80. @GetMapping("/subscribeApplySiteTrain")
  81. public AjaxResult<List<ExamUserApplySiteVo>> subscribeApplySiteTrain(ExamApplyQueryBo bo) {
  82. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  83. bo.setUserId(loginUser.getUser().getUserId());
  84. List<ExamUserApplySiteVo> count = iExamApplyService.subscribeApplySiteTrain(bo);
  85. return AjaxResult.success(count);
  86. }
  87. /**
  88. * 新增用户预约考试
  89. */
  90. @ApiOperation("新增用户预约考试")
  91. @Log(title = "用户预约考试", businessType = BusinessType.INSERT)
  92. @PostMapping()
  93. public AjaxResult<Long> add(@RequestBody UserSubscribeAddBo bo) {
  94. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  95. bo.setUserId(loginUser.getUser().getUserId());
  96. return AjaxResult.success(iUserSubscribeService.insertByAddBo(bo));
  97. }
  98. /**
  99. * 查询用户预约考试列表
  100. */
  101. @ApiOperation("查询报考数据列表")
  102. @GetMapping("/list")
  103. public TableDataInfo<UserSubscribeVo> listSubscribe(UserSubscribeQueryBo bo) {
  104. startPage();
  105. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  106. bo.setUserId(loginUser.getUser().getUserId());
  107. List<UserSubscribeVo> list = iUserSubscribeService.listSubscribe(bo);
  108. return getDataTable(list);
  109. }
  110. /**
  111. * 修改用户预约考试
  112. */
  113. @ApiOperation("修改用户预约考试")
  114. @Log(title = "用户预约考试", businessType = BusinessType.UPDATE)
  115. @PostMapping("edit")
  116. public AjaxResult<Void> edit(@RequestBody UserSubscribeEditBo bo) {
  117. return toAjax(iUserSubscribeService.updateByEditSingleBo(bo) ? 1 : 0);
  118. }
  119. }