TestClassController.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.izouma.nineth.web;
  2. import com.fasterxml.jackson.annotation.JsonView;
  3. import com.izouma.nineth.domain.TestClass;
  4. import com.izouma.nineth.dto.PageQuery;
  5. import com.izouma.nineth.exception.BusinessException;
  6. import com.izouma.nineth.repo.TestClassRepo;
  7. import com.izouma.nineth.service.TestClassService;
  8. import com.izouma.nineth.utils.excel.ExcelUtils;
  9. import lombok.AllArgsConstructor;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.data.domain.Page;
  12. import org.springframework.web.bind.annotation.*;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.io.IOException;
  15. import java.util.List;
  16. @RestController
  17. @RequestMapping("/testClass")
  18. @AllArgsConstructor
  19. @Slf4j
  20. public class TestClassController extends BaseController {
  21. private TestClassService testClassService;
  22. private TestClassRepo testClassRepo;
  23. //@PreAuthorize("hasRole('ADMIN')")
  24. @PostMapping("/save")
  25. public TestClass save() {
  26. long ts = System.currentTimeMillis();
  27. TestClass t = new TestClass("aaa");
  28. log.info("create testClass {}ms", System.currentTimeMillis() - ts);
  29. ts = System.currentTimeMillis();
  30. t = testClassRepo.save(t);
  31. log.info("save testClass {}ms", System.currentTimeMillis() - ts);
  32. return t;
  33. }
  34. @PostMapping("/save1")
  35. public void save1() {
  36. testClassRepo.nativeSave("aaa");
  37. }
  38. //@PreAuthorize("hasRole('ADMIN')")
  39. @GetMapping("/all")
  40. @JsonView(TestClass.View.Basic.class)
  41. public Page<TestClass> all(PageQuery pageQuery) {
  42. return testClassService.all(pageQuery);
  43. }
  44. @GetMapping("/get/{id}")
  45. @JsonView(TestClass.View.Basic.class)
  46. public TestClass get(@PathVariable Long id) {
  47. return testClassRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  48. }
  49. @GetMapping("/excel")
  50. @ResponseBody
  51. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  52. List<TestClass> data = all(pageQuery).getContent();
  53. ExcelUtils.export(response, data);
  54. }
  55. }