DeletionServiceImpl.java 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.simuwang.manage.service.impl;
  2. import com.simuwang.base.common.enums.DeletionType;
  3. import com.simuwang.base.common.support.MybatisPage;
  4. import com.simuwang.base.common.util.DateUtils;
  5. import com.simuwang.base.common.util.StringUtil;
  6. import com.simuwang.base.mapper.DeletionInfoMapper;
  7. import com.simuwang.base.mapper.FundInfoMapper;
  8. import com.simuwang.base.pojo.dos.DeletionInfoDO;
  9. import com.simuwang.base.pojo.dos.FundDeletionInfoDO;
  10. import com.simuwang.base.pojo.dto.ExcelDeletionInfoDTO;
  11. import com.simuwang.base.pojo.dto.query.DeletionPageQuery;
  12. import com.simuwang.base.pojo.dto.query.FundDeletionPageQuery;
  13. import com.simuwang.base.pojo.vo.*;
  14. import com.simuwang.manage.service.DeletionService;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import java.util.stream.Collectors;
  20. /**
  21. * FileName: DeletionServiceImpl
  22. * Author: chenjianhua
  23. * Date: 2024/9/17 18:54
  24. * Description: ${DESCRIPTION}
  25. */
  26. @Service
  27. public class DeletionServiceImpl implements DeletionService {
  28. @Autowired
  29. private DeletionInfoMapper deletionInfoMapper;
  30. @Autowired
  31. private FundInfoMapper fundInfoMapper;
  32. @Override
  33. public MybatisPage<DeletionInfoVO> searchDeletionList(DeletionPageQuery deletionPageQuery) {
  34. List<DeletionInfoDO> deletionInfoDOList = deletionInfoMapper.searchDeletionList(deletionPageQuery);
  35. long total = deletionInfoMapper.countDeletion(deletionPageQuery);
  36. List<DeletionInfoVO> dataList = deletionInfoDOList.stream().map(DeletionInfoDO::toVO).collect(Collectors.toList());
  37. for(DeletionInfoVO vo : dataList){
  38. String fundId = vo.getFundId();
  39. String lastDeletionDate = deletionInfoMapper.getLastDeletionDateByFundId(fundId,vo.getDeletionType());
  40. vo.setLastDeletionDate(lastDeletionDate);
  41. }
  42. return MybatisPage.of(total,dataList);
  43. }
  44. @Override
  45. public MybatisPage<FundDeletionInfoVO> searchFundDeletionList(FundDeletionPageQuery fundDeletionPageQuery) {
  46. List<FundDeletionInfoDO> deletionInfoDOList = deletionInfoMapper.searchFundDeletionList(fundDeletionPageQuery);
  47. long total = deletionInfoMapper.countFundDeletionList(fundDeletionPageQuery);
  48. List<FundDeletionInfoVO> dataList = deletionInfoDOList.stream().map(FundDeletionInfoDO::toVO).collect(Collectors.toList());
  49. for(FundDeletionInfoVO infoVO : dataList){
  50. infoVO.setFundName(fundInfoMapper.getFundNameByFundId(infoVO.getFundId()));
  51. }
  52. return MybatisPage.of(total,dataList);
  53. }
  54. @Override
  55. public void saveFundDeletionList(List<FundDeletionInfoVO> fundDeletionInfoVOList) {
  56. deletionInfoMapper.batchUpdate(fundDeletionInfoVOList);
  57. }
  58. @Override
  59. public void saveBatchDeletionRemark(FundDeletionRemarkVO fundDeletionRemarkVO) {
  60. String remark = fundDeletionRemarkVO.getRemark();
  61. for(FundDeletionTypeVO remarkVO : fundDeletionRemarkVO.getFundDeletionTypeList()){
  62. deletionInfoMapper.updateRemark(remarkVO.getFundId(),remarkVO.getDeletionType(),remarkVO.getDeletionDate(),remark);
  63. }
  64. }
  65. @Override
  66. public List<ExcelDeletionInfoDTO> selectFundDeletionInfoVOList(FundIdListVO fundIdListVO) {
  67. List<ExcelDeletionInfoDTO> result = new ArrayList<>();
  68. List<String> fundIdList = fundIdListVO.getFundIdList();
  69. List<FundDeletionInfoDO> deletionInfoDOList = deletionInfoMapper.selectFundDeletionInfoVOList(fundIdList);
  70. for(FundDeletionInfoDO infoDO : deletionInfoDOList){
  71. ExcelDeletionInfoDTO dto = new ExcelDeletionInfoDTO();
  72. dto.setFundName(fundInfoMapper.getFundNameByFundId(infoDO.getFundId()));
  73. dto.setCompanyName(fundInfoMapper.getCompanyNameByFundId(infoDO.getFundId()));
  74. dto.setDeletionType(DeletionType.getDeletionTypeByCode(infoDO.getDeletionType()).getInfo());
  75. dto.setDeletionDate(infoDO.getDeletionDate());
  76. dto.setRemark(infoDO.getRemark());
  77. dto.setFundId(infoDO.getFundId());
  78. result.add(dto);
  79. }
  80. return result;
  81. }
  82. }