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 @@
-
+