MintActivityController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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.service.SysConfigService;
  8. import com.izouma.nineth.utils.ObjUtils;
  9. import com.izouma.nineth.utils.excel.ExcelUtils;
  10. import lombok.AllArgsConstructor;
  11. import org.springframework.cache.annotation.Cacheable;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.security.access.prepost.PreAuthorize;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.IOException;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. @RestController
  20. @RequestMapping("/mintActivity")
  21. @AllArgsConstructor
  22. public class MintActivityController extends BaseController {
  23. private MintActivityService mintActivityService;
  24. private MintActivityRepo mintActivityRepo;
  25. private SysConfigService sysConfigService;
  26. @PreAuthorize("hasAnyRole('ADMIN','SAAS')")
  27. @PostMapping("/save")
  28. public MintActivity save(@RequestBody MintActivity record) {
  29. if (record.getRule() != null) mintActivityService.checkRule(record.getRule());
  30. if (record.getId() != null) {
  31. MintActivity orig = mintActivityRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
  32. orig.setName(record.getName());
  33. orig.setCover(record.getCover());
  34. orig.setMinterId(record.getMinterId());
  35. orig.setMinter(record.getMinter());
  36. orig.setMinterAvatar(record.getMinterAvatar());
  37. orig.setDetail(record.getDetail());
  38. orig.setAudit(record.isAudit());
  39. orig.setNum(record.getNum());
  40. orig.setCollectionName(record.getCollectionName());
  41. orig.setRule(record.getRule());
  42. orig.setConsume(record.isConsume());
  43. orig.setGasPrice(record.getGasPrice());
  44. orig.setAirDrop(record.isAirDrop());
  45. orig.setAutoDrop(record.isAutoDrop());
  46. orig.setOnShelf(record.isOnShelf());
  47. orig.setScheduleSale(record.isScheduleSale());
  48. orig.setStartTime(record.getStartTime());
  49. orig.setAutoDrop(record.isAutoDrop());
  50. orig.setAirDropCollectionId(record.getAirDropCollectionId());
  51. orig = mintActivityRepo.save(orig);
  52. mintActivityService.syncStock(record.getId());
  53. return orig;
  54. } else {
  55. record.setStock(record.getTotal());
  56. record = mintActivityRepo.save(record);
  57. mintActivityService.syncStock(record.getId());
  58. return record;
  59. }
  60. }
  61. //@PreAuthorize("hasRole('ADMIN')")
  62. @PostMapping("/all")
  63. public Page<MintActivity> all(@RequestBody PageQuery pageQuery) {
  64. return mintActivityService.all(pageQuery);
  65. }
  66. @GetMapping("/get/{id}")
  67. // @Cacheable(cacheNames = "mintActivity", key = "#id")
  68. public MintActivity get(@PathVariable Long id) {
  69. MintActivity mintActivity = mintActivityRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  70. // String mintCountCollection = sysConfigService.getString("mint_countCollection");
  71. // String regex = ",";
  72. // String[] split = mintCountCollection.split(regex);
  73. // if (Arrays.asList(split).contains(String.valueOf(id))) {
  74. // // Id在split数组中
  75. // return mintActivity;
  76. // } else {
  77. // // Id不在split数组中
  78. mintActivity.setVTotal(mintActivity.getTotal());
  79. mintActivity.setTotal(0);
  80. return mintActivity;
  81. // }
  82. }
  83. @PreAuthorize("hasAnyRole('ADMIN','SAAS')")
  84. @PostMapping("/del/{id}")
  85. public void del(@PathVariable Long id) {
  86. mintActivityRepo.softDelete(id);
  87. }
  88. @GetMapping("/excel")
  89. @ResponseBody
  90. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  91. List<MintActivity> data = all(pageQuery).getContent();
  92. ExcelUtils.export(response, data);
  93. }
  94. }