| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 36362 |
4 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Make fofo_order creation idempotent on (fofo_id, invoice_number)
Fixes insert-intention gap-lock deadlocks on idx_invoice_number observed in
SHOW ENGINE INNODB STATUS at 2026-04-22 13:01:54 — two concurrent requests
inserting the same invoice_number for the same customer (client retry /
upstream webhook retry pattern).
- OrderServiceImpl.createAndGetFofoOrder: select-then-insert idempotency.
Fast path returns existing row if already created; slow-race path catches
DataIntegrityViolationException and re-selects the winner's row.
- add_uk_fofo_order_fofo_invoice.sql: adds UNIQUE KEY (fofo_id, invoice_number)
so the loser of a concurrent-insert race gets a clean DIVE instead of a
silent duplicate row (pre-check showed zero existing dup groups, safe).
findExistingFofoOrder wraps the repo call to swallow the repo's declared
ProfitMandiBusinessException — the impl actually returns null on not-found
(constructs an exception but never throws), so the swallow matches reality. |
|
| 36305 |
8 d 5 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 |
|
| 36126 |
26 d 0 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Change FOFO invoice PDF title from Retailer Invoice to Tax Invoice |
|
| 36093 |
30 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Remove WOD brand eligibility check from tertiary billing flow |
|
| 35896 |
56 d 15 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Simplify partner GST: read/write from fofo_store.gst_number instead of Counter chain
- Set fofo_store.gst_number when store code is created/updated in RetailerServiceImpl
- Replace PrivateDealUser->Counter->gstin reads with FofoStore.getGstNumber() in:
RetailerServiceImpl, OrderServiceImpl, InvoiceService
- Remove unnecessary PrivateDealUser/Counter batch fetches in getFofoRetailers/getFofoRetailerUserId
- Add migration script to backfill existing GST from counter to fofo_store |
|
| 35800 |
66 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Optimize credit note generation (bulk query), fix brand code NPE, add dealer code order validation, add @Profile guard on SolrStartupSync |
|
| 35736 |
74 d 21 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Fix remaining coding issues in FOFO order creation
- Remove unused changedTotalBillAmount dead code
- Fix NPE when serializedInventoryItemMap returns null for an item
- Replace break-in-loop with iterator().next() in createAndGetFofoOrderItem
- Replace e.printStackTrace() with proper LOGGER.error()
- Log actual exception in state rate lookup instead of swallowing it
- Skip processScratchOffer when no smartphone in order |
|
| 35733 |
74 d 21 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Fix noGST bug, remove dead price validation code, optimize live demo query in order creation
- noGST: compute once before loop with anyMatch instead of last-item-wins
- Remove pricingService.getPurchasePriceMopPriceNotFound call and empty validateDpPrice/validateMopPrice (disabled since 11 sep 2025)
- Replace selectAllSerialNumber full table load with targeted selectBySerialNumbers for order serials only |
|
| 35695 |
77 d 0 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Perf: N+1 fix in FOFO OrderServiceImpl.createOrder - batch fetch live demo serials and collect FofoOrderItems during loop |
|
| 35493 |
123 d 14 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
N+1 query optimization for B2B order creation flow
- OrderServiceImpl: Batch fetch PendingOrderItems before validation loop (line 402)
- OrderServiceImpl: Batch update opening stock using minusOpeningStockBatch
- OrderServiceImpl: Pre-fetch tagListings and GST rates before createAndGetFofoOrderItem loop
- OrderServiceImpl: Batch fetch PendingOrderItems for status update (line 719)
- CartServiceImpl: Pre-fetch items before getCartValidation loop
- SchemeServiceImpl: Batch fetch SchemeInOut records in processSchemeOut
- SmartCartService: Added minusOpeningStockBatch method for batch updates
- TagListingRepository: Added selectByItemIds batch method
- FofoOpeningStockRepository: Added findByFofoIdAndCatalogIds batch method
- PendingOrderItemRepository: Added selectByIds batch method
Performance improvement: ~70-100 DB queries reduced per order (10 items avg) |
|
| 35236 |
181 d 19 h |
amit |
/trunk/ |
Fixed notification related issues with scheme also stopped using mongo for brands Schema |
|
| 35232 |
184 d 21 h |
ranu |
/trunk/ |
insurance can we add both same time |
|
| 35209 |
193 d 19 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Samsung Upgrade Logic Added |
|
| 35156 |
200 d 0 h |
aman |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Fix:Customer gender null check |
|
| 35097 |
209 d 0 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
get quote from backend |
|
| 35055 |
216 d 23 h |
ranu |
/trunk/ |
remove cash discount from billing page |
|
| 35034 |
221 d 19 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Added new method |
|
| 35000 |
223 d 23 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
donotcommit |
|
| 34999 |
223 d 23 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
Update |
|
| 34994 |
227 d 16 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ |
mop and dp price validation hide |
|