<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SmartDukaan &#x2013; /trunk/profitmandi-dao/src/main/resources/</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Wed, 06 May 2026 14:51:55 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Sat, 02 May 2026 17:29:48 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36451 – Add reference field to catalog.offer and catalog.scheme for payout collation</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add reference field to catalog.offer and catalog.scheme for payout collation&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/Offer.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/Scheme.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/CreateOfferRequest.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/CreateSchemeRequest.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/add_reference_to_offer_scheme.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36451</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36451</guid></item>
<item><pubDate>Fri, 01 May 2026 23:48:55 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36446 – DN lifecycle: decouple rejection from restore, add DebitNoteStatus, retailer acknowledgment ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;DN lifecycle: decouple rejection from restore, add DebitNoteStatus, retailer acknowledgment flow&lt;br /&gt;
&lt;br /&gt;
- Add DebitNoteStatus enum (CREATED/RECEIVED/APPROVED/REJECTED/CANCELLED) on debit_note table&lt;br /&gt;
- Add retailer_acknowledge_timestamp on purchase_return_order&lt;br /&gt;
- rejectReturn() no longer calls restoreReturnedItems() — inventory stays reduced until retailer confirms goods received back&lt;br /&gt;
- New acknowledgeRejectedReturn(): retailer confirms receipt, restores inventory+schemes+offers, DN→CANCELLED&lt;br /&gt;
- Set DN status in receiveDebitNoteItems (RECEIVED), refundOrder (APPROVED), rejectReturn (REJECTED)&lt;br /&gt;
- notifyReturnRejected: updated message, added Finance L1+L2 to CC&lt;br /&gt;
- notifyItemsReceived: added Finance L1&lt;br /&gt;
- New notifyRejectedGoodsAcknowledged notification&lt;br /&gt;
- SQL migration with backfill for existing data&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/DebitNote.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/PurchaseReturnOrder.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/fofo/DebitNoteStatus.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnNotificationService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnNotificationServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_dn_status_retailer_ack.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36446</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36446</guid></item>
<item><pubDate>Fri, 01 May 2026 15:59:46 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36443 – Add ALTER TABLE migration to rename monitor_type normal to base</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add ALTER TABLE migration to rename monitor_type normal to base&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/alter_monitor_type_normal_to_base.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36443</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36443</guid></item>
<item><pubDate>Fri, 01 May 2026 13:44:29 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36441 – Rename monitor type &apos;normal&apos; to &apos;base&apos; in enum and SQL ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Rename monitor type &apos;normal&apos; to &apos;base&apos; in enum and SQL schema&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/MonitorType.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/sql/catalog_monitor_type.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36441</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36441</guid></item>
<item><pubDate>Fri, 01 May 2026 12:15:46 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36439 – Add outlet_name field to FofoStore entity, set from address.name on ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add outlet_name field to FofoStore entity, set from address.name on store creation&lt;br /&gt;
&lt;br /&gt;
Adds outlet_name (VARCHAR 255) to FofoStore entity so the store&apos;s display&lt;br /&gt;
name is persisted directly on fofo_store instead of requiring a join through&lt;br /&gt;
retailer_registered_address -&gt; address every time it is needed.&lt;br /&gt;
&lt;br /&gt;
Sets fofoStore.setOutletName(retailerAddress.getName()) in both creation&lt;br /&gt;
paths: RetailerServiceImpl.createFofoStoreCodeByRetailerId (primary) and&lt;br /&gt;
RetailerController.createFofoStore (secondary).&lt;br /&gt;
&lt;br /&gt;
Includes migration SQL script (migration_outlet_name_to_fofo_store.sql) to&lt;br /&gt;
ALTER TABLE and backfill existing rows from address.name. Must be run during&lt;br /&gt;
low-traffic window - fofo_store is heavily queried and ALTER takes a metadata&lt;br /&gt;
lock that blocks all concurrent SELECTs.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/FofoStore.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_outlet_name_to_fofo_store.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36439</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36439</guid></item>
<item><pubDate>Wed, 29 Apr 2026 11:26:48 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36423 – Fix catalog_monitor_type table charset to utf8 for consistency</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix catalog_monitor_type table charset to utf8 for consistency&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/sql/catalog_monitor_type.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36423</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36423</guid></item>
<item><pubDate>Mon, 27 Apr 2026 19:54:23 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36407 – Sale-return reversal: cancellability gate, CN on approve, INV reject, ROI ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale-return reversal: cancellability gate, CN on approve, INV reject, ROI semantics&lt;br /&gt;
&lt;br /&gt;
GstProService.isIrnCancellable(invoiceNumber): predicate extracted from&lt;br /&gt;
the inline 24h check used in cancelInvoiceGst, so callers outside the&lt;br /&gt;
service can decide branching without duplicating the rule. DC and no-IRN&lt;br /&gt;
cases return false — those paths use EWB cancel / credit-note issuance.&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnServiceImpl: split single-phase return-receive into&lt;br /&gt;
submitReceiptForApproval + applyReceipt. Submit persists per-item return&lt;br /&gt;
type on PurchaseReturnItem so apply (called inline on auto-approve, or&lt;br /&gt;
later from refundOrder when finance clicks Process Refund) can replay&lt;br /&gt;
the scan loop without the original itemReturnTypes map.&lt;br /&gt;
&lt;br /&gt;
processInvoiceReturn(autoApprove=true) no longer creates a PRO. Routes&lt;br /&gt;
through new cancelInvoiceFully which calls gstProService.cancelInvoiceGst&lt;br /&gt;
(the canonical IRN-cancel path setting Order.status=INVOICE_CANCELLED)&lt;br /&gt;
and adds wallet credit + warehouse-stock restoration. Cancellations now&lt;br /&gt;
live on Order/EInvoiceDetails screens, not in the returns ledger —&lt;br /&gt;
matches standard ERP practice and the existing cancelInvoiceGst flow.&lt;br /&gt;
&lt;br /&gt;
processInvoiceReturn(autoApprove=false) creates an INV-prefix PRO in&lt;br /&gt;
pending state and calls notifyFinanceApprovalPending (Finance L1+L2&lt;br /&gt;
emails resolved dynamically from PositionRepository).&lt;br /&gt;
&lt;br /&gt;
approveInvoiceReturn now runs applyInvoiceReturnViaCreditNote — raises&lt;br /&gt;
local CreditNote + CreditNoteLine rows (sequential CN# from&lt;br /&gt;
SellerWarehouse), issues CRN at GST via generateCreditNoteIrn, restores&lt;br /&gt;
warehouse stock, populates ReturnOrderInfo (this path IS a customer&lt;br /&gt;
return without DN — ROI is the right anchor), credits wallet. Drops the&lt;br /&gt;
old applyInvoiceReturnEffects helper which mishandled both cancel and&lt;br /&gt;
return-via-CN as the same path.&lt;br /&gt;
&lt;br /&gt;
rejectInvoiceReturn: new method for finance to reject pending INV PROs.&lt;br /&gt;
Sale stands — only stamps reject_timestamp/reject_remark. No inventory,&lt;br /&gt;
no wallet, no GST action, no ROI. Closes the gap where finance had&lt;br /&gt;
Approve as the only option on a pending INV PRO.&lt;br /&gt;
&lt;br /&gt;
refundOrder gains a refund guard (PRO must exist, not refunded, not&lt;br /&gt;
rejected) and applyReceipt-if-needed at the top — Finance&apos;s existing&lt;br /&gt;
Process Refund button now drives approve+refund atomically.&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnOrderRepository.selectByWarehouseIdsAndDateRange: Hibernate&lt;br /&gt;
query for a date-range listing on /return/invoice (default last 30&lt;br /&gt;
days, limit 200).&lt;br /&gt;
&lt;br /&gt;
@Transactional(rollbackFor=Exception.class) at class level —&lt;br /&gt;
ProfitMandiBusinessException is checked, so Spring&apos;s default rollback&lt;br /&gt;
didn&apos;t fire on guard failures, allowing partial commits. Closing that&lt;br /&gt;
silently broken behaviour.&lt;br /&gt;
&lt;br /&gt;
LineItemImei N+1 fix: receiveDebitNoteItems / refundOrder / rejectReturn&lt;br /&gt;
each iterated orders calling selectByLineItemId per row. Switched to the&lt;br /&gt;
existing batch selectByLineItemIds(List).&lt;br /&gt;
&lt;br /&gt;
Email template finance-receipt-approval-pending.vm and SQL migration&lt;br /&gt;
migration_imei_net_margin_modal_api.sql added (registers the&lt;br /&gt;
/getImeiNetMarginModal endpoint in dtr.api and grants access to the&lt;br /&gt;
roles that currently access /order).&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/PurchaseReturnOrderRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/PurchaseReturnOrderRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/finance-receipt-approval-pending.vm&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_imei_net_margin_modal_api.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36407</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36407</guid></item>
<item><pubDate>Mon, 27 Apr 2026 17:43:00 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36406 – Add scheme_item windowing migration script.  Migrates fofo.scheme_item from composite ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add scheme_item windowing migration script.&lt;br /&gt;
&lt;br /&gt;
Migrates fofo.scheme_item from composite (scheme_id, catalog_id) PK to&lt;br /&gt;
surrogate id BIGINT, adds audit columns, swaps the old uniqueness to&lt;br /&gt;
the 4-column window key, adds a date-driven lookup index, and installs&lt;br /&gt;
BEFORE INSERT/UPDATE triggers that enforce start&amp;lt;=end, containment in&lt;br /&gt;
parent scheme window, and non-overlap within (catalog_id, scheme_id).&lt;br /&gt;
&lt;br /&gt;
Step 4b drops the legacy UNIQUE scheme_catalog (scheme_id, catalog_id);&lt;br /&gt;
without this the windowing feature is functionally blocked.&lt;br /&gt;
&lt;br /&gt;
Applied on hadb1 in this revision.&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_scheme_item_windowing.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36406</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36406</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:57:42 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36403 – Add catalog.catalog_monitor_type table, entity, and repository for per-catalog focused/normal monitor ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add catalog.catalog_monitor_type table, entity, and repository for per-catalog focused/normal monitor type tagging&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/CatalogMonitorType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/MonitorType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/CatalogMonitorTypeRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/CatalogMonitorTypeRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/catalog_monitor_type.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36403</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36403</guid></item>
<item><pubDate>Wed, 22 Apr 2026 19:49:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36362 – Make fofo_order creation idempotent on (fofo_id, invoice_number)  Fixes insert-intention ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Make fofo_order creation idempotent on (fofo_id, invoice_number)&lt;br /&gt;
&lt;br /&gt;
Fixes insert-intention gap-lock deadlocks on idx_invoice_number observed in&lt;br /&gt;
SHOW ENGINE INNODB STATUS at 2026-04-22 13:01:54 — two concurrent requests&lt;br /&gt;
inserting the same invoice_number for the same customer (client retry /&lt;br /&gt;
upstream webhook retry pattern).&lt;br /&gt;
&lt;br /&gt;
- OrderServiceImpl.createAndGetFofoOrder: select-then-insert idempotency.&lt;br /&gt;
  Fast path returns existing row if already created; slow-race path catches&lt;br /&gt;
  DataIntegrityViolationException and re-selects the winner&apos;s row.&lt;br /&gt;
- add_uk_fofo_order_fofo_invoice.sql: adds UNIQUE KEY (fofo_id, invoice_number)&lt;br /&gt;
  so the loser of a concurrent-insert race gets a clean DIVE instead of a&lt;br /&gt;
  silent duplicate row (pre-check showed zero existing dup groups, safe).&lt;br /&gt;
&lt;br /&gt;
findExistingFofoOrder wraps the repo call to swallow the repo&apos;s declared&lt;br /&gt;
ProfitMandiBusinessException — the impl actually returns null on not-found&lt;br /&gt;
(constructs an exception but never throws), so the swallow matches reality.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/OrderServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/add_uk_fofo_order_fofo_invoice.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36362</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36362</guid></item>
<item><pubDate>Tue, 21 Apr 2026 16:10:52 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36330 – Fix getWarehousewiseCollection: add timestamp index, drop misleading FORCE INDEX  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix getWarehousewiseCollection: add timestamp index, drop misleading FORCE INDEX&lt;br /&gt;
&lt;br /&gt;
EXPLAIN on hadb1 showed the query was full-scanning transaction.userwallethistory&lt;br /&gt;
(1.9M rows) despite FORCE INDEX (idx_uwh_wallet_timestamp). The composite&lt;br /&gt;
(wallet_id, timestamp) needs an equality predicate on wallet_id to be usable,&lt;br /&gt;
but this query filters by uwh.timestamp at the scan level with no wallet_id —&lt;br /&gt;
driven from fofo_store via joins. Optimizer correctly rejected the hint and&lt;br /&gt;
picked ALL. Query averaged 773 ms across 4,095 calls (3,167 s cumulative).&lt;br /&gt;
&lt;br /&gt;
- add_idx_uwh_timestamp_reftype.sql: new index on (timestamp, reference_type)&lt;br /&gt;
  so the range scan narrows by time and reference_type filters inline.&lt;br /&gt;
- UserWalletRepositoryImpl:110: drop FORCE INDEX hint; let optimizer choose.&lt;br /&gt;
  Updated comment to explain why.&lt;br /&gt;
&lt;br /&gt;
Left PartnerCollectionPlanRepositoryImpl.getCommitmentCollectionSummary:117&lt;br /&gt;
untouched — that query drives from pcp → userwallet → userwallethistory and&lt;br /&gt;
the join has wallet_id = uw.id known at scan, so (wallet_id, timestamp) is&lt;br /&gt;
the right index there; FORCE INDEX remains appropriate.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/UserWalletRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/add_idx_uwh_timestamp_reftype.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36330</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36330</guid></item>
<item><pubDate>Tue, 21 Apr 2026 12:22:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36323 – Fix app config</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix app config&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36323</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36323</guid></item>
<item><pubDate>Mon, 20 Apr 2026 19:11:40 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36318 – Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 10 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO&lt;/div&gt;+ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ImeiVerificationResult.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/warehouse/PurchaseReturn.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/warehouse/PurchaseReturnSettlementEntity.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/PurchaseReturnRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/PurchaseReturnRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/PurchaseReturnSettlementRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/PurchaseReturnSettlementRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_unsettled_purchase_return_menu.sql&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/create-purchase-return.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/unsettled-purchase-returns.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36318</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36318</guid></item>
<item><pubDate>Mon, 20 Apr 2026 12:09:16 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36314 – Fix Dummy warehouse creation defaults and backfill invoice receiveDate  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix Dummy warehouse creation defaults and backfill invoice receiveDate&lt;br /&gt;
&lt;br /&gt;
- ensureDummyForBillingRegion: set isAvailabilityMonitored=0, transferDelayInHours=0,&lt;br /&gt;
  source=0 explicitly; copy logisticsLocation and pincode from billing warehouse&lt;br /&gt;
  (matches createVendorWarehouse pattern)&lt;br /&gt;
- Add SQL to backfill warehouse.invoice.receiveDate from warehouse.purchase.receivedOn&lt;br /&gt;
  for received invoices where receiveDate is NULL&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/WarehouseServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/fix_invoice_receiveDate_from_purchase.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36314</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36314</guid></item>
<item><pubDate>Mon, 20 Apr 2026 00:16:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36309 – Route phantom orders to per-region Dummy warehouse; complete applyColorChange rename ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;Route phantom orders to per-region Dummy warehouse; complete applyColorChange rename&lt;br /&gt;
&lt;br /&gt;
- Phantom allocations in getFulfillments route to the Dummy/GOOD/OURS warehouse under&lt;br /&gt;
  vendor 40 for the partner&apos;s billing region. WarehouseServiceImpl.ensureDummyForBillingRegion&lt;br /&gt;
  returns the existing Dummy or creates one on the fly. createVendorWarehouse hook auto-seeds&lt;br /&gt;
  a Dummy when a new billing region&apos;s first warehouse is created.&lt;br /&gt;
- WarehouseRepository.selectByVendorBillingAndType supports the lookup.&lt;br /&gt;
- OrderService interface: rename notifyColorChange -&gt; applyColorChange to match r36305&apos;s impl&lt;br /&gt;
  rename (r36305 renamed only the impl, leaving trunk inconsistent).&lt;br /&gt;
- PurchaseOrderServiceImpl: remove auto-rebalance on PO receive. Real-wh rebalancing and&lt;br /&gt;
  phantom-to-real binding are now ops-driven via the order billing UI&lt;br /&gt;
  (changeFulfillmentWarehouse / applyColorChange / moveOrdersFulfilmentWarehouse).&lt;br /&gt;
- migration_dummy_warehouses.sql: idempotent seeding script for 14 Dummy/GOOD/OURS warehouses&lt;br /&gt;
  under vendor 40, one per WAREHOUSE_MAP billing region that lacked one. Already applied to&lt;br /&gt;
  hadb1 and local.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/WarehouseRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/WarehouseRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/BrandRegionMappingRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/OrderService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PurchaseOrderServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/WarehouseService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/WarehouseServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_dummy_warehouses.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36309</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36309</guid></item>
<item><pubDate>Sun, 19 Apr 2026 07:57:42 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36305 – Batch processing infrastructure + per-partner offer processing + partner limit ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Batch processing infrastructure + per-partner offer processing + partner limit optimization + investment cache eviction on billing/payment/cancellation with 3hr TTL&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/CacheConfig.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CronBatch.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CronBatchItem.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/transaction/CronBatchItemStatus.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/transaction/CronBatchStatus.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchItemRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchItemRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferPartnerPayoutData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/SellinPartnerPayoutData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/OrderServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/PartnerLimitUpdateData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/WalletServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/create_cron_batch_tables.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36305</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36305</guid></item>
<item><pubDate>Mon, 30 Mar 2026 19:39:09 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36105 – Remove SQL migration files from version control</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove SQL migration files from version control&lt;/div&gt;x /trunk/profitmandi-dao/src/main/resources/db&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36105</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36105</guid></item>
<item><pubDate>Mon, 30 Mar 2026 19:34:45 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36103 – Add DN rejection with full reversal: restore inventory, schemes, price ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 28 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add DN rejection with full reversal: restore inventory, schemes, price drops, offers; add deny reason to purchase return items; add purchase return notification service&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/PurchaseReturnItem.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/InventoryService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/InventoryServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnNotificationService.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnNotificationServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/pricing/PriceDropService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/pricing/PriceDropServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/pt_osc_large_tables.sh&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V001__create_pinelabs_tables.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V002__cleanup_old_pinelabs_implementation.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V003__optimize_mobile_brand_queries.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V004__optimize_today_po_queries.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V005__optimize_lead_description_query.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V006__optimize_aging_stock_queries.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V007__add_source_to_partner_type_change.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V008__optimize_mobile_lmp_graph_query.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V009__add_margin_only_to_category.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V010__add_loan_fofo_id_index.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V011__add_prebooking_payment_mode.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V012__create_purchase_return_order.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V013__add_invoice_return_menu.sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/db/migration/V014__add_deny_reason_to_purchase_return_item.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36103</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36103</guid></item>
<item><pubDate>Tue, 17 Mar 2026 19:39:37 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36008 – Fix:Redesign the Po Approval page add total count, Add mail ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 16 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Redesign the Po Approval page add total count, Add mail in bcc for testing , partnerpending task api response optimisation,&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/TransactionApprovalModel.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/CurrentInventorySnapshotRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/CurrentInventorySnapshotRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/FofoOpeningStockRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/TransactionRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/TransactionRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/TrialServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/AdminUser.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreTimelineTatServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/trial-activation-email.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OrderController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerPendingTasksController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/dashboard-modal.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/transaction/transaction-approvals.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36008</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=36008</guid></item>
<item><pubDate>Sat, 07 Mar 2026 14:12:01 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35966 – Add migration SQL for bulk order approval report menu and ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add migration SQL for bulk order approval report menu and API access&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_bulk_order_approval_report_menu.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35966</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35966</guid></item>
<item><pubDate>Sat, 07 Mar 2026 12:50:56 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35956 – Mail outbox pattern: persist mail in transaction, send async after ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Mail outbox pattern: persist mail in transaction, send async after commit. Fixes lock contention between /cancelOrder and /om/addBillingDetailsForGrouppedOrders caused by SMTP calls inside transactions holding DB locks.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/AsyncConfig.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/mail&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/mail/MailOutbox.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/mail/MailOutboxAttachment.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/mail&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/mail/MailOutboxRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/mail/MailOutboxRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/biuedart/BluedartServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/dtdc/DTDCServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/PurSaleServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/AuthServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/icicilombard/IciciLombardService.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/mail&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/mail/MailOutboxService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/BulkOrderService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/scheduled/SDCreditScheduler.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/UserServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/mail_outbox.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35956</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35956</guid></item>
<item><pubDate>Thu, 05 Mar 2026 16:42:01 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 35940 – Update shopify env</title><description>&lt;div&gt;&lt;strong&gt;vikas – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Update shopify env&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35940</guid></item>
<item><pubDate>Mon, 02 Mar 2026 11:03:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35908 – Fix NPE in getTotalSaleByGst when retailer has null GST number; ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix NPE in getTotalSaleByGst when retailer has null GST number; add ALTER TABLE to migration script&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/PartnerTypeChangeServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/sql/migration_gst_to_fofo_store.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35908</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35908</guid></item>
<item><pubDate>Sun, 01 Mar 2026 22:17:20 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35896 – Simplify partner GST: read/write from fofo_store.gst_number instead of Counter chain ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Simplify partner GST: read/write from fofo_store.gst_number instead of Counter chain&lt;br /&gt;
&lt;br /&gt;
- Set fofo_store.gst_number when store code is created/updated in RetailerServiceImpl&lt;br /&gt;
- Replace PrivateDealUser-&gt;Counter-&gt;gstin reads with FofoStore.getGstNumber() in:&lt;br /&gt;
  RetailerServiceImpl, OrderServiceImpl, InvoiceService&lt;br /&gt;
- Remove unnecessary PrivateDealUser/Counter batch fetches in getFofoRetailers/getFofoRetailerUserId&lt;br /&gt;
- Add migration script to backfill existing GST from counter to fofo_store&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/OrderServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_gst_to_fofo_store.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35896</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35896</guid></item>
<item><pubDate>Wed, 25 Feb 2026 17:55:06 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35850 – Add missing think.walnut.digital.recharge.username and password to shared-prod and shared-staging properties</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add missing think.walnut.digital.recharge.username and password to shared-prod and shared-staging properties&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35850</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35850</guid></item>
<item><pubDate>Mon, 23 Feb 2026 16:02:32 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35832 – Unify property loading: all modules use runtime profile with shared ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Unify property loading: all modules use runtime profile with shared properties from dao, remove duplicated DB/Hibernate/HikariCP/integration keys from module files&lt;/div&gt;~ /trunk/profitmandi-cron/build.gradle&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/config/DBConfig.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/dev.properties&lt;br /&gt;x /trunk/profitmandi-cron/src/main/resources/META-INF/env.properties&lt;br /&gt;+ /trunk/profitmandi-cron/src/main/resources/META-INF/env.property&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-dev.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-staging.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/dao/config/WebDBContextConfigure.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/dao/config/WebDBContextConfigure.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35832</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35832</guid></item>
<item><pubDate>Mon, 23 Feb 2026 15:13:37 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35830 – Remove 6 dead property files (dao + cron), remove hardcoded ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove 6 dead property files (dao + cron), remove hardcoded shared-dev from cron config&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/config/DBConfig.java&lt;br /&gt;x /trunk/profitmandi-cron/src/main/resources/META-INF/dev.properties&lt;br /&gt;x /trunk/profitmandi-cron/src/main/resources/META-INF/prod.properties&lt;br /&gt;x /trunk/profitmandi-cron/src/main/resources/META-INF/staging.properties&lt;br /&gt;x /trunk/profitmandi-dao/src/main/resources/META-INF/dev.properties&lt;br /&gt;x /trunk/profitmandi-dao/src/main/resources/META-INF/prod.properties&lt;br /&gt;x /trunk/profitmandi-dao/src/main/resources/META-INF/staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35830</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35830</guid></item>
<item><pubDate>Mon, 23 Feb 2026 14:58:17 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35829 – Restore hikari.keepaliveTime accidentally removed in r35828</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Restore hikari.keepaliveTime accidentally removed in r35828&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35829</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35829</guid></item>
<item><pubDate>Mon, 23 Feb 2026 14:50:02 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35828 – Optimize order creation: reduce DB queries, fix Hibernate batching, move ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 11 file(s) modified&lt;/strong&gt;&lt;br/&gt;Optimize order creation: reduce DB queries, fix Hibernate batching, move filters to SQL&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/config/DBConfig.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/LoanRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/WalletServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/dao/config/WebDBContextConfigure.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/dao/config/WebDBContextConfigure.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35828</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35828</guid></item>
<item><pubDate>Tue, 03 Feb 2026 20:03:25 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 35653 – PineLabs Offer and Create Order</title><description>&lt;div&gt;&lt;strong&gt;vikas – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;PineLabs Offer and Create Order&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35653</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35653</guid></item>
<item><pubDate>Sat, 31 Jan 2026 13:12:37 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35633 – Add hikari.keepaliveTime property to all environment configs</title><description>&lt;div&gt;&lt;strong&gt;amit – 13 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add hikari.keepaliveTime property to all environment configs&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/run.properties&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-web/src/main/resources/META-INF/staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35633</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35633</guid></item>
<item><pubDate>Fri, 30 Jan 2026 17:38:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35626 – Ticket system: add unread tracking, pagination, search, and partner notifications</title><description>&lt;div&gt;&lt;strong&gt;amit – 25 file(s) modified&lt;/strong&gt;&lt;br/&gt;Ticket system: add unread tracking, pagination, search, and partner notifications&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/cs/TicketReadStatus.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/TicketViewModel.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/PositionRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/PositionRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketReadStatusRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketReadStatusRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/partner-ticket-update.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/ticket-manager.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/ticket-renderer.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket-content.vm&lt;br /&gt;x /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket-paginated.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets-content.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket-content.vm&lt;br /&gt;x /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket-paginated.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/TicketChatActivityController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35626</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35626</guid></item>
<item><pubDate>Tue, 27 Jan 2026 21:31:11 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35595 – Migrate from C3P0 to HikariCP connection pooling  - Replace ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 9 file(s) modified&lt;/strong&gt;&lt;br/&gt;Migrate from C3P0 to HikariCP connection pooling&lt;br /&gt;
&lt;br /&gt;
- Replace C3P0 properties with HikariCP settings in all properties files&lt;br /&gt;
- Delete unused persistence.xml (was not referenced by any code)&lt;br /&gt;
- New settings: maximumPoolSize=20, minimumIdle=2, idleTimeout=30s, maxLifetime=30min&lt;/div&gt;~ /trunk/profitmandi-dao/build.gradle&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/ActivatedImei.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/FofoUser.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/InventoryServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/dev.properties&lt;br /&gt;x /trunk/profitmandi-dao/src/main/resources/META-INF/persistence.xml&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/META-INF/staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35595</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35595</guid></item>
<item><pubDate>Wed, 14 Jan 2026 16:05:06 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35547 – Real-time Solr updates for TagListing changes  - Add Spring ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 23 file(s) modified&lt;/strong&gt;&lt;br/&gt;Real-time Solr updates for TagListing changes&lt;br /&gt;
&lt;br /&gt;
- Add Spring ApplicationEvent for TagListing changes (price, status, create, delete)&lt;br /&gt;
- Add async listener for incremental Solr updates (updateSingleCatalog)&lt;br /&gt;
- Add failure tracking with solr_update_failures table for visibility&lt;br /&gt;
- Add admin dashboard API for tech team to retry failed updates&lt;br /&gt;
- Add auto-retry job every 5 minutes (max 3 retries)&lt;br /&gt;
- Add startup sync for consistency after restart&lt;br /&gt;
- Add isProd check to skip Solr updates in local/dev environment&lt;br /&gt;
- Inject event publisher in TagListing, PriceDrop, Indent controllers&lt;/div&gt;+ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/SolrRetryJob.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/AsyncConfig.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/TagListing.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/solr&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/solr/SolrUpdateFailure.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/SolrStartupSync.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/TagListingChangedEvent.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/TagListingChangeListener.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/TagListingEventPublisher.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/TagListingRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/TagListingRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/solr&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/solr/SolrUpdateFailureRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/solr/SolrUpdateFailureRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/solr/FofoSolr.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/solr_update_failures.sql&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/admin&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/admin/SolrFailureController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/IndentController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PriceDropController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/TagListingController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35547</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35547</guid></item>
<item><pubDate>Mon, 29 Dec 2025 18:22:44 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 35499 – Fix:Trial Activation Mail, All trial user page and gst validation</title><description>&lt;div&gt;&lt;strong&gt;aman – 11 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Trial Activation Mail, All trial user page and gst validation&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/TrialForm.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/user/PrivateDealUserRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/user/PrivateDealUserRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/TrialServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/trial-activation-email.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/TrialController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/env.property&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/trial-form.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/all-trial-form.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/trial-form.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/trial-verified.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35499</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35499</guid></item>
<item><pubDate>Tue, 23 Dec 2025 18:32:48 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 35489 – Fix:Trial Activation Mail</title><description>&lt;div&gt;&lt;strong&gt;aman – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Trial Activation Mail&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ProfitMandiConstants.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/trial-activation-email.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/trial-verified.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35489</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35489</guid></item>
<item><pubDate>Fri, 19 Dec 2025 22:50:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35449 – Add missing think.walnut.digital.recharge.balance.url property to shared properties</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add missing think.walnut.digital.recharge.balance.url property to shared properties&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/resources/shared-prod.properties&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/shared-staging.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35449</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35449</guid></item>
<item><pubDate>Thu, 18 Dec 2025 12:35:48 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 35418 – Fix:Trial Mail For training and activation mail to user</title><description>&lt;div&gt;&lt;strong&gt;aman – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Trial Mail For training and activation mail to user&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/web/util/ResponseSender.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/TrialServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreTimelineTatService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreTimelineTatServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/trial-activation-email.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35418</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35418</guid></item>
<item><pubDate>Wed, 17 Dec 2025 13:42:57 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35414 – Fixed performance</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed performance&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/application.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35414</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35414</guid></item>
<item><pubDate>Wed, 17 Dec 2025 13:10:13 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35413 – Fixed performance</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed performance&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/shared-dev.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35413</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fresources%2F&amp;rev=35413</guid></item>
</channel></rss>