VaultodyController.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.crm.manager.controller;
  2. import com.crm.manager.service.VaultodyService;
  3. import com.crm.rely.backend.core.dto.base.BaseResultDto;
  4. import com.crm.rely.backend.model.dto.export.TransactionItemExport;
  5. import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsEntity;
  6. import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsSearchEntity;
  7. import com.crm.rely.backend.model.pojo.table.TransactionItemTable;
  8. import com.crm.rely.backend.util.ExportUtil;
  9. import com.crm.rely.backend.util.FileProcessUtil;
  10. import com.google.common.collect.Lists;
  11. import jakarta.servlet.http.HttpServletResponse;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.hibernate.service.spi.ServiceException;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import java.util.List;
  21. @RestController
  22. @RequestMapping("/vaultody")
  23. public class VaultodyController {
  24. @Autowired
  25. private VaultodyService vaultodyService;
  26. /**
  27. * 保险箱列表
  28. *
  29. */
  30. @PostMapping("/vaults/list")
  31. public BaseResultDto vaultsList() throws Exception {
  32. return vaultodyService.vaultsList();
  33. }
  34. /**
  35. * 保险箱交易详情分页查询
  36. * @param entity
  37. * @return
  38. * @throws Exception
  39. */
  40. @PostMapping("/transaction/search/list")
  41. public BaseResultDto searchList(@RequestBody VaultTransactionsSearchEntity entity) throws Exception {
  42. if (StringUtils.isBlank(entity.getVaultId())) {
  43. throw new ServiceException("vault_id_not_null_error");
  44. }
  45. return vaultodyService.searchList(entity);
  46. }
  47. /**
  48. * 导出保险箱交易记录
  49. * @param entity
  50. * @param response
  51. * @throws Exception
  52. */
  53. @PostMapping("/export")
  54. public void export(@RequestBody VaultTransactionsEntity entity, HttpServletResponse response) throws Exception {
  55. List<TransactionItemTable> items = vaultodyService.queryExportItems(entity);
  56. List<TransactionItemExport> exportDtos = Lists.newArrayList();
  57. for (TransactionItemTable item : items) {
  58. TransactionItemExport exportDto = new TransactionItemExport();
  59. BeanUtils.copyProperties(item, exportDto);
  60. exportDto.setTransactionId("https://tronscan.org/#/transaction/"+exportDto.getTransactionId());
  61. exportDtos.add(exportDto);
  62. }
  63. ExportUtil.transferToResponse(FileProcessUtil.genExportFileName("VAULTODY_VAULT_TRANSACTIONS"), exportDtos,
  64. TransactionItemExport.class, response);
  65. }
  66. }