FinanceTransferController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.crm.manager.controller;
  2. import com.crm.manager.dto.export.FinanceTransferExportDto;
  3. import com.crm.manager.dto.export.FinanceWithdrawExportDto;
  4. import com.crm.manager.service.finance.FinanceTransferFeignService;
  5. import com.crm.rely.backend.core.constant.Constants;
  6. import com.crm.rely.backend.core.dto.base.BaseResultDto;
  7. import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
  8. import com.crm.rely.backend.core.dto.finance.transfer.FinanceTransferSearchDto;
  9. import com.crm.rely.backend.core.dto.finance.withdraw.FinanceWithdrawDto;
  10. import com.crm.rely.backend.core.entity.base.SingleLongEntity;
  11. import com.crm.rely.backend.core.entity.finance.transfer.FinanceTransferApproveEntity;
  12. import com.crm.rely.backend.core.entity.finance.transfer.FinanceTransferDeleteEntity;
  13. import com.crm.rely.backend.core.entity.finance.transfer.FinanceTransferSearchEntity;
  14. import com.crm.rely.backend.core.entity.finance.withdraw.FinanceAgentWithdrawSearchListEntity;
  15. import com.crm.rely.backend.core.entity.finance.withdraw.FinanceWithdrawSearchListEntity;
  16. import com.crm.rely.backend.util.DateUtil;
  17. import com.crm.rely.backend.util.ExportUtil;
  18. import com.crm.rely.backend.util.FileProcessUtil;
  19. import com.google.common.base.Strings;
  20. import com.google.common.collect.Lists;
  21. import org.springframework.beans.BeanUtils;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.util.StringUtils;
  24. import org.springframework.validation.annotation.Validated;
  25. import org.springframework.web.bind.annotation.*;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.math.BigDecimal;
  28. import java.text.SimpleDateFormat;
  29. import java.util.Date;
  30. import java.util.List;
  31. /**
  32. * @description: 内转
  33. * @author: houn
  34. * @create: 2020-07-07 18:01
  35. **/
  36. @RestController
  37. @RequestMapping("/finance/transfer")
  38. public class FinanceTransferController {
  39. @Autowired
  40. private FinanceTransferFeignService financeTransferFeignService;
  41. @PostMapping("/approve")
  42. public BaseResultDto approve(@RequestBody @Validated FinanceTransferApproveEntity entity) throws Exception {
  43. return financeTransferFeignService.approve(entity);
  44. }
  45. // @PostMapping("/approve/manager")
  46. // public BaseResultDto approveByManager(@RequestBody @Validated FinanceSynonymTransferApproveManagerEntity
  47. // entity) throws Exception {
  48. // if (!Constants.MANAGER_COMPLETED_STATUS.equals(entity.getDepositStatus())) {
  49. // return BaseResultDto.error(Constants.NOT_PERMIT);
  50. // }
  51. // entity.setDepositStatus(Constants.MANAGER_COMPLETED_STATUS);
  52. // entity.setWithdrawStatus(Constants.MANAGER_COMPLETED_STATUS);
  53. // financeTransferService.approve(entity);
  54. // return BaseResultDto.success();
  55. // }
  56. @PostMapping("/delete")
  57. public BaseResultDto delete(@RequestBody @Validated FinanceTransferDeleteEntity entity) throws Exception {
  58. return financeTransferFeignService.delete(entity);
  59. }
  60. @PostMapping("/searcher/list")
  61. public ResultWithPagerDto<FinanceTransferSearchDto> searcherList(@RequestBody @Validated FinanceTransferSearchEntity entity) throws Exception {
  62. ResultWithPagerDto<FinanceTransferSearchDto> resultWithPagerDto =
  63. financeTransferFeignService.searcherList(entity);
  64. return resultWithPagerDto;
  65. }
  66. @PostMapping("/searcher/single")
  67. public BaseResultDto searcherSingle(@RequestBody @Validated SingleLongEntity entity) throws Exception {
  68. BaseResultDto<FinanceTransferSearchDto> resultDto = financeTransferFeignService.searcherSingle(entity);
  69. return resultDto;
  70. }
  71. @GetMapping("/searcher/list/export")
  72. public void searcherListExport(@RequestParam(name = "startDate") String startDate,
  73. @RequestParam(name = "endDate") String endDate,
  74. @RequestParam(name = "cId") Long cId,
  75. @RequestParam(name = "status") String status,
  76. @RequestParam(name = "fromLogin") Long fromLogin,
  77. @RequestParam(name = "toLogin") Long toLogin,
  78. @RequestParam(name = "ibNo") String ibNo,
  79. HttpServletResponse response) throws Exception {
  80. FinanceTransferSearchEntity entity = new FinanceTransferSearchEntity();
  81. entity.setCId(cId);
  82. entity.setStatus(status);
  83. entity.setFromLogin(fromLogin);
  84. entity.setToLogin(toLogin);
  85. entity.setIbNo(ibNo);
  86. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  87. if (StringUtils.isEmpty(startDate)) {
  88. entity.setStartDate(DateUtil.getMonthStart(new Date()));
  89. } else {
  90. entity.setStartDate(sdf.parse(startDate));
  91. }
  92. if (StringUtils.isEmpty(endDate)) {
  93. entity.setEndDate(DateUtil.addDate(new Date(), 1));
  94. } else {
  95. entity.setEndDate(sdf.parse(endDate));
  96. }
  97. entity.setPage(null);
  98. if (StringUtils.isEmpty(entity.getStatus())) entity.setStatus(null);
  99. BaseResultDto<List<FinanceTransferSearchDto>> resultDto = financeTransferFeignService.export(entity);
  100. if (resultDto.getCode() == Constants.SUCCESS_CODE) {
  101. List<FinanceTransferSearchDto> dtos = resultDto.getData();
  102. List<FinanceTransferExportDto> exportDtos = Lists.newArrayList();
  103. dtos.forEach((item) -> {
  104. FinanceTransferExportDto exportDto = new FinanceTransferExportDto();
  105. BeanUtils.copyProperties(item, exportDto);
  106. exportDto.setCID(item.getCId());
  107. exportDto.setAmount(item.getAmount().multiply(new BigDecimal(-1)));
  108. exportDto.setIbNo(item.getPIbNo());
  109. exportDtos.add(exportDto);
  110. });
  111. ExportUtil.transferToResponse(FileProcessUtil.genExportFileName("CUSTOM_TRANSFER_EXPORT"), exportDtos,
  112. FinanceTransferExportDto.class, response);
  113. }
  114. }
  115. }