Subversion Repositories SmartDukaan

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
36777 21 d 11 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Remove unused getOpeningTillExcludingPurchase (no callers)  
36513 46 d 6 h amit /trunk/ Add running_balance to userwallethistory: persist wallet balance after each transaction for instant ledger display. Populate at all write paths (WalletService, adjustTransaction). Read directly in wallet statement template and CSV download. Includes backfill migration SQL. Renamed walletSummart to walletSummary.  
36372 62 d 12 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Wallet: SELECT FOR UPDATE on user_wallet mutations to close lost-update hole

addAmountToWallet/consumeAmountFromWallet(x2)/rollbackAmountFromWallet all
follow a read-modify-write pattern on user_wallet with no pessimistic lock
and no @Version, so two concurrent tx for the same partner both read the
same pre-snapshot amount, compute their own deltas, and commit - the second
UPDATE silently overwrites the first's credit/debit. user_wallet_history
still gets both rows, so balance drifts vs sum(history) with no exception.

Replaces the misnamed (and body-broken) selectByIdForUpdate - whose
implementation was a plain selectById, not a lock - with a new
selectByRetailerIdForUpdate that issues SELECT ... FOR UPDATE via
LockModeType.PESSIMISTIC_WRITE, mirroring the idiom already used in
GenericRepositoryImpl.selectByIdForUpdate and OrderRepositoryImpl.
Preserves the create-on-missing behavior of selectByRetailerId so
first-time partners keep working.

Switches the four read-modify-write call sites in WalletServiceImpl from
selectByRetailerId to the new locking variant. Read-only callers
(getUserWalletByUserId, getUserWalletHistoryByUserId, etc.) keep using
the non-locking selectByRetailerId - MVCC snapshot reads stay non-blocking
for display/statement endpoints.

Also drops the stale commented-out selectByIdForUpdate line in
rollbackAmountFromWallet and removes the broken method from the
UserWalletRepository interface / impl - it had zero live callers.

Blast radius: every write call to these three wallet methods now holds
an X-lock on the target user_wallet row for the rest of the outer tx.
Concurrent write tx for the same partner will briefly serialize at the
SELECT FOR UPDATE - correct serialization instead of silent drift.
Read-only traffic is unaffected (MVCC).
 
36305 67 d 17 h amit /trunk/profitmandi-dao/src/main/ Batch processing infrastructure + per-partner offer processing + partner limit optimization + investment cache eviction on billing/payment/cancellation with 3hr TTL  
35828 122 d 10 h amit /trunk/ Optimize order creation: reduce DB queries, fix Hibernate batching, move filters to SQL  
34966 294 d 6 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Removed wallet Credit  
34752 356 d 1 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Fixed Activation Scheme Logic  
34674 372 d 7 h aman.kumar /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show the partner name when wallet amount is not sufficient on bulk order  
34575 404 d 8 h vikas.jangra /trunk/ Liquidation/Bidding auto approval  
34261 478 d 8 h tejus.lohani /trunk/ Give (a pending,approved,reject)add-wallet-req report  
33861 624 d 10 h tejus.lohani /trunk/ check fullStockPayment and orderDispatch and auto mark billing and fullstock payment  
33848 628 d 1 h tejus.lohani /trunk/ fix bm approval flow - loi generate after approval  
33845 628 d 11 h tejus.lohani /trunk/ new flow of Onboarding process and wod-fin report ,  
33547 720 d 4 h tejus.lohani /trunk/ changes in Max negative wallet value  
33421 754 d 2 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added amount  
33247 796 d 10 h ranu /trunk/ warehouse billing phase one and added signature exception  
33194 807 d 12 h amit.gupta /trunk/ Added 10K for Referral  
33180 812 d 10 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ patch for  
33172 817 d 8 h tejus.lohani /trunk/ add bulk order service in admin dashboard  
32871 888 d 8 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ AA  
32494 1000 d 11 h amit.gupta /trunk/ Merged changes related to Smartdukaan  
31921 1146 d 10 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Fixed scheme depenedncy issue  
31521 1240 d 7 h amit.gupta /trunk/ Change Cutoff investment to 40
and MIN_INVESTMENT_PERCENT to 20
 
31420 1265 d 5 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Fixed net availability to SaholicCIS Table  
30998 1361 d 5 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Can now pay for Damage protection even when insufficient wallet. Wallet is allowed to go negative in this case.  
30889 1399 d 8 h amit.gupta /trunk/ Fixed commit  
30748 1430 d 13 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30747 1430 d 13 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Recharge not allowed for low insvestments  
30744 1431 d 5 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30743 1431 d 5 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30742 1431 d 5 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30741 1431 d 7 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30740 1431 d 7 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/ Added scheme in processing for specified scheme ids  
30677 1458 d 4 h amit.gupta /trunk/ Added scheme in processing for specified scheme ids  
30449 1497 d 8 h amit.gupta /trunk/ Added Offer Changes  
30066 1585 d 6 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Fixed logic to purchase/sales based value  
30025 1591 d 9 h amit.gupta /trunk/ Added notification for all credit  
29538 1699 d 8 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/  
29498 1701 d 11 h amit.gupta /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/  
28596 1809 d 6 h amit.gupta /trunk/ Added logic to get closing of all retailers.