SentenceController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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.dao.entity.Question;
  8. import com.qxgmat.data.dao.entity.SentenceArticle;
  9. import com.qxgmat.data.dao.entity.SentenceQuestion;
  10. import com.qxgmat.data.relation.entity.SentenceQuestionRelation;
  11. import com.qxgmat.dto.admin.request.ManagerDto;
  12. import com.qxgmat.service.SentencePaperService;
  13. import com.qxgmat.service.inline.ManagerLogService;
  14. import com.qxgmat.service.inline.QuestionService;
  15. import com.qxgmat.service.inline.SentenceArticleService;
  16. import com.qxgmat.service.inline.SentenceQuestionService;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  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("AdminSentenceController")
  26. @RequestMapping("/admin/sentence")
  27. public class SentenceController {
  28. @Autowired
  29. private ManagerLogService managerLogService;
  30. @Autowired
  31. private SentenceQuestionService sentenceQuestionService;
  32. @Autowired
  33. private SentencePaperService sentencePaperService;
  34. @Autowired
  35. private SentenceArticleService sentenceArticleService;
  36. @Autowired
  37. private QuestionService questionService;
  38. @RequestMapping(value = "/article/add", method = RequestMethod.POST)
  39. @ApiOperation(value = "添加长难句文章", httpMethod = "POST")
  40. public Response<SentenceArticle> addArticle(@RequestBody @Validated ManagerDto dto, HttpServletRequest request) {
  41. SentenceArticle entity = Transform.dtoToEntity(dto);
  42. entity = sentenceArticleService.add(entity);
  43. managerLogService.log(request);
  44. return ResponseHelp.success(Transform.convert(entity, SentenceArticle.class));
  45. }
  46. @RequestMapping(value = "/article/edit", method = RequestMethod.PUT)
  47. @ApiOperation(value = "编辑长难句文章", httpMethod = "PUT")
  48. public Response<Boolean> editArticle(@RequestBody @Validated ManagerDto dto, HttpServletRequest request) {
  49. SentenceArticle entity = Transform.dtoToEntity(dto);
  50. entity = sentenceArticleService.edit(entity);
  51. managerLogService.log(request);
  52. return ResponseHelp.success(true);
  53. }
  54. @RequestMapping(value = "/article/delete", method = RequestMethod.DELETE)
  55. @ApiOperation(value = "删除长难句文章", httpMethod = "DELETE")
  56. public Response<Boolean> deleteArticle(@RequestParam int id, HttpServletRequest request) {
  57. managerLogService.log(request);
  58. return ResponseHelp.success(sentenceArticleService.delete(id));
  59. }
  60. @RequestMapping(value = "/article/detail", method = RequestMethod.GET)
  61. @ApiOperation(value = "获取长难句文章", httpMethod = "GET")
  62. public Response<SentenceArticle> detailArticle(@RequestParam int id, HttpSession session) {
  63. SentenceArticle entity = sentenceArticleService.selectOne(id);
  64. return ResponseHelp.success(Transform.convert(entity, SentenceArticle.class));
  65. }
  66. @RequestMapping(value = "/article/list", method = RequestMethod.GET)
  67. @ApiOperation(value = "长难句文章列表", httpMethod = "GET")
  68. public Response<PageMessage<SentenceArticle>> listArticle(
  69. @RequestParam(required = false, defaultValue = "1") int page,
  70. @RequestParam(required = false, defaultValue = "100") int size,
  71. @RequestParam(required = false, defaultValue = "") int chapter,
  72. @RequestParam(required = false, defaultValue = "desc") int part,
  73. HttpSession session) {
  74. Page<SentenceArticle> p = sentenceArticleService.select(page, size, chapter, part);
  75. List<SentenceArticle> pr = Transform.convert(p, SentenceArticle.class);
  76. return ResponseHelp.success(pr, page, size, p.getTotal());
  77. }
  78. @RequestMapping(value = "/question/add", method = RequestMethod.POST)
  79. @ApiOperation(value = "添加长难句题目", httpMethod = "POST")
  80. public Response<SentenceQuestion> addQuestion(@RequestBody @Validated SentenceQuestionRelation dto, HttpServletRequest request) {
  81. // SentenceQuestion entity = Transform.dtoToEntity(dto);
  82. SentenceQuestion entity = sentencePaperService.addQuestion(dto);
  83. managerLogService.log(request);
  84. return ResponseHelp.success(entity);
  85. }
  86. @RequestMapping(value = "/question/edit", method = RequestMethod.PUT)
  87. @ApiOperation(value = "修改长难句题目", httpMethod = "PUT")
  88. public Response<Boolean> editQuestion(@RequestBody @Validated SentenceQuestionRelation dto, HttpServletRequest request) {
  89. // SentenceQuestion entity = Transform.dtoToEntity(dto);
  90. SentenceQuestion entity = sentencePaperService.editQuestion(dto);
  91. managerLogService.log(request);
  92. return ResponseHelp.success(true);
  93. }
  94. // @RequestMapping(value = "/question/delete", method = RequestMethod.DELETE)
  95. // @ApiOperation(value = "删除长难句题目", httpMethod = "DELETE")
  96. // public Response<Boolean> deleteQuestion(@RequestParam int id, HttpServletRequest request) {
  97. // managerLogService.log(request);
  98. // return ResponseHelp.success(sentenceQuestionService.delete(id));
  99. // }
  100. @RequestMapping(value = "/question/detail", method = RequestMethod.GET)
  101. @ApiOperation(value = "获取长难句题目", httpMethod = "GET")
  102. public Response<SentenceQuestionRelation> detailQuestion(@RequestParam int id, HttpSession session) {
  103. SentenceQuestion entity = sentenceQuestionService.selectOne(id);
  104. SentenceQuestionRelation relation = Transform.convert(entity, SentenceQuestionRelation.class);
  105. relation.setQuestion(questionService.selectOne(relation.getQuestionId()));
  106. return ResponseHelp.success(relation);
  107. }
  108. @RequestMapping(value = "/question/list", method = RequestMethod.GET)
  109. @ApiOperation(value = "长难句题目列表", httpMethod = "GET")
  110. public Response<PageMessage<SentenceQuestionRelation>> listQuestion(
  111. @RequestParam(required = false, defaultValue = "1") int page,
  112. @RequestParam(required = false, defaultValue = "100") int size,
  113. @RequestParam(required = false, defaultValue = "0") int chapter,
  114. @RequestParam(required = false, defaultValue = "0") int part,
  115. HttpSession session) {
  116. Page<SentenceQuestion> p = sentenceQuestionService.select(page, size, chapter, part);
  117. List<SentenceQuestionRelation> pr = Transform.convert(p, SentenceQuestionRelation.class);
  118. // 绑定题目
  119. Collection ids = Transform.getIds(p, SentenceQuestion.class, "questionId");
  120. List<Question> questionList = questionService.select(ids);
  121. Transform.combine(pr, questionList, SentenceQuestionRelation.class, "questionId", "question", Question.class, "id");
  122. return ResponseHelp.success(pr, page, size, p.getTotal());
  123. }
  124. }