winter 1 год назад
Родитель
Сommit
01c29c2c17
18 измененных файлов: 404 добавлений и 42 удалений
  1. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java
  2. +11
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java
  3. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java
  4. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java
  5. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java
  6. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java
  7. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java
  8. +12
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java
  9. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java
  10. +24
    -0
      mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java
  11. +47
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java
  12. +28
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java
  13. +28
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java
  14. +27
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java
  15. +27
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java
  16. +46
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java
  17. +47
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java
  18. +46
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java

+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java Просмотреть файл

@@ -268,7 +268,7 @@ public class WxBillController extends BaseController {
if (null == billdetail) {
return new ResultData(Result.ERROR,"账单支付未查询到");
}
BigDecimal owe = new BigDecimal(billdetail.getOwe());
BigDecimal owe = new BigDecimal(billdetail.getBillAllNeedPay());
if (owe.compareTo(new BigDecimal(payMoney)) < 0) {
return new ResultData(Result.ERROR,"支付金额大于欠费金额,请刷新账单后再支付");
}


+ 11
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java Просмотреть файл

@@ -132,5 +132,15 @@ public class WxBillDaily extends WxBillBaseEntity {
@Override
public String getBillRemark() {
return remark;
}
}
@Override
public String getBillLatePay() {
return "0";
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java Просмотреть файл

@@ -95,4 +95,14 @@ public class WxBillDeposit extends WxBillBaseEntity {
public String getBillRemark() {
return "";
}
@Override
public String getBillLatePay() {
return "0";
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java Просмотреть файл

@@ -125,4 +125,14 @@ public class WxBillOther extends WxBillBaseEntity {
public String getBillRemark() {
return StringUtils.trimToEmpty(name)+StringUtils.trimToEmpty(comments);
}
@Override
public String getBillLatePay() {
return "0";
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java Просмотреть файл

@@ -134,5 +134,15 @@ public class WxBillOtherDeposit extends WxBillBaseEntity {
public String getBillRemark() {
return StringUtils.trimToEmpty(name)+StringUtils.trimToEmpty(comments);
}
@Override
public String getBillLatePay() {
return "0";
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java Просмотреть файл

@@ -160,6 +160,16 @@ public class WxBillProperty extends WxBillBaseEntity {
return "";
}
@Override
public String getBillLatePay() {
return latePayPrice;
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
@TableField(exist = false)
private String totalFee;
public void calcuteTotalFee(Integer decimalSize) {


+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java Просмотреть файл

@@ -109,4 +109,14 @@ public class WxBillPropertyDeposit extends WxBillBaseEntity {
return "";
}
@Override
public String getBillLatePay() {
return "0";
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
}

+ 12
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java Просмотреть файл

@@ -102,6 +102,16 @@ public class WxBillRent extends WxBillBaseEntity {
public String getBillRemark() {
return "";
}
@Override
public String getBillLatePay() {
return latePayPrice;
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}

@io.swagger.annotations.ApiModelProperty(value="商业管理费应收金额",name="bussinessManageFeeNeedPay")
private String bussinessManageFeeNeedPay;
@@ -217,4 +227,6 @@ public class WxBillRent extends WxBillBaseEntity {
.setScale(decimalSize, RoundingMode.HALF_UP).toPlainString();
}
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java Просмотреть файл

@@ -173,6 +173,16 @@ public class WxBillRentManage extends WxBillBaseEntity {
return "";
}
@Override
public String getBillLatePay() {
return latePayPrice;
}
@Override
public String getBillServicePay() {
return serviceChargePay;
}
@TableField(exist = false)
private List<Long> merchantIds;
@TableField(exist = false)


+ 24
- 0
mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java Просмотреть файл

@@ -104,6 +104,28 @@ public class WxBillBaseEntity extends TenantEntity {
@TableField(exist = false)
protected Long floor;
//滞纳金
@TableField(exist = false)
protected String billLatePay;
//服务费
@TableField(exist = false)
protected String billServicePay;
@TableField(exist = false)
protected String billAllNeedPay;
public String getBillAllNeedPay() {
String bl = this.getBillLatePay();
String bs = this.getBillServicePay();
if (StringUtils.isBlank(bl)) {
bl = "0";
}
if (StringUtils.isBlank(bs)) {
bs = "0";
}
return new BigDecimal(getOwe()).add(new BigDecimal(bl)).add(new BigDecimal(bs)).toPlainString();
}
@TableField(exist = false)
protected List<Long> merchantIdList;
@@ -125,5 +147,7 @@ public class WxBillBaseEntity extends TenantEntity {
//临期计算截止时间
@TableField(exist = false)
private Integer notifyed;

}

+ 47
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java Просмотреть файл

@@ -529,15 +529,57 @@ public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillD
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
BigDecimal latePayLastMoney = new BigDecimal(0);
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
String latePay = dbBill.getLatePayPrice();
if (StringUtils.isBlank(latePay)) {
latePay = "0";
}
latePayLastMoney = serviceLastMoney.subtract(new BigDecimal(latePay));
if (new BigDecimal(latePay).compareTo(new BigDecimal(0)) > 0 ) {
if (latePayLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setLatePayPrice("0");
sb.append(";滞纳金").append(latePay).append("已结清");
}else {
String lp = new BigDecimal(latePay).subtract(serviceLastMoney).toPlainString();
wxBillRent.setLatePayPrice(lp);
sb.append(";滞纳金").append(latePay).append("已支付").append(lp);
}
}
}
if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(latePayLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(latePayLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillDailyMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 28
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java Просмотреть файл

@@ -486,15 +486,38 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(serviceLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(serviceLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillDepositMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 28
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java Просмотреть файл

@@ -488,15 +488,38 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(serviceLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(serviceLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillOtherDepositMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 27
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java Просмотреть файл

@@ -433,15 +433,37 @@ public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillO
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(serviceLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(serviceLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillOtherMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 27
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java Просмотреть файл

@@ -466,15 +466,37 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(serviceLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(serviceLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillPropertyDepositMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 46
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java Просмотреть файл

@@ -555,15 +555,56 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
BigDecimal latePayLastMoney = new BigDecimal(0);
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
String latePay = dbBill.getLatePayPrice();
if (StringUtils.isBlank(latePay)) {
latePay = "0";
}
latePayLastMoney = serviceLastMoney.subtract(new BigDecimal(latePay));
if (new BigDecimal(latePay).compareTo(new BigDecimal(0)) > 0 ) {
if (latePayLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setLatePayPrice("0");
sb.append(";滞纳金").append(latePay).append("已结清");
}else {
String lp = new BigDecimal(latePay).subtract(serviceLastMoney).toPlainString();
wxBillRent.setLatePayPrice(lp);
sb.append(";滞纳金").append(latePay).append("已支付").append(lp);
}
}
}
if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(latePayLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(latePayLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillPropertyMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 47
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentManageServiceImpl.java Просмотреть файл

@@ -484,15 +484,57 @@ public class WxBillRentManageServiceImpl extends WxBillBaseService implements W
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
BigDecimal latePayLastMoney = new BigDecimal(0);
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
String latePay = dbBill.getLatePayPrice();
if (StringUtils.isBlank(latePay)) {
latePay = "0";
}
latePayLastMoney = serviceLastMoney.subtract(new BigDecimal(latePay));
if (new BigDecimal(latePay).compareTo(new BigDecimal(0)) > 0 ) {
if (latePayLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setLatePayPrice("0");
sb.append(";滞纳金").append(latePay).append("已结清");
}else {
String lp = new BigDecimal(latePay).subtract(serviceLastMoney).toPlainString();
wxBillRent.setLatePayPrice(lp);
sb.append(";滞纳金").append(latePay).append("已支付").append(lp);
}
}
}
if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(latePayLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(latePayLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillRentManageMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}


+ 46
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java Просмотреть файл

@@ -649,15 +649,56 @@ public class WxBillRentServiceImpl extends WxBillBaseService implements WxBillRe
if (StringUtils.isNotBlank(dbBill.getPay())) {
opay = new BigDecimal(dbBill.getPay());
}
opay = opay.add(new BigDecimal(dto.getAddpay()));
wxBillRent.setPay(opay.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
dto.setRemark(StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单已付金额调整后已大于等于实际应付金额,自动归结为结清。");
//支付的金额先扣除手续费和滞纳金,多余的再抵扣本金
String servicePay = dbBill.getServiceChargePay();
if (StringUtils.isBlank(servicePay)) {
servicePay = "0";
}
StringBuffer sb = new StringBuffer(StringUtils.trimToEmpty(dto.getRemark()));
BigDecimal serviceLastMoney = new BigDecimal(dto.getAddpay()).subtract(new BigDecimal(servicePay));
if (new BigDecimal(servicePay).compareTo(new BigDecimal(0)) > 0 ) {
if (serviceLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setServiceChargePay("0");
sb.append(";手续费").append(servicePay).append("已结清");
}else {
wxBillRent.setServiceChargePay(dto.getAddpay());
sb.append(";手续费").append(servicePay).append("已支付").append(dto.getAddpay());
}
}
BigDecimal latePayLastMoney = new BigDecimal(0);
if (serviceLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
String latePay = dbBill.getLatePayPrice();
if (StringUtils.isBlank(latePay)) {
latePay = "0";
}
latePayLastMoney = serviceLastMoney.subtract(new BigDecimal(latePay));
if (new BigDecimal(latePay).compareTo(new BigDecimal(0)) > 0 ) {
if (latePayLastMoney.compareTo(new BigDecimal(0)) >= 0 ) {
wxBillRent.setLatePayPrice("0");
sb.append(";滞纳金").append(latePay).append("已结清");
}else {
String lp = new BigDecimal(latePay).subtract(serviceLastMoney).toPlainString();
wxBillRent.setLatePayPrice(lp);
sb.append(";滞纳金").append(latePay).append("已支付").append(lp);
}
}
}
if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) {
opay = opay.add(latePayLastMoney);
wxBillRent.setPay(opay.toPlainString());
sb.append(";已付金额增加").append(latePayLastMoney.toPlainString());
if (opay.compareTo(new BigDecimal(dbBill.getReceivePay())) >= 0 ) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
sb.append(";【系统】账单已付金额已大于等于实际应付金额,自动归结为结清。");
}
}
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWay());
wxBillRentMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
}



Загрузка…
Отмена
Сохранить