MintActivityController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.MintActivity;
  3. import com.izouma.nineth.service.MintActivityService;
  4. import com.izouma.nineth.dto.PageQuery;
  5. import com.izouma.nineth.exception.BusinessException;
  6. import com.izouma.nineth.repo.MintActivityRepo;
  7. import com.izouma.nineth.utils.ObjUtils;
  8. import com.izouma.nineth.utils.excel.ExcelUtils;
  9. import lombok.AllArgsConstructor;
  10. import org.springframework.cache.annotation.Cacheable;
  11. import org.springframework.data.domain.Page;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. import java.util.List;
  17. @RestController
  18. @RequestMapping("/mintActivity")
  19. @AllArgsConstructor
  20. public class MintActivityController extends BaseController {
  21. private MintActivityService mintActivityService;
  22. private MintActivityRepo mintActivityRepo;
  23. @PreAuthorize("hasAnyRole('ADMIN','SAAS')")
  24. @PostMapping("/save")
  25. public MintActivity save(@RequestBody MintActivity record) {
  26. if (record.getRule() != null) mintActivityService.checkRule(record.getRule());
  27. if (record.getId() != null) {
  28. MintActivity orig = mintActivityRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
  29. orig.setName(record.getName());
  30. orig.setCover(record.getCover());
  31. orig.setMinterId(record.getMinterId());
  32. orig.setMinter(record.getMinter());
  33. orig.setMinterAvatar(record.getMinterAvatar());
  34. orig.setDetail(record.getDetail());
  35. orig.setAudit(record.isAudit());
  36. orig.setNum(record.getNum());
  37. orig.setCollectionName(record.getCollectionName());
  38. orig.setRule(record.getRule());
  39. orig.setConsume(record.isConsume());
  40. orig.setGasPrice(record.getGasPrice());
  41. orig.setAirDrop(record.isAirDrop());
  42. orig.setAutoDrop(record.isAutoDrop());
  43. orig.setOnShelf(record.isOnShelf());
  44. orig.setScheduleSale(record.isScheduleSale());
  45. orig.setStartTime(record.getStartTime());
  46. orig.setAutoDrop(record.isAutoDrop());
  47. orig.setAirDropCollectionId(record.getAirDropCollectionId());
  48. orig = mintActivityRepo.save(orig);
  49. mintActivityService.syncStock(record.getId());
  50. return orig;
  51. } else {
  52. record.setStock(record.getTotal());
  53. record = mintActivityRepo.save(record);
  54. mintActivityService.syncStock(record.getId());
  55. return record;
  56. }
  57. }
  58. //@PreAuthorize("hasRole('ADMIN')")
  59. @PostMapping("/all")
  60. public Page<MintActivity> all(@RequestBody PageQuery pageQuery) {
  61. return mintActivityService.all(pageQuery);
  62. }
  63. @GetMapping("/get/{id}")
  64. // @Cacheable(cacheNames = "mintActivity", key = "#id")
  65. public MintActivity get(@PathVariable Long id) {
  66. return mintActivityRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  67. }
  68. @PreAuthorize("hasAnyRole('ADMIN','SAAS')")
  69. @PostMapping("/del/{id}")
  70. public void del(@PathVariable Long id) {
  71. mintActivityRepo.softDelete(id);
  72. }
  73. @GetMapping("/excel")
  74. @ResponseBody
  75. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  76. List<MintActivity> data = all(pageQuery).getContent();
  77. ExcelUtils.export(response, data);
  78. }
  79. }