Browse Source

支付接口调整

v1.0
15989082884@163.com 2 years ago
parent
commit
1c14e6ac6f
  1. 2
      src/main/java/com/qs/serve/modules/pay/entity/bo/PayPaymentBo.java
  2. 74
      src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java

2
src/main/java/com/qs/serve/modules/pay/entity/bo/PayPaymentBo.java

@ -28,7 +28,7 @@ public class PayPaymentBo implements Serializable {
/** 核销编码 */
@NotNull(message = "核销编码不能为空")
private String verificationMainCode;
private String verificationSubCode;
/** 支付金额 */
@DecimalMin(value = "0.01",message = "支付金额必须大于0元")

74
src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java

@ -81,36 +81,39 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme
}
LambdaQueryWrapper<VtbVerification> vtbLqw = new LambdaQueryWrapper<>();
vtbLqw.eq(VtbVerification::getVerificationMainCode,paymentBo.getVerificationMainCode());
vtbLqw.eq(VtbVerification::getVerificationMainCode,paymentBo.getVerificationSubCode());
List<VtbVerification> verificationList = verificationService.list(vtbLqw);
if(verificationList.size()==0){
// if(verificationList.size()==0){
// Assert.throwEx("核销编码异常");
// }
VtbVerificationSubject vtbSub = verificationSubjectService.getByVerificationSubjectCode(paymentBo.getVerificationSubCode());
if(vtbSub==null && verificationList.size()==0){
Assert.throwEx("核销编码异常");
}
// VtbVerificationSubject vtbMain = verificationSubjectService.getByVerificationSubjectCode(paymentBo.getVerificationSubCode());
// if(vtbMain==null){
// Assert.throwEx("核销子项编码异常");
// }
LambdaQueryWrapper<PayPaymentItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationMainCode,paymentBo.getVerificationMainCode());
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationMainCode,paymentBo.getVerificationSubCode());
List<PayPaymentItem> payPaymentItemList = paymentItemService.list(lambdaQueryWrapper);
BigDecimal payedAmount = payPaymentItemList.stream().map(a->a.getItemPayAmount()).reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal verificationAmount = verificationList.stream().map(a->a.getAmount()).reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal verificationAmount = null;
if(vtbSub!=null){
verificationAmount = vtbSub.getUsedAmount();
}else if(verificationList.size()!=0) {
verificationAmount = verificationList.stream().map(a -> a.getAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
}else{
Assert.throwEx("核销金额异常");
}
BigDecimal notPayAmount = verificationAmount.subtract(payedAmount);
if(paymentBo.getPayAmount().compareTo(notPayAmount)>0){
Assert.throwEx("支付金额已超出可支付额");
}
VtbVerification vtbMain = verificationList.get(0);
PayPayment payPayment = new PayPayment();
payPayment.setPayType(paymentBo.getPayType());
payPayment.setPayCode(paymentBo.getErpId());
payPayment.setSupplierId(vtbMain.getSupplierId());
payPayment.setSupplierCode(vtbMain.getSupplierCode());
payPayment.setSupplierName(vtbMain.getSupplierName());
payPayment.setPayAmount(paymentBo.getPayAmount());
payPayment.setUserId(sysUser.getId());
payPayment.setUserCode(sysUser.getCode());
@ -120,22 +123,47 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme
payPayment.setBillNumber(paymentBo.getBillNumber());
payPayment.setRemark(paymentBo.getRemark());
payPayment.setTenantId("001");
payPayment.setCostApplyId(vtbMain.getCostApplyId());
payPayment.setErpId(paymentBo.getErpId());
if(vtbSub!=null) {
payPayment.setSupplierId(vtbSub.getSupplierId());
payPayment.setSupplierCode(vtbSub.getSupplierCode());
payPayment.setSupplierName(vtbSub.getSupplierName());
payPayment.setCostApplyId(vtbSub.getCostApplyId());
}else if(verificationList.size()>0) {
VtbVerification vtbMain = verificationList.get(0);
payPayment.setSupplierId(vtbMain.getSupplierId());
payPayment.setSupplierCode(vtbMain.getSupplierCode());
payPayment.setSupplierName(vtbMain.getSupplierName());
payPayment.setCostApplyId(vtbMain.getCostApplyId());
}
PayPaymentItem payPaymentItem = new PayPaymentItem();
payPaymentItem = CopierUtil.copy(payPayment,payPaymentItem);
payPaymentItem.setItemPayAmount(payPayment.getPayAmount());
payPaymentItem.setVerificationId(vtbMain.getId());
payPaymentItem.setVerificationMainCode(vtbMain.getVerificationMainCode());
payPaymentItem.setVerificationCode(vtbMain.getVerificationMainCode());
// payPaymentItem.setVerificationSubjectId(vtbMain.getId());
// payPaymentItem.setActivityId(vtbMain.getActivityId());
// payPaymentItem.setSubjectCode(vtbMain.getSubjectCode());
// payPaymentItem.setSubjectId(vtbMain.getSubjectId());
// payPaymentItem.setSubjectName(vtbMain.getSubjectName());
payPaymentItem.setRemark(payPayment.getRemark());
if(vtbSub!=null) {
String verCode = vtbSub.getVerificationSubCode();
if(verCode.contains("_")){
verCode = verCode.substring(0,verCode.indexOf("_"));
}
payPaymentItem.setVerificationId(vtbSub.getVerificationId());
payPaymentItem.setVerificationMainCode(verCode);
payPaymentItem.setVerificationCode(vtbSub.getVerificationSubCode());
payPaymentItem.setVerificationSubjectId(vtbSub.getId());
payPaymentItem.setActivityId(vtbSub.getActivityId());
payPaymentItem.setSubjectCode(vtbSub.getSubjectCode());
payPaymentItem.setSubjectId(vtbSub.getSubjectId());
payPaymentItem.setSubjectName(vtbSub.getSubjectName());
}else if(verificationList.size()>0){
VtbVerification vtbMain = verificationList.get(0);
payPaymentItem.setVerificationId(vtbMain.getId());
payPaymentItem.setVerificationMainCode(vtbMain.getVerificationMainCode());
payPaymentItem.setVerificationCode(vtbMain.getVerificationCode());
}
this.save(payPayment);
payPaymentItem.setPaymentId(payPayment.getId());

Loading…
Cancel
Save