mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-11 10:49:52 +08:00
更新会员交易记录的冻结金额
This commit is contained in:
@@ -34,5 +34,7 @@ public interface MemberAdapayRecordService{
|
|||||||
|
|
||||||
void updateRefundAmount(String paymentId, BigDecimal amount);
|
void updateRefundAmount(String paymentId, BigDecimal amount);
|
||||||
|
|
||||||
void updateSpendAmountAndRefundAmount(String paymentId, BigDecimal SpendAmount, BigDecimal RefundAmount);
|
void updateFreezeAmount(String paymentId, BigDecimal amount);
|
||||||
|
|
||||||
|
void updateSpendAmountAndRefundAmount(String paymentId, BigDecimal SpendAmount, BigDecimal RefundAmount, BigDecimal freezeAmount);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class MemberAdapayRecordServiceImpl implements MemberAdapayRecordService
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateSpendAmount(String paymentId, BigDecimal amount) {
|
public void updateSpendAmount(String paymentId, BigDecimal amount) {
|
||||||
updateSpendAmountAndRefundAmount(paymentId, amount, null);
|
updateSpendAmountAndRefundAmount(paymentId, amount, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +99,17 @@ public class MemberAdapayRecordServiceImpl implements MemberAdapayRecordService
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateRefundAmount(String paymentId, BigDecimal amount) {
|
public void updateRefundAmount(String paymentId, BigDecimal amount) {
|
||||||
updateSpendAmountAndRefundAmount(paymentId, null, amount);
|
updateSpendAmountAndRefundAmount(paymentId, null, amount, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新冻结金额
|
||||||
|
* @param paymentId
|
||||||
|
* @param amount
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void updateFreezeAmount(String paymentId, BigDecimal amount) {
|
||||||
|
updateSpendAmountAndRefundAmount(paymentId, null, null, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -110,20 +120,26 @@ public class MemberAdapayRecordServiceImpl implements MemberAdapayRecordService
|
|||||||
* @param RefundAmount 退款金额
|
* @param RefundAmount 退款金额
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateSpendAmountAndRefundAmount(String paymentId, BigDecimal SpendAmount, BigDecimal RefundAmount) {
|
public void updateSpendAmountAndRefundAmount(String paymentId, BigDecimal SpendAmount, BigDecimal RefundAmount, BigDecimal freezeAmount) {
|
||||||
MemberAdapayRecord record = selectByPaymentId(paymentId);
|
MemberAdapayRecord record = selectByPaymentId(paymentId);
|
||||||
if (record == null) {
|
if (record == null) {
|
||||||
log.info("更新交易记录的消费金额和退款金额paymentId:{}, 查询为空", paymentId);
|
log.info("更新交易记录的消费金额和退款金额paymentId:{}, 查询为空", paymentId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (RefundAmount != null) {
|
if (RefundAmount != null) {
|
||||||
|
// 设置退款金额 = 历史退款金额 + 本次退款金额
|
||||||
record.setRefundAmt(record.getRefundAmt().add(RefundAmount));
|
record.setRefundAmt(record.getRefundAmt().add(RefundAmount));
|
||||||
}
|
}
|
||||||
if (SpendAmount != null) {
|
if (SpendAmount != null) {
|
||||||
|
// 设置消费金额 = 历史消费金额 + 本次消费金额
|
||||||
record.setSpendAmt(record.getSpendAmt().add(SpendAmount));
|
record.setSpendAmt(record.getSpendAmt().add(SpendAmount));
|
||||||
}
|
}
|
||||||
// 更新此笔交易单的剩余金额 = 支付金额 - 累计退款金额 - 累计消费金额
|
if (freezeAmount != null) {
|
||||||
record.setBalanceAmt(record.getPayAmt().subtract(record.getRefundAmt()).subtract(record.getSpendAmt()));
|
// 设置冻结金额 = 历史冻结金额 + 本次冻结金额
|
||||||
|
record.setFreezeAmt(record.getFreezeAmt().add(freezeAmount));
|
||||||
|
}
|
||||||
|
// 更新此笔交易单的剩余金额 = 支付金额 - 累计退款金额 - 累计消费金额 - 累计冻结金额
|
||||||
|
record.setBalanceAmt(record.getPayAmt().subtract(record.getRefundAmt()).subtract(record.getSpendAmt()).subtract(record.getFreezeAmt()));
|
||||||
updateByPrimaryKeySelective(record);
|
updateByPrimaryKeySelective(record);
|
||||||
|
|
||||||
// if (BigDecimal.ZERO.compareTo(record.getBalanceAmt()) != 0) {
|
// if (BigDecimal.ZERO.compareTo(record.getBalanceAmt()) != 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user