From ec9f232fbdfbb4e4069af73e072ab4356106898f Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 11 Mar 2024 14:12:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=89=93=E5=8C=85=E5=90=8E=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E9=A1=B9=E7=9B=AE=E7=9A=84=E5=BE=85=E7=A1=AE=E6=94=B6?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E5=8F=98=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayPackCompanyProjectServiceImpl.java | 98 ++++++++++++++++--- 1 file changed, 85 insertions(+), 13 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java index c36095ff..14e224e0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java @@ -15,6 +15,14 @@ import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.contract.common.PayIncomeContractCommon; +import com.jero.meeting.entity.PayMeetingSituation; +import com.jero.meeting.mapper.PayMeetingSituationMapper; +import com.jero.member.entity.PayMemberProjectSubitem; +import com.jero.member.entity.TbCertificatePayment; +import com.jero.member.entity.TbMemberProjectSubitem; +import com.jero.member.mapper.PayMemberProjectSubitemMapper; +import com.jero.member.mapper.TbCertificatePaymentMapper; +import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.pack.common.PackCommon; @@ -25,8 +33,13 @@ import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyService; import com.jero.pack.vo.PayPackCompanyProjectInput; import com.jero.pack.vo.PayProjectExcel; +import com.jero.payment.mapper.PayPaymentRecordMapper; +import com.jero.payment.service.IPayPaymentRecordService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; +import com.jero.project.entity.PayWorkingGroupSubItem; +import com.jero.project.mapper.PayCommonProjectMapper; +import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; @@ -36,6 +49,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; /** @@ -63,6 +77,18 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>(); query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds())); List listPayPackCompanyProjectNew = payPackCompanyProjectService.list(query); - // TODO 将对应的project的待确收金额设为0 - if(!CollectionUtils.isEmpty(listPayPackCompanyProjectNew)){ throw new JeroBootException("项目已被打包!"); } @@ -127,6 +151,8 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl listPayPackCompanyProject) { + listPayPackCompanyProject.forEach(p -> { + setAmountReceivable(p.getProjectId(), String.valueOf(p.getProjectType())); + }); + } + /** * 根据项目id和项目类型将具体项目的待确收金额改为0 */ private void setAmountReceivable(String projectId, String projectType){ switch (projectType){ - case PayProjectCommon.PROJECT_TYPE1: - + // 普通项目 + case PayIncomeContractCommon.PROJECT_TYPE1: + PayCommonProject payCommonProject = payCommonProjectMapper.selectById(projectId); + if (payCommonProject == null) { + throw new JeroBootException("项目不存在"); + } + payCommonProject.setReceivableAmount(new BigDecimal(0)); + payCommonProjectMapper.updateById(payCommonProject); break; - case PayProjectCommon.PROJECT_TYPE2: - + // 工作组项目 + case PayIncomeContractCommon.PROJECT_TYPE2: + PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(projectId); + if (payWorking == null) { + throw new JeroBootException("项目不存在"); + } + payWorking.setReceivableAmount(new BigDecimal(0)); + payWorkingGroupSubItemMapper.updateById(payWorking); break; - case PayProjectCommon.PROJECT_TYPE3: - + //会议项目 + case PayIncomeContractCommon.PROJECT_TYPE3: + PayMeetingSituation meeting = payMeetingSituationMapper.selectById(projectId); + if (meeting == null) { + throw new JeroBootException("项目不存在"); + } + meeting.setAmountReceivable(new BigDecimal(0)); + payMeetingSituationMapper.updateById(meeting); break; - case PayProjectCommon.PROJECT_TYPE4: - + //会员项目 + case PayIncomeContractCommon.PROJECT_TYPE4: + PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(projectId); + if (member == null) { + throw new JeroBootException("项目不存在"); + } + member.setAmountReceivable(new BigDecimal(0)); + payMemberProjectSubitemMapper.updateById(member); break; - case PayProjectCommon.PROJECT_TYPE5: - + //标协会员 + case PayIncomeContractCommon.PROJECT_TYPE5: + TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(projectId); + if (tbMember == null) { + throw new JeroBootException("项目不存在"); + } + tbMember.setAmountReceivable(new BigDecimal(0)); + tbMemberProjectSubitemMapper.updateById(tbMember); + break; + //标协证书 + case PayIncomeContractCommon.PROJECT_TYPE6: + TbCertificatePayment tbMemberCertificate = certificatePaymentMapper.selectById(projectId); + if (tbMemberCertificate == null) { + throw new JeroBootException("项目不存在"); + } + // 获取待确收金额 + tbMemberCertificate.setAmountReceivable(new BigDecimal(0)); + certificatePaymentMapper.updateById(tbMemberCertificate); break; default: - break; + throw new JeroBootException("项目类型错误"); } }