This commit is contained in:
77
2024-05-13 14:09:18 +08:00
parent 84cbbefdec
commit 5503eb04b4

View File

@@ -346,7 +346,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
} else { } else {
log.info("房间需要补差价,但用户余额不足 roomid {} 已支付 {} 仍需要补差价:{}", roomData.getRoomId(),roomData.getPayCoin() + roomData.getPayIncome(),diff); log.info("房间需要补差价,但用户余额不足 roomid {} 已支付 {} 仍需要补差价:{}", roomData.getRoomId(),roomData.getPayCoin() + roomData.getPayIncome(),diff);
} }
}else{ }else if(diff < 0){
// 退钱逻辑 // 退钱逻辑
long incsCoin = 0L; // 需要退的金额 long incsCoin = 0L; // 需要退的金额
long incsIncomeCoin = 0L; // 需要退的收益金额 long incsIncomeCoin = 0L; // 需要退的收益金额
@@ -362,6 +362,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
incsIncomeCoin = roomData.getPayIncome(); incsIncomeCoin = roomData.getPayIncome();
} }
} }
log.info("roomid={},进入退钱逻辑 本次退余额:{} 退收益:{} 最终消费余额:{},消费收益:{}",roomData.getRoomId(),incsCoin, incsIncomeCoin, payCoin, payIncome);
if(incsCoin > 0){ if(incsCoin > 0){
payCoin = payCoin - incsCoin; payCoin = payCoin - incsCoin;
baseMapper.incsCoin(callUserData.getId(), incsCoin); baseMapper.incsCoin(callUserData.getId(), incsCoin);
@@ -416,4 +417,33 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
return resp; return resp;
} }
public static void main(String[] args) {
long incsCoin = 0L; // 需要退的金额
long incsIncomeCoin = 0L; // 需要退的收益金额
int diff = 40;
RoomData roomData = new RoomData();
roomData.setPayCoin(100);
roomData.setPayIncome(0);
Long payCoin = Long.valueOf(roomData.getPayCoin()); // 已经支付的余额
Long payIncome = Long.valueOf(roomData.getPayIncome()); // 已经支付的收益
if(roomData.getPayCoin() > diff){ // 消费的金额大于待退款金额
incsCoin = diff;
}else {
if(roomData.getPayIncome() > (diff - roomData.getPayCoin())){ // 消费金额不够退,但是收益金额扣扣费
incsCoin = roomData.getPayCoin();
incsIncomeCoin = roomData.getPayIncome() - (diff - roomData.getPayCoin());
} else { // 消费金额不够退 余额也不够退 能退多少是多少
incsCoin = roomData.getPayCoin();
incsIncomeCoin = roomData.getPayIncome();
}
}
if(incsCoin > 0){
payCoin = payCoin - incsCoin;
}
if(incsIncomeCoin > 0){
payIncome = payIncome - incsIncomeCoin;
}
log.info("roomid={},进入退钱逻辑 本次退余额:{} 退收益:{} 最终消费余额:{},消费收益:{}",roomData.getRoomId(),incsCoin, incsIncomeCoin, payCoin, payIncome);
}
} }