PreviewController.java 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.qxgmat.controller.admin;
  2. import com.github.pagehelper.Page;
  3. import com.nuliji.tools.PageMessage;
  4. import com.nuliji.tools.Response;
  5. import com.nuliji.tools.ResponseHelp;
  6. import com.nuliji.tools.Transform;
  7. import com.qxgmat.data.constants.enums.status.HomeworkPreviewStatus;
  8. import com.qxgmat.data.dao.entity.HomeworkPreview;
  9. import com.qxgmat.data.relation.entity.QuestionNoRelation;
  10. import com.qxgmat.dto.admin.extend.QuestionNoExtendDto;
  11. import com.qxgmat.dto.admin.request.HomeworkPreviewDto;
  12. import com.qxgmat.dto.admin.response.HomeworkPreviewDetailDto;
  13. import com.qxgmat.dto.admin.response.HomeworkPreviewListDto;
  14. import com.qxgmat.service.HomeworkPreviewService;
  15. import com.qxgmat.service.inline.ManagerLogService;
  16. import com.qxgmat.service.inline.QuestionNoService;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.http.MediaType;
  21. import org.springframework.validation.annotation.Validated;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.servlet.http.HttpServletRequest;
  24. import javax.servlet.http.HttpSession;
  25. import java.util.List;
  26. @RestController("AdminPreviewController")
  27. @RequestMapping("/admin/preview")
  28. @Api(tags = "预习作业接口", description = "设置预习作业", produces = MediaType.APPLICATION_JSON_VALUE)
  29. public class PreviewController {
  30. @Autowired
  31. private ManagerLogService managerLogService;
  32. @Autowired
  33. private HomeworkPreviewService homeworkPreviewService;
  34. @Autowired
  35. private QuestionNoService questionNoService;
  36. @RequestMapping(value = "/add", method = RequestMethod.POST)
  37. @ApiOperation(value = "添加预习作业", httpMethod = "POST")
  38. public Response<HomeworkPreview> add(@RequestBody @Validated HomeworkPreviewDto dto, HttpServletRequest request) {
  39. HomeworkPreview entity = Transform.dtoToEntity(dto);
  40. entity = homeworkPreviewService.edit(entity);
  41. managerLogService.log(request);
  42. return ResponseHelp.success(entity);
  43. }
  44. @RequestMapping(value = "/edit", method = RequestMethod.PUT)
  45. @ApiOperation(value = "编辑预习作业", httpMethod = "PUT")
  46. public Response<Boolean> edit(@RequestBody @Validated HomeworkPreviewDto dto, HttpServletRequest request) {
  47. HomeworkPreview entity = Transform.dtoToEntity(dto);
  48. entity = homeworkPreviewService.edit(entity);
  49. managerLogService.log(request);
  50. return ResponseHelp.success(true);
  51. }
  52. @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
  53. @ApiOperation(value = "删除预习作业", httpMethod = "DELETE")
  54. public Response<Boolean> delete(@RequestParam int id, HttpServletRequest request) {
  55. managerLogService.log(request);
  56. return ResponseHelp.success(homeworkPreviewService.delete(id));
  57. }
  58. @RequestMapping(value = "/detail", method = RequestMethod.GET)
  59. @ApiOperation(value = "获取预习作业", httpMethod = "GET")
  60. public Response<HomeworkPreviewDetailDto> detail(@RequestParam int id, HttpSession session) {
  61. HomeworkPreview entity = homeworkPreviewService.get(id);
  62. HomeworkPreviewDetailDto dto = Transform.convert(entity, HomeworkPreviewDetailDto.class);
  63. List<QuestionNoRelation> questionNos = questionNoService.listByIds(entity.getQuestionNoIds());
  64. List<QuestionNoExtendDto> questionNoExtendDtos = Transform.convert(questionNos, QuestionNoExtendDto.class);
  65. dto.setQuestionNos(questionNoExtendDtos);
  66. return ResponseHelp.success(dto);
  67. }
  68. @RequestMapping(value = "/list", method = RequestMethod.GET)
  69. @ApiOperation(value = "预习作业列表", httpMethod = "GET")
  70. public Response<PageMessage<HomeworkPreviewListDto>> list(
  71. @RequestParam(required = false, defaultValue = "1") int page,
  72. @RequestParam(required = false, defaultValue = "100") int size,
  73. @RequestParam(required = false) Integer category,
  74. @RequestParam(required = false) Integer status,
  75. HttpSession session) {
  76. Page<HomeworkPreview> p = homeworkPreviewService.select(page, size, category, HomeworkPreviewStatus.ValueOf(status));
  77. List<HomeworkPreviewListDto> pr = Transform.convert(p, HomeworkPreviewListDto.class);
  78. return ResponseHelp.success(pr, page, size, p.getTotal());
  79. }
  80. }