| Line 37... |
Line 37... |
| 37 |
private UserWalletHistoryRepository userWalletHistoryRepository;
|
37 |
private UserWalletHistoryRepository userWalletHistoryRepository;
|
| 38 |
|
38 |
|
| 39 |
@Override
|
39 |
@Override
|
| 40 |
public void addAmountToWallet(int retailerId, int referenceId, WalletReferenceType referenceType, String description,
|
40 |
public void addAmountToWallet(int retailerId, int referenceId, WalletReferenceType referenceType, String description,
|
| 41 |
float amount) throws ProfitMandiBusinessException{
|
41 |
float amount) throws ProfitMandiBusinessException{
|
| - |
|
42 |
if(amount == 0) return;
|
| 42 |
UserWallet userWallet = userWalletRepository.selectByRetailerId(retailerId);
|
43 |
UserWallet userWallet = userWalletRepository.selectByRetailerId(retailerId);
|
| 43 |
userWallet.setAmount(userWallet.getAmount() + Math.round(amount));
|
44 |
userWallet.setAmount(userWallet.getAmount() + Math.round(amount));
|
| 44 |
userWalletRepository.persist(userWallet);
|
45 |
userWalletRepository.persist(userWallet);
|
| 45 |
this.createUserWalletHistory(Math.round(amount), userWallet.getId(), referenceId, referenceType, description);
|
46 |
this.createUserWalletHistory(Math.round(amount), userWallet.getId(), referenceId, referenceType, description);
|
| 46 |
}
|
47 |
}
|
| 47 |
|
48 |
|
| 48 |
@Override
|
49 |
@Override
|
| 49 |
public void consumeAmountFromWallet(int retailerId, int referenceId, WalletReferenceType referenceType,
|
50 |
public void consumeAmountFromWallet(int retailerId, int referenceId, WalletReferenceType referenceType,
|
| 50 |
String description, float amount) throws ProfitMandiBusinessException {
|
51 |
String description, float amount) throws ProfitMandiBusinessException {
|
| - |
|
52 |
if(amount == 0) return;
|
| 51 |
UserWallet userWallet = userWalletRepository.selectByRetailerId(retailerId);
|
53 |
UserWallet userWallet = userWalletRepository.selectByRetailerId(retailerId);
|
| 52 |
if(amount > userWallet.getAmount()){
|
54 |
if(amount > userWallet.getAmount()){
|
| 53 |
LOGGER.error("Wallet Balance is insufficient!");
|
55 |
LOGGER.error("Wallet Balance is insufficient!");
|
| 54 |
throw new ProfitMandiBusinessException("balance", userWallet.getAmount(), "WLT_1000");
|
56 |
throw new ProfitMandiBusinessException("balance", userWallet.getAmount(), "WLT_1000");
|
| 55 |
}
|
57 |
}
|
| Line 60... |
Line 62... |
| 60 |
|
62 |
|
| 61 |
|
63 |
|
| 62 |
@Override
|
64 |
@Override
|
| 63 |
public void rollbackAmountFromWallet(int retailerId, float amountToRollback, int rollbackReference, WalletReferenceType walletReferenceType,
|
65 |
public void rollbackAmountFromWallet(int retailerId, float amountToRollback, int rollbackReference, WalletReferenceType walletReferenceType,
|
| 64 |
String rollbackReason) {
|
66 |
String rollbackReason) {
|
| - |
|
67 |
if(amountToRollback == 0) return;
|
| 65 |
UserWallet userWallet = this.getUserWallet(retailerId);
|
68 |
UserWallet userWallet = this.getUserWallet(retailerId);
|
| 66 |
userWallet.setAmount(userWallet.getAmount() - Math.round(amountToRollback));
|
69 |
userWallet.setAmount(userWallet.getAmount() - Math.round(amountToRollback));
|
| 67 |
userWalletRepository.persist(userWallet);
|
70 |
userWalletRepository.persist(userWallet);
|
| 68 |
this.createUserWalletHistory(-Math.round(amountToRollback), userWallet.getId(), rollbackReference, walletReferenceType, rollbackReason);
|
71 |
this.createUserWalletHistory(-Math.round(amountToRollback), userWallet.getId(), rollbackReference, walletReferenceType, rollbackReason);
|
| 69 |
|
72 |
|
| 70 |
}
|
73 |
}
|
| 71 |
|
74 |
|
| 72 |
private void createUserWalletHistory(float amount, int walletId, int referenceId, WalletReferenceType referenceType, String description){
|
75 |
private void createUserWalletHistory(float amount, int walletId, int referenceId, WalletReferenceType referenceType, String description){
|
| - |
|
76 |
if(amount==0) return;
|
| 73 |
UserWalletHistory userWalletHistory = new UserWalletHistory();
|
77 |
UserWalletHistory userWalletHistory = new UserWalletHistory();
|
| 74 |
userWalletHistory.setWalletId(walletId);
|
78 |
userWalletHistory.setWalletId(walletId);
|
| 75 |
userWalletHistory.setAmount(Math.round(amount));
|
79 |
userWalletHistory.setAmount(Math.round(amount));
|
| 76 |
userWalletHistory.setReference(referenceId);
|
80 |
userWalletHistory.setReference(referenceId);
|
| 77 |
userWalletHistory.setReferenceType(referenceType);
|
81 |
userWalletHistory.setReferenceType(referenceType);
|