FinanceTradeInterestController.java 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.crm.manager.controller;
  2. import com.crm.manager.dto.export.FinanceTradeInterestExportDto;
  3. import com.crm.manager.service.finance.FinanceTradeInterestFeignService;
  4. import com.crm.rely.backend.core.dto.base.BaseResultDto;
  5. import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
  6. import com.crm.rely.backend.core.dto.finance.trade.interest.FinanceTradeInterestDto;
  7. import com.crm.rely.backend.core.entity.base.SingleLongEntity;
  8. import com.crm.rely.backend.core.entity.finance.trade.interest.FinanceTradeInterestAddEntity;
  9. import com.crm.rely.backend.core.entity.finance.trade.interest.FinanceTradeInterestSearchListEntity;
  10. import com.crm.rely.backend.util.ExportUtil;
  11. import com.crm.rely.backend.util.StringUtil;
  12. import com.google.common.collect.Lists;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.text.SimpleDateFormat;
  19. import java.util.List;
  20. /**
  21. * @description:
  22. * @author: houn
  23. * @create: 2022-04-11 18:01
  24. **/
  25. @RestController
  26. @RequestMapping("/finance/trade/interest")
  27. public class FinanceTradeInterestController {
  28. @Autowired
  29. private FinanceTradeInterestFeignService feignService;
  30. @PostMapping("/add")
  31. public BaseResultDto managerAdd(@RequestBody @Validated FinanceTradeInterestAddEntity entity) throws Exception {
  32. return feignService.add(entity);
  33. }
  34. @PostMapping("/searcher/list")
  35. public BaseResultDto searcherList(@RequestBody @Validated FinanceTradeInterestSearchListEntity entity) throws Exception {
  36. ResultWithPagerDto<FinanceTradeInterestDto> resultWithPagerDto = feignService.searcherList(entity);
  37. return resultWithPagerDto;
  38. }
  39. @GetMapping("/history/export")
  40. public void tradeHistoryExport(@RequestParam(name = "login") Long login,
  41. @RequestParam(name = "cId") Long cId,
  42. @RequestParam(name = "startDate") String startDate,
  43. @RequestParam(name = "endDate") String endDate,
  44. @RequestParam(name = "platform") String platform,
  45. @RequestParam(name = "status") Integer status,
  46. HttpServletResponse response) throws Exception {
  47. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
  48. FinanceTradeInterestSearchListEntity entity = new FinanceTradeInterestSearchListEntity();
  49. entity.setLogin(login);
  50. entity.setCId(cId);
  51. entity.setStatus(status);
  52. entity.setStartDate(startDate == null ? null : simpleDateFormat.parse(startDate));
  53. entity.setEndDate(endDate == null ? null : simpleDateFormat.parse(endDate));
  54. entity.setPlatform(platform);
  55. BaseResultDto<List<FinanceTradeInterestDto>> resultDto = feignService.export(entity);
  56. if (resultDto.getCode() == 200) {
  57. List<FinanceTradeInterestExportDto> dtos = Lists.newArrayList();
  58. resultDto.getData().forEach((item) -> {
  59. FinanceTradeInterestExportDto dto = new FinanceTradeInterestExportDto();
  60. BeanUtils.copyProperties(item, dto);
  61. dto.setCID(String.valueOf(item.getCId()));
  62. dto.setPIBNO(item.getPIbNo());
  63. dtos.add(dto);
  64. });
  65. ExportUtil.transferToResponse(StringUtil.getXlsxFileName("TRADE_INTEREST"), dtos,
  66. FinanceTradeInterestExportDto.class, response);
  67. }
  68. }
  69. @PostMapping("/searcher/single")
  70. public BaseResultDto searcherSingle(@RequestBody @Validated SingleLongEntity entity) throws Exception {
  71. BaseResultDto<FinanceTradeInterestDto> resultDto = feignService.searcherSingle(entity);
  72. return resultDto;
  73. }
  74. }