TCStatisticsController.java 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.qmth.distributed.print.api;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.qmth.boot.api.annotation.Aac;
  4. import com.qmth.boot.api.annotation.BOOL;
  5. import com.qmth.boot.api.constant.ApiConstant;
  6. import com.qmth.distributed.print.business.bean.result.EditResult;
  7. import com.qmth.distributed.print.business.entity.TCStatistics;
  8. import com.qmth.distributed.print.business.enums.StatisticsStatusEnum;
  9. import com.qmth.distributed.print.business.service.PrintCommonService;
  10. import com.qmth.distributed.print.business.service.TCStatisticsService;
  11. import com.qmth.distributed.print.business.templete.execute.AsyncStatisticsDataImportService;
  12. import com.qmth.teachcloud.common.contant.SystemConstant;
  13. import com.qmth.teachcloud.common.entity.SysUser;
  14. import com.qmth.teachcloud.common.entity.TBTask;
  15. import com.qmth.teachcloud.common.enums.TaskTypeEnum;
  16. import com.qmth.teachcloud.common.util.Result;
  17. import com.qmth.teachcloud.common.util.ResultUtil;
  18. import com.qmth.teachcloud.common.util.ServletUtil;
  19. import io.swagger.annotations.*;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RequestMethod;
  24. import org.springframework.web.bind.annotation.RequestParam;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import org.springframework.web.multipart.MultipartFile;
  27. import javax.annotation.Resource;
  28. import java.util.Map;
  29. import java.util.Objects;
  30. /**
  31. * <p>
  32. * 命题统计表 前端控制器
  33. * </p>
  34. *
  35. * @author wangliang
  36. * @since 2021-09-09
  37. */
  38. @Api(tags = "命题统计Controller")
  39. @RestController
  40. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.statistics}")
  41. //@Aac(auth = BOOL.FALSE, strict = BOOL.FALSE)
  42. public class TCStatisticsController {
  43. private final static Logger log = LoggerFactory.getLogger(TCStatisticsController.class);
  44. @Resource
  45. TCStatisticsService tcStatisticsService;
  46. @Resource
  47. PrintCommonService printCommonService;
  48. @Resource
  49. AsyncStatisticsDataImportService asyncStatisticsDataImportService;
  50. @ApiOperation(value = "命题计划统计-导入")
  51. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  52. @RequestMapping(value = "/import", method = RequestMethod.POST)
  53. public Result dataImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
  54. Map<String, Object> map = printCommonService.saveTask(file, TaskTypeEnum.STATISTICS_IMPORT);
  55. asyncStatisticsDataImportService.importTask(map);
  56. TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
  57. return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
  58. }
  59. @ApiOperation(value = "命题计划统计-列表")
  60. @ApiResponses({@ApiResponse(code = 200, message = "命题统计信息", response = TCStatistics.class)})
  61. @RequestMapping(value = "/list", method = RequestMethod.POST)
  62. public Result list(@ApiParam(value = "学院名称", required = false) @RequestParam(required = false) String collegeName,
  63. @ApiParam(value = "部门名称", required = false) @RequestParam(required = false) String teachingRoomName,
  64. @ApiParam(value = "完成状态", required = false) @RequestParam(required = false) StatisticsStatusEnum status,
  65. @ApiParam(value = "课程名称", required = false) @RequestParam(required = false) String courseName,
  66. @ApiParam(value = "任课老师名称", required = false) @RequestParam(required = false) String teacherName,
  67. @ApiParam(value = "页码", required = true) @RequestParam Integer pageNumber,
  68. @ApiParam(value = "数量", required = true) @RequestParam Integer pageSize) {
  69. SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
  70. return ResultUtil.ok(tcStatisticsService.list(new Page<>(pageNumber, pageSize), collegeName, teachingRoomName, status, courseName, teacherName, sysUser.getSchoolId()));
  71. }
  72. }