ReadyController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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.*;
  9. import com.qxgmat.dto.admin.request.ReadyArticleDto;
  10. import com.qxgmat.dto.admin.request.ReadyDataDto;
  11. import com.qxgmat.dto.admin.request.ReadyReadDto;
  12. import com.qxgmat.dto.admin.request.ReadyRoomDto;
  13. import com.qxgmat.help.ShiroHelp;
  14. import com.qxgmat.service.inline.*;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  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.HttpSession;
  24. import java.util.List;
  25. @RestController("AdminReadyController")
  26. @RequestMapping("/admin/ready")
  27. @Api(tags = "GetReady接口", description = "ready相关", produces = MediaType.APPLICATION_JSON_VALUE)
  28. public class ReadyController {
  29. private static final Logger logger = LoggerFactory.getLogger(QuestionController.class);
  30. @Autowired
  31. private ShiroHelp shiroHelp;
  32. @Autowired
  33. private ReadyArticleService readyArticleService;
  34. @Autowired
  35. private ReadyArticleCategoryService readyArticleCategoryService;
  36. @Autowired
  37. private ReadyRoomService readyRoomService;
  38. @Autowired
  39. private ReadyRoomAreaService readyRoomAreaService;
  40. @Autowired
  41. private ReadyReadService readyReadService;
  42. @Autowired
  43. private ReadyDataService readyDataService;
  44. @RequestMapping(value = "/category/all", method = RequestMethod.GET)
  45. @ApiOperation(value = "所有分类层级", httpMethod = "GET")
  46. public Response<List<ReadyArticleCategory>> allCategory(HttpSession session) {
  47. List<ReadyArticleCategory> p = readyArticleCategoryService.all();
  48. return ResponseHelp.success(p);
  49. }
  50. @RequestMapping(value = "/article/add", method = RequestMethod.POST)
  51. @ApiOperation(value = "添加文章", httpMethod = "POST")
  52. private Response<Boolean> addArticle(@RequestBody @Validated ReadyArticleDto dto){
  53. ReadyArticle entity = Transform.dtoToEntity(dto);
  54. if(entity.getCategoryId() == null || entity.getCategoryId() == 0){
  55. if (entity.getParentCategoryId() == null || entity.getParentCategoryId() == 0){
  56. // 添加一级标题
  57. ReadyArticleCategory category = readyArticleCategoryService.addCategory(dto.getParentCategory(), 0);
  58. entity.setParentCategoryId(category.getId());
  59. }
  60. // 添加二级标题
  61. ReadyArticleCategory category = readyArticleCategoryService.addCategory(dto.getCategory(), entity.getParentCategoryId());
  62. entity.setCategoryId(category.getId());
  63. }
  64. readyArticleService.add(entity);
  65. return ResponseHelp.success(true);
  66. }
  67. @RequestMapping(value = "/article/edit", method = RequestMethod.PUT)
  68. @ApiOperation(value = "修改文章", httpMethod = "PUT")
  69. private Response<Boolean> editArticle(@RequestBody @Validated ReadyArticleDto dto){
  70. ReadyArticle entity = Transform.dtoToEntity(dto);
  71. readyArticleService.edit(entity);
  72. return ResponseHelp.success(true);
  73. }
  74. @RequestMapping(value = "/article/delete", method = RequestMethod.DELETE)
  75. @ApiOperation(value = "删除文章", httpMethod = "DELETE")
  76. private Response<Boolean> deleteArticle(@RequestParam int id){
  77. readyArticleService.delete(id);
  78. return ResponseHelp.success(true);
  79. }
  80. @RequestMapping(value = "/article/detail", method = RequestMethod.GET)
  81. @ApiOperation(value = "文章详情", httpMethod = "GET")
  82. private Response<ReadyArticle> detailArticle(@RequestParam int id){
  83. ReadyArticle article = readyArticleService.get(id);
  84. return ResponseHelp.success(article);
  85. }
  86. @RequestMapping(value = "/article/list", method = RequestMethod.GET)
  87. @ApiOperation(value = "获取文章列表", httpMethod = "GET")
  88. private Response<PageMessage<ReadyArticle>> listArticle(
  89. @RequestParam(required = false, defaultValue = "1") int page,
  90. @RequestParam(required = false, defaultValue = "100") int size,
  91. @RequestParam(required = false) Integer parentCategoryId,
  92. @RequestParam(required = false) Integer categoryId,
  93. @RequestParam(required = false, defaultValue = "id") String order,
  94. @RequestParam(required = false, defaultValue = "desc") String direction
  95. ){
  96. Page<ReadyArticle> p = readyArticleService.listAdmin(page, size, parentCategoryId, categoryId, order, DirectionStatus.ValueOf(direction));
  97. return ResponseHelp.success(p, page, size, p.getTotal());
  98. }
  99. @RequestMapping(value = "/area/all", method = RequestMethod.GET)
  100. @ApiOperation(value = "所有区域层级", httpMethod = "GET")
  101. public Response<List<ReadyRoomArea>> allArea(HttpSession session) {
  102. List<ReadyRoomArea> p = readyRoomAreaService.all();
  103. return ResponseHelp.success(p);
  104. }
  105. @RequestMapping(value = "/room/add", method = RequestMethod.POST)
  106. @ApiOperation(value = "添加考场", httpMethod = "POST")
  107. private Response<Boolean> addRoom(@RequestBody @Validated ReadyRoomDto dto){
  108. ReadyRoom entity = Transform.dtoToEntity(dto);
  109. readyRoomService.add(entity);
  110. return ResponseHelp.success(true);
  111. }
  112. @RequestMapping(value = "/room/edit", method = RequestMethod.PUT)
  113. @ApiOperation(value = "修改考场", httpMethod = "PUT")
  114. private Response<Boolean> editRoom(@RequestBody @Validated ReadyRoomDto dto){
  115. ReadyRoom entity = Transform.dtoToEntity(dto);
  116. readyRoomService.edit(entity);
  117. return ResponseHelp.success(true);
  118. }
  119. @RequestMapping(value = "/room/delete", method = RequestMethod.DELETE)
  120. @ApiOperation(value = "删除考场", httpMethod = "DELETE")
  121. private Response<Boolean> deleteRoom(@RequestParam int id){
  122. readyRoomService.delete(id);
  123. return ResponseHelp.success(true);
  124. }
  125. @RequestMapping(value = "/room/detail", method = RequestMethod.GET)
  126. @ApiOperation(value = "考场详情", httpMethod = "GET")
  127. private Response<ReadyRoom> detailRoom(@RequestParam int id){
  128. ReadyRoom article = readyRoomService.get(id);
  129. return ResponseHelp.success(article);
  130. }
  131. @RequestMapping(value = "/room/list", method = RequestMethod.GET)
  132. @ApiOperation(value = "获取考场列表", httpMethod = "GET")
  133. private Response<PageMessage<ReadyRoom>> listRoom(
  134. @RequestParam(required = false, defaultValue = "1") int page,
  135. @RequestParam(required = false, defaultValue = "100") int size,
  136. @RequestParam(required = false) String position,
  137. @RequestParam(required = false) Integer areaId,
  138. @RequestParam(required = false, defaultValue = "id") String order,
  139. @RequestParam(required = false, defaultValue = "desc") String direction
  140. ){
  141. Page<ReadyRoom> p = readyRoomService.listAdmin(page, size, position, areaId, order, DirectionStatus.ValueOf(direction));
  142. return ResponseHelp.success(p, page, size, p.getTotal());
  143. }
  144. @RequestMapping(value = "/read/add", method = RequestMethod.POST)
  145. @ApiOperation(value = "添加文章", httpMethod = "POST")
  146. private Response<Boolean> addRead(@RequestBody @Validated ReadyReadDto dto){
  147. ReadyRead entity = Transform.dtoToEntity(dto);
  148. readyReadService.add(entity);
  149. return ResponseHelp.success(true);
  150. }
  151. @RequestMapping(value = "/read/edit", method = RequestMethod.PUT)
  152. @ApiOperation(value = "修改文章", httpMethod = "PUT")
  153. private Response<Boolean> editRead(@RequestBody @Validated ReadyReadDto dto){
  154. ReadyRead entity = Transform.dtoToEntity(dto);
  155. readyReadService.edit(entity);
  156. return ResponseHelp.success(true);
  157. }
  158. @RequestMapping(value = "/read/delete", method = RequestMethod.DELETE)
  159. @ApiOperation(value = "删除文章", httpMethod = "DELETE")
  160. private Response<Boolean> deleteRead(@RequestParam int id){
  161. readyReadService.delete(id);
  162. return ResponseHelp.success(true);
  163. }
  164. @RequestMapping(value = "/read/detail", method = RequestMethod.GET)
  165. @ApiOperation(value = "文章详情", httpMethod = "GET")
  166. private Response<ReadyRead> detailRead(@RequestParam int id){
  167. ReadyRead article = readyReadService.get(id);
  168. return ResponseHelp.success(article);
  169. }
  170. @RequestMapping(value = "/read/list", method = RequestMethod.GET)
  171. @ApiOperation(value = "获取文章列表", httpMethod = "GET")
  172. private Response<PageMessage<ReadyRead>> listRead(
  173. @RequestParam(required = false, defaultValue = "1") int page,
  174. @RequestParam(required = false, defaultValue = "100") int size,
  175. @RequestParam(required = false) String plate,
  176. @RequestParam(required = false, defaultValue = "id") String order,
  177. @RequestParam(required = false, defaultValue = "desc") String direction
  178. ){
  179. Page<ReadyRead> p = readyReadService.listAdmin(page, size, plate, order, DirectionStatus.ValueOf(direction));
  180. return ResponseHelp.success(p, page, size, p.getTotal());
  181. }
  182. @RequestMapping(value = "/data/add", method = RequestMethod.POST)
  183. @ApiOperation(value = "添加资料", httpMethod = "POST")
  184. private Response<Boolean> addData(@RequestBody @Validated ReadyDataDto dto){
  185. ReadyData entity = Transform.dtoToEntity(dto);
  186. readyDataService.add(entity);
  187. return ResponseHelp.success(true);
  188. }
  189. @RequestMapping(value = "/data/edit", method = RequestMethod.PUT)
  190. @ApiOperation(value = "修改文章", httpMethod = "PUT")
  191. private Response<Boolean> editData(@RequestBody @Validated ReadyDataDto dto){
  192. ReadyData entity = Transform.dtoToEntity(dto);
  193. readyDataService.edit(entity);
  194. return ResponseHelp.success(true);
  195. }
  196. @RequestMapping(value = "/data/delete", method = RequestMethod.DELETE)
  197. @ApiOperation(value = "删除文章", httpMethod = "DELETE")
  198. private Response<Boolean> deleteData(@RequestParam int id){
  199. readyDataService.delete(id);
  200. return ResponseHelp.success(true);
  201. }
  202. @RequestMapping(value = "/data/detail", method = RequestMethod.GET)
  203. @ApiOperation(value = "文章详情", httpMethod = "GET")
  204. private Response<ReadyData> detailData(@RequestParam int id){
  205. ReadyData entity = readyDataService.get(id);
  206. return ResponseHelp.success(entity);
  207. }
  208. @RequestMapping(value = "/data/list", method = RequestMethod.GET)
  209. @ApiOperation(value = "获取文章列表", httpMethod = "GET")
  210. private Response<PageMessage<ReadyData>> listData(
  211. @RequestParam(required = false, defaultValue = "1") int page,
  212. @RequestParam(required = false, defaultValue = "100") int size,
  213. @RequestParam(required = false) Boolean isOfficial,
  214. @RequestParam(required = false, defaultValue = "id") String order,
  215. @RequestParam(required = false, defaultValue = "desc") String direction
  216. ){
  217. Page<ReadyData> p = readyDataService.listAdmin(page, size, isOfficial, order, DirectionStatus.ValueOf(direction));
  218. return ResponseHelp.success(p, page, size, p.getTotal());
  219. }
  220. }