diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentCheckController.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentCheckController.java index d7db7344..aa9b0005 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentCheckController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentCheckController.java @@ -42,9 +42,9 @@ public class PayPaymentCheckController extends JeroController applicant(@RequestBody PayPaymentCheck payPaymentCheck) { + public Result applicant(@RequestBody PayPaymentRecord payPaymentRecord) { try{ - payPaymentCheckService.applicant(payPaymentCheck); + payPaymentCheckService.applicant(payPaymentRecord); }catch (Exception e){ log.error("申请异常",e); return Result.error(e.getMessage()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentCheckService.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentCheckService.java index c01da01e..a61e226f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentCheckService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentCheckService.java @@ -20,11 +20,18 @@ import java.util.List; * 到账审核 */ public interface IPayPaymentCheckService extends IService { + /** + * 申请 + * @param payPaymentRecord + */ + public void applicant(PayPaymentRecord payPaymentRecord); /** - * 申请 - * @param payPaymentCheck + * 得到缴费状态 + * @param amountReceivable 应收 + * @param paidAmount 实收 + * @param paymentStatus 缴费状态 + * @return */ - void applicant(PayPaymentCheck payPaymentCheck); - + String getPaymentStatus(BigDecimal amountReceivable,BigDecimal paidAmount,String paymentStatus); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java index 770680f2..94ed0d92 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java @@ -10,6 +10,7 @@ import com.jero.common.common.ProjectCommon; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.enums.ManagementMessageEnums; +import com.jero.common.enums.PaymentStatusEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; @@ -88,23 +89,110 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl typr5List = new ArrayList<>(); - payPaymentRecordService.addOneAmountReceived(payPaymentRecord,typr5List,ProjectCommon.PAYMENT_FLAG2); + switch (String.valueOf(payPaymentRecord.getProjectType())){ + // 普通项目 + case PayIncomeContractCommon.PROJECT_TYPE1: + //来款条件校验 + payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2); + + PayCommonProject payCommonProject = new PayCommonProject(); + payCommonProject.setId(payPaymentRecord.getProjectId()); + payCommonProject.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode()); + payCommonProjectMapper.updateById(payCommonProject); + + break; + // 工作组项目 + case PayIncomeContractCommon.PROJECT_TYPE2: + //来款条件校验 + payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2); + + PayWorkingGroupSubItem payWorking = new PayWorkingGroupSubItem(); + payWorking.setId(payPaymentRecord.getProjectId()); + payWorking.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode()); + payWorkingGroupSubItemMapper.updateById(payWorking); + + break; + //会议项目 + case PayIncomeContractCommon.PROJECT_TYPE3: + //来款条件校验 + payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2); + + PayMeetingSituation meeting = new PayMeetingSituation(); + meeting.setId(payPaymentRecord.getProjectId()); + meeting.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode()); + payMeetingSituationMapper.updateById(meeting); + + break; + //会员项目 + case PayIncomeContractCommon.PROJECT_TYPE4: + //来款条件校验 + payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2); + + PayMemberProjectSubitem member = new PayMemberProjectSubitem(); + member.setId(payPaymentRecord.getProjectId()); + member.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode()); + payMemberProjectSubitemMapper.updateById(member); + + break; + //标协会员 + case PayIncomeContractCommon.PROJECT_TYPE5: + //标协类型条件校验 + payPaymentRecordService.type5AddCheck(payPaymentRecord); + //来款条件校验 + payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2); + + TbMemberProjectSubitem tbMember= new TbMemberProjectSubitem(); + tbMember.setId(payPaymentRecord.getProjectId()); + tbMember.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode()); + tbMemberProjectSubitemMapper.updateById(tbMember); + + break; + default:break; + } + + //插入来款记录表 LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); - payPaymentCheck.setRecordId(payPaymentRecord.getId()); - payPaymentCheck.setApplicantName(sysUser.getRealname()); + payPaymentRecord.setApplicantName(sysUser.getRealname()); + payPaymentRecordMapper.insert(payPaymentRecord); + } - payPaymentCheckMapper.insert(payPaymentCheck); + /** + * 得到缴费状态 + * @param amountReceivable 应收 + * @param paidAmount 实收 + * @param paymentStatus 缴费状态 + * @return + */ + @Override + public String getPaymentStatus(BigDecimal amountReceivable,BigDecimal paidAmount,String paymentStatus){ + // 0 < 实收金额 && 实收金额 < 应收金额 && 不等于待审核/已拒绝 + if(paidAmount.compareTo(new BigDecimal("0.00")) > 0 + && paidAmount.compareTo(amountReceivable) < 0 + && PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus) + && PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){ + paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode(); + } + return paymentStatus; } }