QuestionCollectionController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.miaxis.app.controller.question;
  2. import com.miaxis.common.annotation.Log;
  3. import com.miaxis.common.constant.Constants;
  4. import com.miaxis.common.core.controller.BaseController;
  5. import com.miaxis.common.core.domain.Response;
  6. import com.miaxis.common.core.page.ResponsePageInfo;
  7. import com.miaxis.common.enums.BusinessTypeEnum;
  8. import com.miaxis.common.utils.SecurityUtils;
  9. import com.miaxis.common.utils.poi.ExcelUtil;
  10. import com.miaxis.question.domain.QuestionCollection;
  11. import com.miaxis.question.dto.QuestionCollectionDTO;
  12. import com.miaxis.question.service.IQuestionCollectionService;
  13. import com.miaxis.score.domain.ScoreInfo;
  14. import io.swagger.annotations.*;
  15. import org.springframework.beans.BeanUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.ArrayList;
  19. import java.util.Arrays;
  20. import java.util.List;
  21. /**
  22. * 【collection】Controller
  23. *
  24. * @author miaxis
  25. * @date 2021-08-18
  26. */
  27. @RestController
  28. @RequestMapping(Constants.STUDENT_PREFIX+"/question/collection")
  29. @Api(tags={"【APP-题目收藏】"})
  30. public class QuestionCollectionController extends BaseController{
  31. @Autowired
  32. private IQuestionCollectionService questionCollectionService;
  33. /**
  34. * 查询collection列表
  35. */
  36. @GetMapping("/list")
  37. @ApiOperation("查询collection列表")
  38. @ApiImplicitParams({
  39. @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
  40. @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
  41. })
  42. public ResponsePageInfo<QuestionCollection> list(){
  43. startPage();
  44. QuestionCollection questionCollection = new QuestionCollection();
  45. questionCollection.setUserId(SecurityUtils.getLoginUser().getStudent().getId());
  46. List<QuestionCollection> list = questionCollectionService.selectQuestionCollectionList(questionCollection);
  47. return toResponsePageInfo(list);
  48. }
  49. /**
  50. * 导出collection列表
  51. */
  52. // @PreAuthorize("@ss.hasPermi('question:collection:export')")
  53. // @Log(title = "collection", businessType = BusinessTypeEnum.EXPORT)
  54. // @GetMapping("/export")
  55. // @ApiOperation("导出collection列表Excel")
  56. // public Response<String> export(@ModelAttribute QuestionCollection questionCollection){
  57. // List<QuestionCollection> list = questionCollectionService.selectQuestionCollectionList(questionCollection);
  58. // ExcelUtil<QuestionCollection> util = new ExcelUtil<QuestionCollection>(QuestionCollection.class);
  59. // return util.exportExcel(list, "collection");
  60. // }
  61. /**
  62. * 获取collection详细信息
  63. */
  64. // @PreAuthorize("@ss.hasPermi('question:collection:query')")
  65. @GetMapping(value = "/{id}")
  66. @ApiOperation("获取collection详细信息")
  67. public Response<QuestionCollection> getInfo(
  68. @ApiParam(name = "id", value = "collection参数", required = true)
  69. @PathVariable("id") Long id
  70. ){
  71. return Response.success(questionCollectionService.getById(id));
  72. }
  73. /**
  74. * 新增collection
  75. */
  76. @Log(title = "collection", businessType = BusinessTypeEnum.INSERT)
  77. @PostMapping
  78. @ApiOperation("新增collection")
  79. public Response<Integer> add(@RequestBody QuestionCollectionDTO questionCollectionDTO){
  80. QuestionCollection questionCollection = new QuestionCollection();
  81. BeanUtils.copyProperties(questionCollectionDTO,questionCollection);
  82. questionCollection.setUserId(SecurityUtils.getLoginUser().getStudent().getId());
  83. return toResponse(questionCollectionService.save(questionCollection) ? 1 : 0);
  84. }
  85. @PostMapping("collections")
  86. @ApiOperation("批量新增collection")
  87. public Response<Integer> collections(@RequestBody List<QuestionCollectionDTO> list){
  88. List<QuestionCollection> qlist = new ArrayList<QuestionCollection>();
  89. for (QuestionCollectionDTO questionCollectionDTO: list) {
  90. QuestionCollection questionCollection = new QuestionCollection();
  91. BeanUtils.copyProperties(questionCollectionDTO,questionCollection);
  92. questionCollection.setUserId(SecurityUtils.getLoginUser().getStudent().getId());
  93. qlist.add(questionCollection);
  94. }
  95. return toResponse(questionCollectionService.saveBatch(qlist) ? 1 : 0);
  96. }
  97. /**
  98. * 修改collection
  99. */
  100. // @PreAuthorize("@ss.hasPermi('question:collection:edit')")
  101. @Log(title = "collection", businessType = BusinessTypeEnum.UPDATE)
  102. @PutMapping
  103. @ApiOperation("修改collection")
  104. public Response<Integer> edit(@RequestBody QuestionCollectionDTO questionCollectionDTO){
  105. QuestionCollection questionCollection = new QuestionCollection();
  106. BeanUtils.copyProperties(questionCollectionDTO,questionCollection);
  107. questionCollection.setUserId(SecurityUtils.getLoginUser().getStudent().getId());
  108. return toResponse(questionCollectionService.updateById(questionCollection) ? 1 : 0);
  109. }
  110. /**
  111. * 删除collection
  112. */
  113. // @PreAuthorize("@ss.hasPermi('question:collection:remove')")
  114. @Log(title = "collection", businessType = BusinessTypeEnum.DELETE)
  115. @DeleteMapping("/{ids}")
  116. @ApiOperation("删除collection")
  117. public Response<Integer> remove(
  118. @ApiParam(name = "ids", value = "collectionids参数", required = true)
  119. @PathVariable Long[] ids
  120. ){
  121. return toResponse(questionCollectionService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
  122. }
  123. }