ExaminationController.java 4.4 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.DirectionStatus;
  8. import com.qxgmat.data.dao.entity.ExaminationStruct;
  9. import com.qxgmat.data.relation.entity.QuestionNoRelation;
  10. import com.qxgmat.dto.admin.request.ExaminationStructDto;
  11. import com.qxgmat.dto.admin.response.ExaminationQuestionListDto;
  12. import com.qxgmat.service.extend.ExaminationService;
  13. import com.qxgmat.service.inline.ExaminationStructService;
  14. import com.qxgmat.service.inline.ManagerLogService;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.http.MediaType;
  19. import org.springframework.validation.annotation.Validated;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpSession;
  23. import java.util.Collection;
  24. import java.util.List;
  25. @RestController("AdminExaminationController")
  26. @RequestMapping("/admin/examination")
  27. @Api(tags = "模考接口", description = "模考相关", produces = MediaType.APPLICATION_JSON_VALUE)
  28. public class ExaminationController {
  29. @Autowired
  30. private ManagerLogService managerLogService;
  31. @Autowired
  32. private ExaminationStructService examinationStructService;
  33. @Autowired
  34. private ExaminationService examinationService;
  35. @RequestMapping(value = "/struct/add", method = RequestMethod.POST)
  36. @ApiOperation(value = "添加模考层级", httpMethod = "POST")
  37. public Response<ExaminationStruct> add(@RequestBody @Validated ExaminationStructDto dto, HttpServletRequest request) {
  38. ExaminationStruct entity = Transform.dtoToEntity(dto);
  39. entity = examinationStructService.addPaper(entity);
  40. managerLogService.log(request);
  41. return ResponseHelp.success(entity);
  42. }
  43. @RequestMapping(value = "/struct/edit", method = RequestMethod.PUT)
  44. @ApiOperation(value = "编辑模考层级", httpMethod = "PUT")
  45. public Response<Boolean> edit(@RequestBody @Validated ExaminationStructDto dto, HttpServletRequest request) {
  46. ExaminationStruct entity = Transform.dtoToEntity(dto);
  47. entity = examinationStructService.editPaper(entity);
  48. managerLogService.log(request);
  49. return ResponseHelp.success(true);
  50. }
  51. @RequestMapping(value = "/struct/delete", method = RequestMethod.DELETE)
  52. @ApiOperation(value = "删除模考层级", httpMethod = "DELETE")
  53. public Response<Boolean> delete(@RequestParam int id, HttpServletRequest request) {
  54. boolean result = examinationStructService.deletePaper(id);
  55. managerLogService.log(request);
  56. return ResponseHelp.success(result);
  57. }
  58. @RequestMapping(value = "/struct/all", method = RequestMethod.GET)
  59. @ApiOperation(value = "所有模考层级", httpMethod = "GET")
  60. public Response<List<ExaminationStruct>> all(HttpSession session) {
  61. List<ExaminationStruct> p = examinationStructService.all();
  62. return ResponseHelp.success(p);
  63. }
  64. @RequestMapping(value = "/question/list", method = RequestMethod.GET)
  65. @ApiOperation(value = "模考试题列表", httpMethod = "GET")
  66. public Response<PageMessage<ExaminationQuestionListDto>> listQuestion(
  67. @RequestParam(required = false, defaultValue = "1") int page,
  68. @RequestParam(required = false, defaultValue = "100") int size,
  69. @RequestParam(required = false) String questionType,
  70. @RequestParam(required = false) Integer structId,
  71. @RequestParam(required = false) Integer questionNoId,
  72. @RequestParam(required = false) Integer paperId,
  73. @RequestParam(required = false) String place,
  74. @RequestParam(required = false) String difficult,
  75. @RequestParam(required = false, defaultValue = "id") String order,
  76. @RequestParam(required = false, defaultValue = "desc") String direction,
  77. HttpSession session) {
  78. Page<QuestionNoRelation> p = examinationService.listAdmin(page, size, questionType, structId, questionNoId, paperId, place, difficult, order, DirectionStatus.ValueOf(direction));
  79. List<ExaminationQuestionListDto> pr = Transform.convert(p, ExaminationQuestionListDto.class);
  80. return ResponseHelp.success(pr, page, size, p.getTotal());
  81. }
  82. }