DangAnController.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.zhongzheng.controller.user;
  2. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  3. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  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.exception.CustomException;
  9. import com.zhongzheng.common.utils.SecurityUtils;
  10. import com.zhongzheng.common.utils.ServletUtils;
  11. import com.zhongzheng.common.utils.poi.EasyPoiUtil;
  12. import com.zhongzheng.framework.web.service.TokenService;
  13. import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
  14. import com.zhongzheng.modules.grade.service.IClassGradeUserService;
  15. import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
  16. import com.zhongzheng.modules.grade.vo.UserPeriodExportV2Vo;
  17. import com.zhongzheng.modules.order.bo.OrderQueryBo;
  18. import com.zhongzheng.modules.order.service.IOrderService;
  19. import com.zhongzheng.modules.order.vo.OrderListVo;
  20. import com.zhongzheng.modules.top.order.bo.TopOldOrderCustomerBo;
  21. import com.zhongzheng.modules.user.bo.*;
  22. import com.zhongzheng.modules.user.service.*;
  23. import com.zhongzheng.modules.user.vo.*;
  24. import io.swagger.annotations.Api;
  25. import io.swagger.annotations.ApiOperation;
  26. import lombok.RequiredArgsConstructor;
  27. import org.springframework.beans.factory.annotation.Autowired;
  28. import org.springframework.security.access.prepost.PreAuthorize;
  29. import org.springframework.web.bind.annotation.*;
  30. import org.springframework.web.multipart.MultipartFile;
  31. import java.util.List;
  32. /**
  33. * 用户档案Controller
  34. *
  35. * @author hjl
  36. * @date 2022-08-17
  37. */
  38. @Api(value = "用户档案控制器", tags = {"用户档案管理"})
  39. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  40. @RestController
  41. @RequestMapping("/user/dangAn")
  42. public class DangAnController extends BaseController {
  43. private final IClassGradeUserService iClassGradeUserService;
  44. private final IOrderService iOrderService;
  45. private final IUserStudyRecordService iUserStudyRecordService;
  46. private final IUserCertificateService iUserCertificateService;
  47. private final IUserSubscribeService iUserSubscribeService;
  48. private final IUserService iUserService;
  49. private final TokenService tokenService;
  50. @ApiOperation("查询档案网课列表")
  51. @PreAuthorize("@ss.hasPermi('grade:user:list')")
  52. @GetMapping("/listVideoUserPeriod")
  53. public TableDataInfo<ClassPeriodStudentVo> listVideoUserPeriod(ClassGradeUserQueryBo bo) {
  54. startPage();
  55. List<ClassPeriodStudentVo> list = iClassGradeUserService.listVideoUserPeriod(bo);
  56. return getDataTable(list);
  57. }
  58. @ApiOperation("查询档案订单列表")
  59. @PreAuthorize("@ss.hasPermi('grade:user:list')")
  60. @GetMapping("/listOrder")
  61. public TableDataInfo<OrderListVo> listDangAnOrder(OrderQueryBo bo) {
  62. startPage();
  63. List<OrderListVo> list = iOrderService.selectDangAnOrderList(bo);
  64. return getDataTable(list);
  65. }
  66. /**
  67. * 查询学员商品题库学习记录
  68. */
  69. @ApiOperation("查询档案题库列表")
  70. @PreAuthorize("@ss.hasPermi('grade:student:list')")
  71. @GetMapping("/listUserExam")
  72. public TableDataInfo<ExamStudyRecordVo> listUserExam(UserQueryBo bo) {
  73. startPage();
  74. List<ExamStudyRecordVo> list = iUserStudyRecordService.querDangAnExamStudy(bo);
  75. return getDataTable(list);
  76. }
  77. @ApiOperation("学员约考记录")
  78. @GetMapping("/listUserSubscribe")
  79. public TableDataInfo<UserUsbRecordVo> getListUserSubscribe(UserUsbRecordBo bo) {
  80. startPage();
  81. List<UserUsbRecordVo> list = iClassGradeUserService.getListUserSubscribe(bo);
  82. return getDataTable(list);
  83. }
  84. @ApiOperation("学员考试记录")
  85. @GetMapping("/listUserApply")
  86. public TableDataInfo<UserApplyRecordVo> listUserApply(UserApplyRecordBo bo) {
  87. startPage();
  88. List<UserApplyRecordVo> list = iUserSubscribeService.listUserApply(bo);
  89. return getDataTable(list);
  90. }
  91. @ApiOperation("学员承诺书记录")
  92. @GetMapping("/listPromise")
  93. public TableDataInfo<UserPromiseRecordVo> listPromise(UserPromiseRecordBo bo) {
  94. startPage();
  95. List<UserPromiseRecordVo> list = iUserSubscribeService.listPromise(bo);
  96. return getDataTable(list);
  97. }
  98. @ApiOperation("查询档案报名列表")
  99. @PreAuthorize("@ss.hasPermi('grade:user:list')")
  100. @GetMapping("/listBKUserPeriod")
  101. public TableDataInfo<ClassPeriodStudentVo> listBKUserPeriod(ClassGradeUserQueryBo bo) {
  102. startPage();
  103. List<ClassPeriodStudentVo> list = iClassGradeUserService.listBKUserPeriod(bo);
  104. return getDataTable(list);
  105. }
  106. @ApiOperation("查询档案直播列表")
  107. @PreAuthorize("@ss.hasPermi('grade:student:list')")
  108. @GetMapping("/listUserLive")
  109. public TableDataInfo<ExamStudyRecordVo> listUserLive(UserQueryBo bo) {
  110. startPage();
  111. List<ExamStudyRecordVo> list = iUserStudyRecordService.querDangAnLiveStudy(bo);
  112. return getDataTable(list);
  113. }
  114. @ApiOperation("查询档案资料列表")
  115. @PreAuthorize("@ss.hasPermi('grade:student:list')")
  116. @GetMapping("/listUserHandouts")
  117. public TableDataInfo<ExamStudyRecordVo> listUserHandouts(UserQueryBo bo) {
  118. startPage();
  119. List<ExamStudyRecordVo> list = iUserStudyRecordService.querDangAnHandoutsStudy(bo);
  120. return getDataTable(list);
  121. }
  122. @ApiOperation("查询档案证书列表")
  123. @PreAuthorize("@ss.hasPermi('grade:student:list')")
  124. @GetMapping("/listUserCertificate")
  125. public TableDataInfo<UserCertificateVo> listUserCertificate(UserCertificateQueryBo bo) {
  126. startPage();
  127. List<UserCertificateVo> list = iUserCertificateService.selectList(bo);
  128. return getDataTable(list);
  129. }
  130. @ApiOperation("获取证书详细信息")
  131. @GetMapping("/certificateDetail")
  132. public AjaxResult<UserCertificateVo> getInfo(UserCertificateQueryBo bo) {
  133. return AjaxResult.success(iUserCertificateService.selectDetail(bo));
  134. }
  135. @ApiOperation("查询学员直播学习记录列表")
  136. @PreAuthorize("@ss.hasPermi('grade:user:list')")
  137. @GetMapping("/listUserStudyLiveRecord")
  138. public TableDataInfo<UserPeriodExportV2Vo> listUserStudyRecordV2Week(ClassGradeUserQueryBo bo) {
  139. startPage();
  140. List<UserPeriodExportV2Vo> list = iClassGradeUserService.listUserStudyRecordV2Week(bo);
  141. return getDataTable(list);
  142. }
  143. @ApiOperation("查询学员题库学习记录列表")
  144. @PreAuthorize("@ss.hasPermi('grade:user:list')")
  145. @GetMapping("/listUserStudyExamRecord")
  146. public TableDataInfo<UserPeriodExportV2Vo> listUserStudyExamRecord(ClassGradeUserQueryBo bo) {
  147. startPage();
  148. List<UserPeriodExportV2Vo> list = iClassGradeUserService.listUserStudyQuestionRecordV2Week(bo);
  149. return getDataTable(list);
  150. }
  151. @ApiOperation("学员资料导入更新")
  152. @PostMapping("/userDataImportUp")
  153. public AjaxResult userDataImportUp(MultipartFile file) {
  154. List<UserDataImportBo> customerBos = EasyPoiUtil.importExcel(file,0,1,UserDataImportBo.class);
  155. if (CollectionUtils.isEmpty(customerBos) || customerBos.stream().allMatch(x -> ObjectUtils.isNull(x.getUserCard()))){
  156. throw new CustomException("导入文件格式不正确或文件为空,请检查文件!");
  157. }
  158. iUserService.userDataImportUp(customerBos);
  159. return AjaxResult.success();
  160. }
  161. @ApiOperation("学员资料照片导入")
  162. @PostMapping("/userDataImgImport")
  163. public AjaxResult userDataImgImport(MultipartFile file) {
  164. iUserService.userDataImgImport(file);
  165. return AjaxResult.success();
  166. }
  167. @ApiOperation("学员资料批量下载")
  168. @PostMapping("/data/download")
  169. public AjaxResult userDataDownload(@RequestBody UserDownloadBo bo) {
  170. LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  171. bo.setCreateSysUserId(loginUser.getUser().getUserId());
  172. return AjaxResult.success(iUserService.userDataDownload(bo));
  173. }
  174. @ApiOperation("学员资料下载任务")
  175. @GetMapping("/data/download/list")
  176. public AjaxResult<List<UserDownloadVo>> userDataDownloadList() {
  177. LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  178. List<UserDownloadVo> list = iUserService.userDataDownloadList(loginUser.getUser().getUserId());
  179. return AjaxResult.success(list);
  180. }
  181. @ApiOperation("学员资料下载任务回调")
  182. @PostMapping("/data/download/up")
  183. public AjaxResult userDataDownloadUp(@RequestBody UserDataDownloadUpBo bo) {
  184. LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  185. bo.setCreateSysUserId(loginUser.getUser().getUserId());
  186. iUserService.userDataDownloadUp(bo);
  187. return AjaxResult.success();
  188. }
  189. }