UserSubscribeController.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. package com.zhongzheng.controller.user;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.lang.Validator;
  4. import com.alibaba.fastjson.JSONArray;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  7. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  8. import com.zhongzheng.common.annotation.Log;
  9. import com.zhongzheng.common.core.controller.BaseController;
  10. import com.zhongzheng.common.core.domain.AjaxResult;
  11. import com.zhongzheng.common.core.page.TableDataInfo;
  12. import com.zhongzheng.common.enums.BusinessType;
  13. import com.zhongzheng.common.utils.DateUtils;
  14. import com.zhongzheng.common.utils.poi.ExcelUtil;
  15. import com.zhongzheng.modules.exam.bo.ExamApplySiteTimeTwoAddBo;
  16. import com.zhongzheng.modules.exam.domain.ExamApplySiteTime;
  17. import com.zhongzheng.modules.exam.service.IExamApplyGoodsService;
  18. import com.zhongzheng.modules.exam.service.IExamApplySiteTimeService;
  19. import com.zhongzheng.modules.exam.vo.ExamSessionVo;
  20. import com.zhongzheng.modules.system.vo.SysTaskVo;
  21. import com.zhongzheng.modules.user.bo.*;
  22. import com.zhongzheng.modules.user.service.IUserExamGoodsService;
  23. import com.zhongzheng.modules.user.service.IUserSubscribeService;
  24. import com.zhongzheng.modules.user.vo.*;
  25. import io.swagger.annotations.Api;
  26. import io.swagger.annotations.ApiOperation;
  27. import lombok.RequiredArgsConstructor;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.security.access.prepost.PreAuthorize;
  30. import org.springframework.web.bind.annotation.*;
  31. import org.springframework.web.multipart.MultipartFile;
  32. import java.time.LocalDateTime;
  33. import java.time.format.DateTimeFormatter;
  34. import java.util.ArrayList;
  35. import java.util.HashMap;
  36. import java.util.List;
  37. import java.util.Map;
  38. /**
  39. * 用户预约考试Controller
  40. *
  41. * @author ruoyi
  42. * @date 2021-12-07
  43. */
  44. @Api(value = "报考数据控制器", tags = {"报考数据控制器"})
  45. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  46. @RestController
  47. @RequestMapping("/system/subscribe")
  48. public class UserSubscribeController extends BaseController {
  49. private final IUserSubscribeService iUserSubscribeService;
  50. private final IUserExamGoodsService iUserExamGoodsService;
  51. private final IExamApplyGoodsService iExamApplyGoodsService;
  52. private final IExamApplySiteTimeService iExamApplySiteTimeService;
  53. /**
  54. * 查询用户预约考试列表
  55. */
  56. @ApiOperation("查询报考数据列表")
  57. @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
  58. @GetMapping("/list")
  59. public TableDataInfo<UserSubscribeVo> listSubscribe(UserSubscribeQueryBo bo) {
  60. startPage();
  61. List<UserSubscribeVo> list = iUserSubscribeService.listSubscribe(bo);
  62. return getDataTable(list);
  63. }
  64. /**
  65. * 预约列表(包含其他使用祥粤考场的机构)
  66. */
  67. @ApiOperation("预约列表(包含其他使用祥粤考场的机构)")
  68. @GetMapping("/sub/list")
  69. public TableDataInfo<UserSubVo> getListSubscribe(UserSubQueryBo bo) {
  70. startPage();
  71. List<UserSubVo> list = iUserSubscribeService.getListSubscribe(bo);
  72. return getDataTable(list);
  73. }
  74. /**
  75. * 预约学员档案资料下载
  76. */
  77. @ApiOperation("预约学员档案资料下载")
  78. @GetMapping("/sub/user/export")
  79. public AjaxResult<Void> subUserExport(SubUserExportBo bo) {
  80. return toAjax(iUserSubscribeService.subUserExport(bo) ? 1 : 0);
  81. }
  82. /**
  83. * 预约学员信息下载
  84. */
  85. @ApiOperation("预约学员信息下载")
  86. @PostMapping("/sub/record/user/export")
  87. public AjaxResult<String> subRecordUserExport(@RequestBody SubUserExportBo bo) {
  88. String path = iUserSubscribeService.subRecordUserExport(bo);
  89. return AjaxResult.success("操作成功",path);
  90. }
  91. /**
  92. * 学员档案下载任务列表
  93. */
  94. @ApiOperation("学员档案下载任务列表")
  95. @GetMapping("/sub/user/export/list")
  96. public AjaxResult<List<SysTaskVo>> subUserExportList() {
  97. return AjaxResult.success(iUserSubscribeService.subUserExportList());
  98. }
  99. /**
  100. * 根据月份获取当月考试场次
  101. */
  102. @ApiOperation("根据月份获取当月考试场次")
  103. @GetMapping("/session/{applyDate}")
  104. public AjaxResult<List<ExamSessionVo>> getExamSession(@PathVariable("applyDate")String applyDate) {
  105. List<ExamSessionVo> list = iUserSubscribeService.getExamSession(applyDate);
  106. return AjaxResult.success(list);
  107. }
  108. /**
  109. * 修改用户预约考试
  110. */
  111. @ApiOperation("批量取消预约,批量选考试登记状态,批量修改预约状态,批量前培账号开通")
  112. @PreAuthorize("@ss.hasPermi('system:subscribe:edit')")
  113. @Log(title = "用户预约考试", businessType = BusinessType.UPDATE)
  114. @PostMapping("editMore")
  115. public AjaxResult<Void> editMore(@RequestBody List<UserAppSubscribeEditBo> list) {
  116. return toAjax(iUserSubscribeService.updateByEditMoreBo(list) ? 1 : 0);
  117. }
  118. /**
  119. *
  120. * 修改用户预约考试
  121. */
  122. @ApiOperation("批量取消预约,批量选考试登记状态,批量修改预约状态,批量前培账号开通")
  123. @PreAuthorize("@ss.hasPermi('system:subscribe:edit')")
  124. @Log(title = "用户预约考试", businessType = BusinessType.UPDATE)
  125. @PostMapping("edit")
  126. public AjaxResult<Void> edit(@RequestBody UserSubscribeEditBo bo) {
  127. return toAjax(iUserSubscribeService.updateByEditBo(bo) ? 1 : 0);
  128. }
  129. /**
  130. * 修改用户预约考试
  131. */
  132. @ApiOperation("批量改证书状态")
  133. @PreAuthorize("@ss.hasPermi('system:subscribe:edit')")
  134. @Log(title = "用户预约考试", businessType = BusinessType.UPDATE)
  135. @PostMapping()
  136. public AjaxResult<Void> editCertificate(@RequestBody List<UserSubscribeCertificateEditBo> bo) {
  137. return toAjax(iUserSubscribeService.editCertificate(bo) ? 1 : 0);
  138. }
  139. /**
  140. * 查询用户下这个商品的考试次数,前培次数列表
  141. */
  142. @ApiOperation("查询用户下商品的考试次数,前培次数列表")
  143. @PreAuthorize("@ss.hasPermi('system:goods:list')")
  144. @GetMapping("/listUserExam")
  145. public TableDataInfo<UserExamGoodsVo> listUserExam(UserExamGoodsQueryBo bo) {
  146. startPage();
  147. List<UserExamGoodsVo> list = iUserExamGoodsService.listUserExam(bo);
  148. return getDataTable(list);
  149. }
  150. /**
  151. * 查询详细商品考试次数,前培次数
  152. */
  153. @ApiOperation("查询详细商品考试次数,前培次数")
  154. @PreAuthorize("@ss.hasPermi('system:apply:query')")
  155. @GetMapping("/UserExam")
  156. public AjaxResult<UserExamGoodsVo> getUserExamInfo(UserExamGoodsQueryBo userExamGoodsQueryBo) {
  157. UserExamGoodsVo userExamGoodsVo = iUserExamGoodsService.getUserExamInfo(userExamGoodsQueryBo);
  158. return AjaxResult.success(userExamGoodsVo);
  159. }
  160. @Log(title = "导入新增预约考试模板", businessType = BusinessType.IMPORT)
  161. @ApiOperation("导入新增预约考试模板")
  162. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  163. @PostMapping("/importData")
  164. public AjaxResult<Map<String, Object>> importData(MultipartFile file) throws Exception {
  165. ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
  166. List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
  167. Map<String, Object> userSubscribeImport = iUserSubscribeService.importData(userSubscribeImportList);
  168. return AjaxResult.success(userSubscribeImport);
  169. }
  170. @Log(title = "导入新增预约考培模板", businessType = BusinessType.IMPORT)
  171. @ApiOperation("导入新增预约考培模板")
  172. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  173. @PostMapping("/importTrainData")
  174. public AjaxResult<Map<String, Object>> importTrainData(MultipartFile file) throws Exception {
  175. ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
  176. List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
  177. Map<String, Object> userSubscribeImport = iUserSubscribeService.importTrainData(userSubscribeImportList);
  178. return AjaxResult.success(userSubscribeImport);
  179. }
  180. @Log(title = "导入批量考试登记", businessType = BusinessType.IMPORT)
  181. @ApiOperation("导入批量考试登记")
  182. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  183. @PostMapping("/importUpdateData")
  184. public AjaxResult<Map<String, Object>> importUpdateData(MultipartFile file) throws Exception {
  185. ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
  186. List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
  187. Map<String, Object> userSubscribeImport = iUserSubscribeService.importUpdateData(userSubscribeImportList);
  188. return AjaxResult.success(userSubscribeImport);
  189. }
  190. /**
  191. * 查询报考数据用户列表
  192. */
  193. @ApiOperation("查询报考数据用户列表")
  194. @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
  195. @GetMapping("/listUser")
  196. public TableDataInfo<UserSubscribeVo> listSubscribeByUser(UserSubscribeQueryBo bo) {
  197. startPage();
  198. List<UserSubscribeVo> list = iUserSubscribeService.listSubscribeByUser(bo);
  199. return getDataTable(list);
  200. }
  201. @ApiOperation("预约考试身份证导入新增模板过滤不存在")
  202. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  203. @PostMapping("/importIdsDataFilter")
  204. public AjaxResult<List<UserSubscribeIdsImport>> importIdsDataFilter(MultipartFile file) throws Exception {
  205. ExcelUtil<UserSubscribeIdsImport> util = new ExcelUtil<UserSubscribeIdsImport>(UserSubscribeIdsImport.class);
  206. List<UserSubscribeIdsImport> userSubscribeIdsImportList = util.importExcel(file.getInputStream());
  207. userSubscribeIdsImportList = iUserSubscribeService.importIdsDataFilter(userSubscribeIdsImportList);
  208. return AjaxResult.success(userSubscribeIdsImportList);
  209. }
  210. @ApiOperation("预约考试身份证导入新增模板")
  211. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  212. @PostMapping("/importIdsData")
  213. public AjaxResult<List<UserSubscribeIdsImport>> importIdsData(MultipartFile file) throws Exception {
  214. ExcelUtil<UserSubscribeIdsImport> util = new ExcelUtil<UserSubscribeIdsImport>(UserSubscribeIdsImport.class);
  215. List<UserSubscribeIdsImport> userSubscribeIdsImportList = util.importExcel(file.getInputStream());
  216. return AjaxResult.success(userSubscribeIdsImportList);
  217. }
  218. /**
  219. * 导出新增预约模板
  220. */
  221. @ApiOperation("导出新增预约模板")
  222. @PreAuthorize("@ss.hasPermi('system:profile:export')")
  223. @Log(title = "导出新增预约模板", businessType = BusinessType.EXPORT)
  224. @GetMapping("/exportNew")
  225. public AjaxResult<Map<String,Object>> exportNew(UserSubscribeExportBo bo) {
  226. Map<String,Object> map = new HashMap<>();
  227. // ExamApplyGoodsQueryBo examApplyGoodsQueryBo = new ExamApplyGoodsQueryBo();
  228. // examApplyGoodsQueryBo.setApplyId(bo.getApplyId());
  229. // List<ExamApplyGoodsVo> goodsList = iExamApplyGoodsService.listGoods(examApplyGoodsQueryBo);
  230. // ExcelUtil<ExamApplyGoodsVo> goodsUtil = new ExcelUtil<ExamApplyGoodsVo>(ExamApplyGoodsVo.class);
  231. String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  232. // map.put("goodsExcel",goodsUtil.exportEasyExcel(goodsUtil.exportEasyData(goodsList), bo.getApplyName()+"商品列表"+timeStr));
  233. ExamApplySiteTime siteTime = iExamApplySiteTimeService.getOne(new LambdaQueryWrapper<ExamApplySiteTime>()
  234. .eq(ExamApplySiteTime::getApplyId, bo.getApplyId())
  235. .last("limit 1"));
  236. if(Validator.isEmpty(bo.getApplySiteAddressTrain())){
  237. UserSubscribeExport export = new UserSubscribeExport();
  238. export.setRemark("导入时,请把示例删除");
  239. export.setUserName("李小米");
  240. export.setIdCard("44086921356895125365");
  241. export.setApplyName(bo.getApplyName());
  242. export.setApplySiteAddress(bo.getApplySiteAddress());
  243. export.setStudentType("是");
  244. if (ObjectUtils.isNotNull(siteTime)){
  245. List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(siteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
  246. if (CollectionUtils.isNotEmpty(siteTimeTwoAddBos)){
  247. ExamApplySiteTimeTwoAddBo twoAddBo = siteTimeTwoAddBos.get(0);
  248. export.setApplySiteTime(String.format("%s-%s",twoAddBo.getStartTime(),twoAddBo.getEndTime()));
  249. }
  250. export.setApplySiteExamTime(DateUtils.timestampToDateFormat(siteTime.getExamTime(),"yyyy/MM/dd"));
  251. }else {
  252. export.setApplySiteExamTime("2021/10/21");
  253. export.setApplySiteTime("9:00-12:00");
  254. }
  255. export.setMajorName("土建质量员");
  256. // export.setCode("SP6415428604");
  257. // export.setGoodsName("一级建造师继续教育(必修课+机电工程)");
  258. List<UserSubscribeExport> list = new ArrayList<>();
  259. list.add(export);
  260. ExcelUtil<UserSubscribeExport> util = new ExcelUtil<UserSubscribeExport>(UserSubscribeExport.class);
  261. map.put("demoExcel",util.exportEasyExcel(util.exportEasyData(list), bo.getApplyName()+"新增预约模板"+timeStr));
  262. }else{
  263. //有考培地点
  264. UserSubscribeTrainExport export = new UserSubscribeTrainExport();
  265. export.setRemark("导入时,请把示例删除");
  266. export.setUserName("李小米");
  267. export.setIdCard("44086921356895125365");
  268. export.setApplyName(bo.getApplyName());
  269. export.setApplySiteAddress(bo.getApplySiteAddress());
  270. export.setApplySiteExamTime("2021/10/21");
  271. export.setApplySiteTime("9:00-12:00");
  272. export.setCode("SP6415428604");
  273. export.setGoodsName("一级建造师继续教育(必修课+机电工程)");
  274. export.setStudentType("是");
  275. export.setApplySiteAddressTrain(bo.getApplySiteAddressTrain());
  276. if (ObjectUtils.isNotNull(siteTime)){
  277. List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(siteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
  278. if (CollectionUtils.isNotEmpty(siteTimeTwoAddBos)){
  279. ExamApplySiteTimeTwoAddBo twoAddBo = siteTimeTwoAddBos.get(0);
  280. export.setApplySiteTime(String.format("%s-%s",twoAddBo.getStartTime(),twoAddBo.getEndTime()));
  281. }
  282. export.setApplySiteExamTime(DateUtils.timestampToDateFormat(siteTime.getExamTime(),"yyyy/MM/dd"));
  283. }else {
  284. export.setApplySiteExamTime("2021/10/21");
  285. export.setApplySiteTime("9:00-12:00");
  286. }
  287. List<UserSubscribeTrainExport> list = new ArrayList<>();
  288. list.add(export);
  289. ExcelUtil<UserSubscribeTrainExport> util = new ExcelUtil<UserSubscribeTrainExport>(UserSubscribeTrainExport.class);
  290. map.put("demoExcel",util.exportEasyExcel(util.exportEasyData(list), bo.getApplyName()+"新增预约模板"+timeStr));
  291. }
  292. return AjaxResult.success(map);
  293. }
  294. /**
  295. * 导出登记模板
  296. */
  297. @ApiOperation("导出登记模板")
  298. @PreAuthorize("@ss.hasPermi('system:profile:export')")
  299. @Log(title = "导出登记模板", businessType = BusinessType.EXPORT)
  300. @GetMapping("/exportRegister")
  301. public AjaxResult exportRegister(UserSubscribeExportBo bo) {
  302. UserSubscribeQueryBo userSubscribeQueryBo = new UserSubscribeQueryBo();
  303. userSubscribeQueryBo.setApplyId(bo.getApplyId());
  304. userSubscribeQueryBo.setApplySiteAddress(bo.getApplySiteAddress());
  305. if (CollectionUtils.isNotEmpty(bo.getIdCards())){
  306. userSubscribeQueryBo.setIdCards(bo.getIdCards());
  307. }
  308. userSubscribeQueryBo.setSubscribeStatus(1);
  309. List<UserSubscribeVo> list = iUserSubscribeService.listSubscribe(userSubscribeQueryBo);
  310. List<UserSubscribeExportVo> eList = new ArrayList<>();
  311. for(UserSubscribeVo vo : list){
  312. UserSubscribeExportVo export = BeanUtil.toBean(vo, UserSubscribeExportVo.class);
  313. export.setSubscribeStatus("正常");
  314. if(vo.getExamStatus()==0){
  315. export.setExamStatus("待登记");
  316. }
  317. else if(vo.getExamStatus()==1){
  318. export.setExamStatus("正常");
  319. }
  320. else if(vo.getExamStatus()==2){
  321. export.setExamStatus("缺考");
  322. }
  323. else if(vo.getExamStatus()==3){
  324. export.setExamStatus("作弊");
  325. }
  326. else if(vo.getExamStatus()==4){
  327. export.setExamStatus("替考");
  328. }
  329. if(Validator.isNotEmpty(vo.getResult())){
  330. if(vo.getResult()==1){
  331. export.setResult("通过");
  332. }
  333. else if(vo.getResult()==0){
  334. export.setResult("不通过");
  335. }
  336. }
  337. export.setApplySiteExamTime(DateUtils.timestampToDateFormat(vo.getApplySiteExamTime()));
  338. export.setApplySiteTime(vo.getApplySiteStartTime()+"-"+vo.getApplySiteEndTime());
  339. eList.add(export);
  340. }
  341. String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
  342. ExcelUtil<UserSubscribeExportVo> util = new ExcelUtil<UserSubscribeExportVo>(UserSubscribeExportVo.class);
  343. return util.exportEasyExcel(util.exportEasyData(eList), bo.getApplyName()+"登记数据"+timeStr);
  344. }
  345. /**
  346. * 导出新增预约模板
  347. */
  348. @ApiOperation("导出错误数据")
  349. @PreAuthorize("@ss.hasPermi('system:profile:export')")
  350. @Log(title = "导出错误数据", businessType = BusinessType.EXPORT)
  351. @PostMapping("/exportErrorNew")
  352. public AjaxResult<Map<String,Object>> exportErrorNew(@RequestBody List<UserSubscribeExport> bo) {
  353. List<UserSubscribeExport> errorList = bo;
  354. ExcelUtil<UserSubscribeExport> util = new ExcelUtil<UserSubscribeExport>(UserSubscribeExport.class);
  355. String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  356. return util.exportEasyExcel(util.exportEasyData(errorList), "导出新增错误数据"+timeStr);
  357. }
  358. /**
  359. * 导出前培错误数据
  360. */
  361. @ApiOperation("导出新增含考培错误数据")
  362. @PreAuthorize("@ss.hasPermi('system:profile:export')")
  363. @Log(title = "导出新增含考培错误数据", businessType = BusinessType.EXPORT)
  364. @PostMapping("/exportErrorTrain")
  365. public AjaxResult<Map<String,Object>> exportErrorTrain(@RequestBody List<UserSubscribeTrainExport> bo) {
  366. List<UserSubscribeTrainExport> errorList = bo;
  367. ExcelUtil<UserSubscribeTrainExport> util = new ExcelUtil<UserSubscribeTrainExport>(UserSubscribeTrainExport.class);
  368. String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  369. return util.exportEasyExcel(util.exportEasyData(errorList), "导出新增含考培错误数据"+timeStr);
  370. }
  371. /**
  372. * 导出前培错误数据
  373. */
  374. @ApiOperation("导出登记错误数据")
  375. @PreAuthorize("@ss.hasPermi('system:profile:export')")
  376. @Log(title = "导出登记错误数据", businessType = BusinessType.EXPORT)
  377. @PostMapping("/exportErrorUpdate")
  378. public AjaxResult<Map<String,Object>> exportErrorUpdate(@RequestBody List<UserSubscribeErrorImport> bo) {
  379. List<UserSubscribeErrorImport> errorList = bo;
  380. ExcelUtil<UserSubscribeErrorImport> util = new ExcelUtil<UserSubscribeErrorImport>(UserSubscribeErrorImport.class);
  381. String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  382. return util.exportEasyExcel(util.exportEasyData(errorList), "导出登记错误数据"+timeStr);
  383. }
  384. @ApiOperation("导入前检查身份证是否存在")
  385. @PreAuthorize("@ss.hasPermi('system:apply:import')")
  386. @PostMapping("/checkIdCardData")
  387. public AjaxResult<List<UserSubscribeIdsImport>> checkIdCardData(@RequestBody UserSubscribeIdsImportCheck bo) throws Exception {
  388. return AjaxResult.success(iUserSubscribeService.checkIdsDataFilter(bo));
  389. }
  390. @ApiOperation("导出学员信息表")
  391. @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
  392. @GetMapping("/listUserExport")
  393. public AjaxResult<Map<String,Object>> listUserExport(UserSubscribeQueryBo bo) {
  394. Map<String,Object> map = iUserSubscribeService.listUserExport(bo);
  395. List<UserSubscribeStudentExportVo> list = (List<UserSubscribeStudentExportVo>)map.get("list");
  396. ExcelUtil<UserSubscribeStudentExportVo> util = new ExcelUtil<UserSubscribeStudentExportVo>(UserSubscribeStudentExportVo.class);
  397. map.put("excel",util.exportExcel(list, "学员信息表"));
  398. map.remove("list");
  399. return AjaxResult.success(map);
  400. }
  401. @ApiOperation("导出学员签到表")
  402. @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
  403. @GetMapping("/listSignExport")
  404. public AjaxResult listSignExport(UserSubscribeQueryBo bo) {
  405. Map<String,Object> map = iUserSubscribeService.listSignExport(bo);
  406. List<UserSubscribeSignExportVo> list = (List<UserSubscribeSignExportVo>)map.get("list");
  407. ExcelUtil<UserSubscribeSignExportVo> util = new ExcelUtil<UserSubscribeSignExportVo>(UserSubscribeSignExportVo.class);
  408. map.put("excel",util.exportExcel(list, "学员签到表"));
  409. map.remove("list");
  410. return AjaxResult.success(map);
  411. }
  412. @ApiOperation("导出学员承诺书")
  413. @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
  414. @GetMapping("/listLetterExport")
  415. public AjaxResult listLetterExport(UserSubscribeQueryBo bo) {
  416. Map<String,Object> map = iUserSubscribeService.listLetterExport(bo);
  417. List<UserSubscribeLetterExportVo> list = (List<UserSubscribeLetterExportVo>)map.get("list");
  418. ExcelUtil<UserSubscribeLetterExportVo> util = new ExcelUtil<UserSubscribeLetterExportVo>(UserSubscribeLetterExportVo.class);
  419. map.put("excel",util.exportExcel(list, "疫情防控承诺书"));
  420. map.remove("list");
  421. return AjaxResult.success(map);
  422. }
  423. }