MetaResourcesController.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.config.MetaConstants;
  3. import com.izouma.nineth.domain.MetaResourceVersion;
  4. import com.izouma.nineth.domain.MetaResources;
  5. import com.izouma.nineth.dto.MetaRestResult;
  6. import com.izouma.nineth.service.MetaResourcesService;
  7. import com.izouma.nineth.dto.PageQuery;
  8. import com.izouma.nineth.exception.BusinessException;
  9. import com.izouma.nineth.repo.MetaResourcesRepo;
  10. import com.izouma.nineth.utils.ObjUtils;
  11. import com.izouma.nineth.utils.excel.ExcelUtils;
  12. import lombok.AllArgsConstructor;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.servlet.http.HttpServletResponse;
  17. import java.io.IOException;
  18. import java.util.List;
  19. import java.util.Objects;
  20. @RestController
  21. @RequestMapping("/metaResources")
  22. @AllArgsConstructor
  23. public class MetaResourcesController extends BaseController {
  24. private MetaResourcesService metaResourcesService;
  25. private MetaResourcesRepo metaResourcesRepo;
  26. //@PreAuthorize("hasRole('ADMIN')")
  27. @PostMapping("/save")
  28. public MetaResources save(@RequestBody MetaResources record) {
  29. MetaResources metaResources = metaResourcesRepo.findByNameAndDel(record.getName(), false);
  30. if (Objects.nonNull(metaResources) && !Objects.equals(metaResources.getId(), record.getId())) {
  31. throw new BusinessException("当前资源名称已经存在!");
  32. }
  33. if (record.getId() != null) {
  34. MetaResources orig = metaResourcesRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
  35. ObjUtils.merge(orig, record);
  36. return metaResourcesRepo.save(orig);
  37. }
  38. return metaResourcesRepo.save(record);
  39. }
  40. //@PreAuthorize("hasRole('ADMIN')")
  41. @PostMapping("/all")
  42. public Page<MetaResources> all(@RequestBody PageQuery pageQuery) {
  43. return metaResourcesService.all(pageQuery);
  44. }
  45. @GetMapping("/get/{id}")
  46. public MetaResources get(@PathVariable Long id) {
  47. return metaResourcesRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  48. }
  49. @PostMapping("/del/{id}")
  50. public void del(@PathVariable Long id) {
  51. metaResourcesRepo.softDelete(id);
  52. }
  53. @GetMapping("/excel")
  54. @ResponseBody
  55. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  56. List<MetaResources> data = all(pageQuery).getContent();
  57. ExcelUtils.export(response, data);
  58. }
  59. @GetMapping("/getUrl")
  60. public MetaRestResult<String> getUrl(String name) {
  61. MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
  62. if (Objects.isNull(metaResources)) {
  63. return MetaRestResult.returnError("不存在该名称的资源");
  64. }
  65. if (Objects.isNull(metaResources.getPic())) {
  66. return MetaRestResult.returnError("该名称的资源文件为空");
  67. }
  68. return MetaRestResult.returnSuccess("查询成功", metaResources.getPic().get(0).getUrl());
  69. }
  70. }