TCStatisticsController.java 3.8 KB

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