From eb60343c0a24d5748bf6053aa1c2637e8929107f Mon Sep 17 00:00:00 2001 From: winter Date: Sun, 23 Jun 2024 17:39:15 +0800 Subject: [PATCH] fix --- .../controller/rent/WxBillAllController.java | 12 +++ .../resources/db/migration/V202405009.sql | 100 ++++++++++++++++++ .../com/iformall/domain/po/WxBillDeposit.java | 10 ++ .../domain/po/WxBillOtherDeposit.java | 10 +- .../domain/po/WxBillPropertyDeposit.java | 12 ++- .../com/iformall/enums/EnumBillAction.java | 2 +- .../service/WxBillDepositService.java | 1 + .../service/WxBillOtherDepositService.java | 1 + .../service/WxBillPropertyDepositService.java | 1 + .../service/helper/WxBillAllHelper.java | 10 ++ .../service/impl/WxBillDailyServiceImpl.java | 5 +- .../impl/WxBillDepositServiceImpl.java | 22 +++- .../impl/WxBillOtherDepositServiceImpl.java | 23 +++- .../service/impl/WxBillOtherServiceImpl.java | 5 +- .../WxBillPropertyDepositServiceImpl.java | 22 +++- .../impl/WxBillPropertyServiceImpl.java | 5 +- .../impl/WxBillRentManageServiceImpl.java | 5 +- .../service/impl/WxBillRentServiceImpl.java | 5 +- .../mapper/WxBillOtherDepositMapper.xml | 2 +- 19 files changed, 241 insertions(+), 12 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V202405009.sql diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java index d0f775278..2e142f878 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java @@ -596,6 +596,18 @@ public class WxBillAllController extends BillBaseController { return new ResultData(retMap); } + @PostMapping("returnDeposit") + public ResultData returnDeposit(@RequestBody WxBillPayDTO dto) { + dto.updateTenantInfo(getTenantInfo()); + //如果是管理费,默认一个商业管理费 + if (dto.getBillTypeValue().intValue() == Constant.bill_all_type_manage_fee) { + dto.setBillTypeValue(EnumBillAllType.RENT_BUSSINESS_MANAGE.getCode()); + } + billAllHelper.returnDeposit(dto, getUser()); + return new ResultData(); + //return wxBillAllService.updateReceivePay(wxBillAll, getUser(),false); + } + //###################################### 老代码 ###################################### // diff --git a/mallinkAdmin/src/main/resources/db/migration/V202405009.sql b/mallinkAdmin/src/main/resources/db/migration/V202405009.sql new file mode 100644 index 000000000..71bd20936 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202405009.sql @@ -0,0 +1,100 @@ +alter table wx_bill_other_deposit_0 modify column return_price varchar(30); +alter table wx_bill_other_deposit_1 modify column return_price varchar(30); +alter table wx_bill_other_deposit_2 modify column return_price varchar(30); +alter table wx_bill_other_deposit_3 modify column return_price varchar(30); +alter table wx_bill_other_deposit_4 modify column return_price varchar(30); +alter table wx_bill_other_deposit_5 modify column return_price varchar(30); +alter table wx_bill_other_deposit_6 modify column return_price varchar(30); +alter table wx_bill_other_deposit_7 modify column return_price varchar(30); +alter table wx_bill_other_deposit_8 modify column return_price varchar(30); +alter table wx_bill_other_deposit_9 modify column return_price varchar(30); +alter table wx_bill_other_deposit_10 modify column return_price varchar(30); +alter table wx_bill_other_deposit_11 modify column return_price varchar(30); +alter table wx_bill_other_deposit_12 modify column return_price varchar(30); +alter table wx_bill_other_deposit_13 modify column return_price varchar(30); +alter table wx_bill_other_deposit_14 modify column return_price varchar(30); +alter table wx_bill_other_deposit_15 modify column return_price varchar(30); +alter table wx_bill_other_deposit_16 modify column return_price varchar(30); +alter table wx_bill_other_deposit_17 modify column return_price varchar(30); +alter table wx_bill_other_deposit_18 modify column return_price varchar(30); +alter table wx_bill_other_deposit_19 modify column return_price varchar(30); +alter table wx_bill_other_deposit_20 modify column return_price varchar(30); +alter table wx_bill_other_deposit_21 modify column return_price varchar(30); +alter table wx_bill_other_deposit_22 modify column return_price varchar(30); +alter table wx_bill_other_deposit_23 modify column return_price varchar(30); +alter table wx_bill_other_deposit_24 modify column return_price varchar(30); +alter table wx_bill_other_deposit_25 modify column return_price varchar(30); +alter table wx_bill_other_deposit_26 modify column return_price varchar(30); +alter table wx_bill_other_deposit_27 modify column return_price varchar(30); +alter table wx_bill_other_deposit_28 modify column return_price varchar(30); +alter table wx_bill_other_deposit_29 modify column return_price varchar(30); +alter table wx_bill_other_deposit_30 modify column return_price varchar(30); +alter table wx_bill_other_deposit_31 modify column return_price varchar(30); +alter table wx_bill_other_deposit_32 modify column return_price varchar(30); +alter table wx_bill_other_deposit_33 modify column return_price varchar(30); +alter table wx_bill_other_deposit_34 modify column return_price varchar(30); +alter table wx_bill_other_deposit_35 modify column return_price varchar(30); +alter table wx_bill_other_deposit_36 modify column return_price varchar(30); +alter table wx_bill_other_deposit_37 modify column return_price varchar(30); +alter table wx_bill_other_deposit_38 modify column return_price varchar(30); +alter table wx_bill_other_deposit_39 modify column return_price varchar(30); +alter table wx_bill_other_deposit_40 modify column return_price varchar(30); +alter table wx_bill_other_deposit_41 modify column return_price varchar(30); +alter table wx_bill_other_deposit_42 modify column return_price varchar(30); +alter table wx_bill_other_deposit_43 modify column return_price varchar(30); +alter table wx_bill_other_deposit_44 modify column return_price varchar(30); +alter table wx_bill_other_deposit_45 modify column return_price varchar(30); +alter table wx_bill_other_deposit_46 modify column return_price varchar(30); +alter table wx_bill_other_deposit_47 modify column return_price varchar(30); +alter table wx_bill_other_deposit_48 modify column return_price varchar(30); +alter table wx_bill_other_deposit_49 modify column return_price varchar(30); +alter table wx_bill_other_deposit_50 modify column return_price varchar(30); +alter table wx_bill_other_deposit_51 modify column return_price varchar(30); +alter table wx_bill_other_deposit_52 modify column return_price varchar(30); +alter table wx_bill_other_deposit_53 modify column return_price varchar(30); +alter table wx_bill_other_deposit_54 modify column return_price varchar(30); +alter table wx_bill_other_deposit_55 modify column return_price varchar(30); +alter table wx_bill_other_deposit_56 modify column return_price varchar(30); +alter table wx_bill_other_deposit_57 modify column return_price varchar(30); +alter table wx_bill_other_deposit_58 modify column return_price varchar(30); +alter table wx_bill_other_deposit_59 modify column return_price varchar(30); +alter table wx_bill_other_deposit_60 modify column return_price varchar(30); +alter table wx_bill_other_deposit_61 modify column return_price varchar(30); +alter table wx_bill_other_deposit_62 modify column return_price varchar(30); +alter table wx_bill_other_deposit_63 modify column return_price varchar(30); +alter table wx_bill_other_deposit_64 modify column return_price varchar(30); +alter table wx_bill_other_deposit_65 modify column return_price varchar(30); +alter table wx_bill_other_deposit_66 modify column return_price varchar(30); +alter table wx_bill_other_deposit_67 modify column return_price varchar(30); +alter table wx_bill_other_deposit_68 modify column return_price varchar(30); +alter table wx_bill_other_deposit_69 modify column return_price varchar(30); +alter table wx_bill_other_deposit_70 modify column return_price varchar(30); +alter table wx_bill_other_deposit_71 modify column return_price varchar(30); +alter table wx_bill_other_deposit_72 modify column return_price varchar(30); +alter table wx_bill_other_deposit_73 modify column return_price varchar(30); +alter table wx_bill_other_deposit_74 modify column return_price varchar(30); +alter table wx_bill_other_deposit_75 modify column return_price varchar(30); +alter table wx_bill_other_deposit_76 modify column return_price varchar(30); +alter table wx_bill_other_deposit_77 modify column return_price varchar(30); +alter table wx_bill_other_deposit_78 modify column return_price varchar(30); +alter table wx_bill_other_deposit_79 modify column return_price varchar(30); +alter table wx_bill_other_deposit_80 modify column return_price varchar(30); +alter table wx_bill_other_deposit_81 modify column return_price varchar(30); +alter table wx_bill_other_deposit_82 modify column return_price varchar(30); +alter table wx_bill_other_deposit_83 modify column return_price varchar(30); +alter table wx_bill_other_deposit_84 modify column return_price varchar(30); +alter table wx_bill_other_deposit_85 modify column return_price varchar(30); +alter table wx_bill_other_deposit_86 modify column return_price varchar(30); +alter table wx_bill_other_deposit_87 modify column return_price varchar(30); +alter table wx_bill_other_deposit_88 modify column return_price varchar(30); +alter table wx_bill_other_deposit_89 modify column return_price varchar(30); +alter table wx_bill_other_deposit_90 modify column return_price varchar(30); +alter table wx_bill_other_deposit_91 modify column return_price varchar(30); +alter table wx_bill_other_deposit_92 modify column return_price varchar(30); +alter table wx_bill_other_deposit_93 modify column return_price varchar(30); +alter table wx_bill_other_deposit_94 modify column return_price varchar(30); +alter table wx_bill_other_deposit_95 modify column return_price varchar(30); +alter table wx_bill_other_deposit_96 modify column return_price varchar(30); +alter table wx_bill_other_deposit_97 modify column return_price varchar(30); +alter table wx_bill_other_deposit_98 modify column return_price varchar(30); +alter table wx_bill_other_deposit_99 modify column return_price varchar(30); \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java index f76d22ada..774d7beee 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; @@ -10,6 +11,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -56,6 +58,14 @@ public class WxBillDeposit extends WxBillBaseEntity { @io.swagger.annotations.ApiModelProperty(value = "退还金额", name = "returnPrice") private String returnPrice; + @TableField(exist = false) + private String remainReturnPrice;//剩余待退回金额 + public String getRemainReturnPrice() { + if (StringUtils.isBlank(returnPrice)) { + returnPrice = "0"; + } + return new BigDecimal(getOwe()).subtract(new BigDecimal(returnPrice)).toPlainString(); + } @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") private String shopInfo; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java index 759befe84..a2878e22c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java @@ -65,7 +65,15 @@ public class WxBillOtherDeposit extends WxBillBaseEntity { private Date updatetime; @io.swagger.annotations.ApiModelProperty(value = "退还金额", name = "returnPrice") - private Long returnPrice; + private String returnPrice; + @TableField(exist = false) + private String remainReturnPrice;//剩余待退回金额 + public String getRemainReturnPrice() { + if (StringUtils.isBlank(returnPrice)) { + returnPrice = "0"; + } + return new BigDecimal(getOwe()).subtract(new BigDecimal(returnPrice)).toPlainString(); + } @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") private Integer payWay; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java index 38d738686..69104e806 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java @@ -13,6 +13,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; import java.util.Iterator; import java.util.List; @@ -60,7 +61,16 @@ public class WxBillPropertyDeposit extends WxBillBaseEntity { @io.swagger.annotations.ApiModelProperty(value = "退还金额", name = "returnPrice") private String returnPrice; - + @TableField(exist = false) + private String remainReturnPrice;//剩余待退回金额 + public String getRemainReturnPrice() { + if (StringUtils.isBlank(returnPrice)) { + returnPrice = "0"; + } + return new BigDecimal(getOwe()).subtract(new BigDecimal(returnPrice)).toPlainString(); + } + + @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") private String shopInfo; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java b/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java index 63a12fb0d..5194364a7 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java @@ -9,7 +9,7 @@ public enum EnumBillAction { SELF_SERVICE_PAY(1, "自助缴费"), UPDATE_BILL(2, "账单金额变更"), OFFLINE_PAY(3, "线下缴费"), - DEPOSIT_RETURN(5, "押金退款"), + DEPOSIT_RETURN(5, "押金退还"), //IMPORT_PAY(10, "导入缴费"), UPDATE_LATE_PAY_MONEY(7, "滞纳金变更"), UPDATE_SERVICE_MONEY(9, "手续费变更"), diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillDepositService.java b/mallinkService/src/main/java/com/iformall/service/WxBillDepositService.java index 7fd270244..50912f40d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillDepositService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillDepositService.java @@ -82,5 +82,6 @@ public interface WxBillDepositService { public void notify(WxBillPayDTO dto, MallUserInfo user); public void updatePay(WxBillPayDTO dto, MallUserInfo user); public void updatePayByMerchant(WxBillPayDTO dto, WxMerchantBUser user,boolean isOnline); + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java b/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java index 4c10f38e7..6c575e0f1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillOtherDepositService.java @@ -79,4 +79,5 @@ public interface WxBillOtherDepositService { public void notify(WxBillPayDTO dto, MallUserInfo user); public void updatePay(WxBillPayDTO dto, MallUserInfo user); public void updatePayByMerchant(WxBillPayDTO dto, WxMerchantBUser user,boolean isOnline); + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillPropertyDepositService.java b/mallinkService/src/main/java/com/iformall/service/WxBillPropertyDepositService.java index 2d4a6ad4e..b35369a09 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillPropertyDepositService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillPropertyDepositService.java @@ -84,4 +84,5 @@ public interface WxBillPropertyDepositService { public void notify(WxBillPayDTO dto, MallUserInfo user); public void updatePay(WxBillPayDTO dto, MallUserInfo user); public void updatePayByMerchant(WxBillPayDTO dto, WxMerchantBUser user,boolean isOnline); + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user); } diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java index d0ba8a945..dd6843bd3 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -917,4 +917,14 @@ public class WxBillAllHelper { } return null; } + + public void returnDeposit(WxBillPayDTO dto,MallUserInfo user) { + if (dto.getBillTypeValue().intValue() == EnumBillAllType.RENT_DEPOSIT.getCode().intValue()) { + wxBillRentDepositService.returnDeposit(dto, user); + }else if (dto.getBillTypeValue().intValue() == EnumBillAllType.PROPERTY_DEPOSIT.getCode().intValue()) { + wxBillPropertyDepositService.returnDeposit(dto, user); + }else if (dto.getBillTypeValue().intValue() == EnumBillAllType.OTHER_DEPOSIT.getCode().intValue()) { + wxBillOtherDepositService.returnDeposit(dto, user); + } + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java index 2df72de71..4a1d7c256 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java @@ -569,7 +569,10 @@ public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillD if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(latePayLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(latePayLastMoney) > 0 ) { + sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java index 74615feae..3fb039a2a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java @@ -507,7 +507,10 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(serviceLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(serviceLastMoney) > 0 ) { + sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); @@ -534,4 +537,21 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); } + @Override + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user) { + WxBillDeposit dbBill = wxBillDepositMapper.selectById(dto.getId(),dto.getTenantId()); + BigDecimal oldpay = new BigDecimal(0); + if (StringUtils.isNotBlank(dbBill.getReturnPrice())) { + oldpay = new BigDecimal(dbBill.getReturnPrice()); + } + WxBillDeposit wxBillRent = new WxBillDeposit(); + wxBillRent.setId(dto.getId()); + wxBillRent.updateTenantInfo(dto); + wxBillRent.setUpdatetime(new Date()); + wxBillRent.setReturnPrice(oldpay.add(new BigDecimal(dto.getAddpay())).toPlainString()); + wxBillDepositMapper.updateById(wxBillRent); + this.addBillAction(EnumBillAction.DEPOSIT_RETURN, dto.getBillTypeValue(),dto.getId(), + dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java index c3b4b858d..daa2005dc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java @@ -12,6 +12,7 @@ import com.iformall.domain.dto.WxBillReceiveUpdateDTO; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillAction; import com.iformall.domain.po.WxBillDaily; +import com.iformall.domain.po.WxBillDeposit; import com.iformall.domain.po.WxBillOtherDeposit; import com.iformall.domain.po.WxBillRent; import com.iformall.domain.po.WxMerchant; @@ -509,7 +510,10 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(serviceLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(serviceLastMoney) > 0 ) { + sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); @@ -536,4 +540,21 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); } + @Override + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user) { + WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectById(dto.getId(),dto.getTenantId()); + BigDecimal oldpay = new BigDecimal(0); + if (StringUtils.isNotBlank(dbBill.getReturnPrice())) { + oldpay = new BigDecimal(dbBill.getReturnPrice()); + } + WxBillOtherDeposit wxBillRent = new WxBillOtherDeposit(); + wxBillRent.setId(dto.getId()); + wxBillRent.updateTenantInfo(dto); + wxBillRent.setUpdatetime(new Date()); + wxBillRent.setReturnPrice(oldpay.add(new BigDecimal(dto.getAddpay())).toPlainString()); + wxBillOtherDepositMapper.updateById(wxBillRent); + this.addBillAction(EnumBillAction.DEPOSIT_RETURN, dto.getBillTypeValue(),dto.getId(), + dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java index a8bf5534a..73c978674 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java @@ -453,7 +453,10 @@ public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillO if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(serviceLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(serviceLastMoney) > 0 ) { + sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java index e987d525f..a064d9559 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java @@ -487,7 +487,10 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(serviceLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(serviceLastMoney) > 0 ) { + sb.append(";已付金额增加").append(serviceLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); @@ -513,5 +516,22 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); } + @Override + public void returnDeposit(WxBillPayDTO dto, MallUserInfo user) { + WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectById(dto.getId(),dto.getTenantId()); + BigDecimal oldpay = new BigDecimal(0); + if (StringUtils.isNotBlank(dbBill.getReturnPrice())) { + oldpay = new BigDecimal(dbBill.getReturnPrice()); + } + WxBillPropertyDeposit wxBillRent = new WxBillPropertyDeposit(); + wxBillRent.setId(dto.getId()); + wxBillRent.updateTenantInfo(dto); + wxBillRent.setUpdatetime(new Date()); + wxBillRent.setReturnPrice(oldpay.add(new BigDecimal(dto.getAddpay())).toPlainString()); + wxBillPropertyDepositMapper.updateById(wxBillRent); + this.addBillAction(EnumBillAction.DEPOSIT_RETURN, dto.getBillTypeValue(),dto.getId(), + dto.getAddpay(), dto.getAddpay(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getRemark(), user); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java index f7713bb7b..2117546b9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -595,7 +595,10 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(latePayLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(latePayLastMoney) > 0 ) { + sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java index d64744211..83ca888fc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java @@ -524,7 +524,10 @@ public class WxBillRentManageServiceImpl extends WxBillBaseService implements W if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(latePayLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(latePayLastMoney) > 0 ) { + sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index a0c4ba5fc..226bd3233 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -688,7 +688,10 @@ public class WxBillRentServiceImpl extends WxBillBaseService implements WxBillRe if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(latePayLastMoney); wxBillRent.setPay(opay.toPlainString()); - sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 + if (new BigDecimal(dto.getAddpay()).compareTo(latePayLastMoney) > 0 ) { + sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + } if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。"); diff --git a/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml b/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml index a4ff155d0..c79ec0104 100644 --- a/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml @@ -24,7 +24,7 @@ - +