DeletionServiceImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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.DeletionDownParam;
  11. import com.simuwang.base.pojo.dto.ExcelDeletionInfoDTO;
  12. import com.simuwang.base.pojo.dto.query.DeletionPageQuery;
  13. import com.simuwang.base.pojo.dto.query.FundDeletionPageQuery;
  14. import com.simuwang.base.pojo.vo.*;
  15. import com.simuwang.manage.service.DeletionService;
  16. import com.simuwang.shiro.utils.UserUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. import java.util.stream.Collectors;
  22. /**
  23. * FileName: DeletionServiceImpl
  24. * Author: chenjianhua
  25. * Date: 2024/9/17 18:54
  26. * Description: ${DESCRIPTION}
  27. */
  28. @Service
  29. public class DeletionServiceImpl implements DeletionService {
  30. @Autowired
  31. private DeletionInfoMapper deletionInfoMapper;
  32. @Autowired
  33. private FundInfoMapper fundInfoMapper;
  34. @Override
  35. public MybatisPage<DeletionInfoVO> searchDeletionList(DeletionPageQuery deletionPageQuery) {
  36. List<DeletionInfoDO> deletionInfoDOList = deletionInfoMapper.searchDeletionList(deletionPageQuery);
  37. long total = deletionInfoMapper.countDeletion(deletionPageQuery);
  38. List<DeletionInfoVO> dataList = deletionInfoDOList.stream().map(DeletionInfoDO::toVO).collect(Collectors.toList());
  39. for(DeletionInfoVO vo : dataList){
  40. String fundId = vo.getFundId();
  41. String lastDeletionDate = deletionInfoMapper.getLastDeletionDateByFundId(fundId,vo.getDeletionType());
  42. vo.setLastDeletionDate(lastDeletionDate);
  43. }
  44. return MybatisPage.of(total,dataList);
  45. }
  46. @Override
  47. public MybatisPage<FundDeletionInfoVO> searchFundDeletionList(FundDeletionPageQuery fundDeletionPageQuery) {
  48. List<FundDeletionInfoDO> deletionInfoDOList = deletionInfoMapper.searchFundDeletionList(fundDeletionPageQuery);
  49. long total = deletionInfoMapper.countFundDeletionList(fundDeletionPageQuery);
  50. List<FundDeletionInfoVO> dataList = deletionInfoDOList.stream().map(FundDeletionInfoDO::toVO).collect(Collectors.toList());
  51. for(FundDeletionInfoVO infoVO : dataList){
  52. infoVO.setFundName(fundInfoMapper.getFundNameByFundId(infoVO.getFundId()));
  53. }
  54. return MybatisPage.of(total,dataList);
  55. }
  56. @Override
  57. public void saveFundDeletionList(List<FundDeletionInfoVO> fundDeletionInfoVOList) {
  58. List<FundDeletionInfoDO> fundDeletionInfoDOList = new ArrayList<>();
  59. for(FundDeletionInfoVO vo : fundDeletionInfoVOList){
  60. FundDeletionInfoDO fundDeletionInfoDO = new FundDeletionInfoDO();
  61. fundDeletionInfoDO.setId(vo.getId());
  62. fundDeletionInfoDO.setDeletionType(vo.getDeletionType());
  63. fundDeletionInfoDO.setFundId(vo.getFundId());
  64. fundDeletionInfoDO.setDeletionDate(vo.getDeletionDate());
  65. fundDeletionInfoDO.setIsvalid(1);
  66. fundDeletionInfoDO.setUpdateTime(DateUtils.getNowDate());
  67. fundDeletionInfoDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
  68. fundDeletionInfoDOList.add(fundDeletionInfoDO);
  69. }
  70. deletionInfoMapper.batchUpdate(fundDeletionInfoDOList);
  71. }
  72. @Override
  73. public void saveBatchDeletionRemark(FundDeletionRemarkVO fundDeletionRemarkVO) {
  74. String remark = fundDeletionRemarkVO.getRemark();
  75. Integer userId = UserUtils.getLoginUser().getUserId();
  76. for(FundDeletionTypeVO remarkVO : fundDeletionRemarkVO.getFundDeletionTypeList()){
  77. deletionInfoMapper.updateRemark(remarkVO.getFundId(),remarkVO.getDeletionType(),remarkVO.getDeletionDate(),remark,userId);
  78. }
  79. }
  80. @Override
  81. public List<ExcelDeletionInfoDTO> selectFundDeletionInfoVOList(FundDeletionListVO fundDeletionListVO) {
  82. List<ExcelDeletionInfoDTO> result = new ArrayList<>();
  83. List<DeletionDownParam> deletionDownParamList = fundDeletionListVO.getDeletionDownParamList();
  84. for(DeletionDownParam deletionDownParam : deletionDownParamList){
  85. List<FundDeletionInfoDO> deletionInfoDOList = deletionInfoMapper.selectFundDeletionInfoVOList(deletionDownParam.getFundId(),deletionDownParam.getDeletionType());
  86. for(FundDeletionInfoDO infoDO : deletionInfoDOList){
  87. ExcelDeletionInfoDTO dto = new ExcelDeletionInfoDTO();
  88. dto.setFundName(fundInfoMapper.getFundNameByFundId(infoDO.getFundId()));
  89. dto.setCompanyName(fundInfoMapper.getCompanyNameByFundId(infoDO.getFundId()));
  90. dto.setDeletionType(DeletionType.getDeletionTypeByCode(infoDO.getDeletionType()).getInfo());
  91. dto.setDeletionDate(infoDO.getDeletionDate());
  92. dto.setRemark(infoDO.getRemark());
  93. dto.setFundId(infoDO.getFundId());
  94. result.add(dto);
  95. }
  96. }
  97. return result;
  98. }
  99. }