<?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; /</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Thu, 22 Oct 2026 21:29:25 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2F&amp;max=40&amp;peg=37940</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2F&amp;peg=37940&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Thu, 22 Oct 2026 19:24:04 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37940 – feat(credit): consolidated Loan Default mail to Tarun Verma and Kamini ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): consolidated Loan Default mail to Tarun Verma and Kamini Sharma&lt;br /&gt;
&lt;br /&gt;
- cron (blockDefaultedPartners): when it newly blocks partners, one mail listing them (partner, code, default pending, loans, oldest days, RBM L1, since) plus the total still on Loan Default&lt;br /&gt;
- --sendLoanDefaultBlockMails catch-up: one mail with the full current Loan Default list&lt;br /&gt;
- a mail failure never fails the cron&lt;br /&gt;
- RBM names built from first/last name without &apos;null&apos; when one is missing&lt;br /&gt;
- a loan default only blocks SD Credit and never changes store status&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/test/java/com/spice/profitmandi/service/transaction/SDCreditServiceLoanDefaultTest.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37940&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37940&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 19:04:25 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37939 – Scheme and offer payouts skip SUSPENDED and CLOSED stores  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Scheme and offer payouts skip SUSPENDED and CLOSED stores&lt;br /&gt;
&lt;br /&gt;
- Activation special support (processActivation): payouts of suspended or closed stores stay pending,&lt;br /&gt;
  paid only if the store is revived&lt;br /&gt;
- Offer rollout and payout preview (activation/tertiary and sell-in): suspended and closed stores are&lt;br /&gt;
  dropped by store status, whatever the partner criteria&lt;/div&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;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37939&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37939&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 18:08:10 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37938 – Store status lifecycle: temporary activation expiry and weekly closure reminder ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Store status lifecycle: temporary activation expiry and weekly closure reminder&lt;br /&gt;
&lt;br /&gt;
- checkPartnerActiveStore returns expired temporary activations to their previous status&lt;br /&gt;
  (the old job failed with a NullPointerException on permanently active stores)&lt;br /&gt;
- Mondays 09:00: stores suspended for more than 7 days mailed to Neeraj with the other closers in CC&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/scheduled/ScheduledSkeleton.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37938&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37938&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 18:08:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37937 – Store status lifecycle: web login, wallet guard and V2 endpoints ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Store status lifecycle: web login, wallet guard and V2 endpoints&lt;br /&gt;
&lt;br /&gt;
- Partner login and token detail refuse a SUSPENDED or CLOSED store (STORE_LOGIN_BLOCKED) with the reason;&lt;br /&gt;
  token detail returns storeStatus&lt;br /&gt;
- PAUSED blocks partner wallet spends at checkout, insurance and clearance bid&lt;br /&gt;
- V2 retailer endpoints mirror the fofo ones through StoreStatusService&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/checkout/OrderController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/InsuranceController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/StoreController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/UserController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoRetailerController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/V2InsuranceController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37937&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37937&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 18:08:06 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37936 – Store status lifecycle: fofo store pages and endpoints  - ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Store status lifecycle: fofo store pages and endpoints&lt;br /&gt;
&lt;br /&gt;
- Pause / un-pause / suspend endpoints with a mandatory reason, status history; activate, temporary&lt;br /&gt;
  activate and close go through StoreStatusService&lt;br /&gt;
- Active stores page lists ACTIVE + PAUSED with status badges; inactive page lists SUSPENDED + CLOSED;&lt;br /&gt;
  buttons shown by the viewer&apos;s permissions&lt;br /&gt;
- LOI revival: a SUSPENDED store comes back on the same code; a CLOSED store gets a new code at store&lt;br /&gt;
  creation (no longer reopened)&lt;br /&gt;
- JS version 447&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/RetailerController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/retailer.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/inactive-stores.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/store-investment.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37936&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37936&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 18:07:55 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37935 – Store status lifecycle: ACTIVE / PAUSED / SUSPENDED / CLOSED ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 24 file(s) modified&lt;/strong&gt;&lt;br/&gt;Store status lifecycle: ACTIVE / PAUSED / SUSPENDED / CLOSED with a status log&lt;br /&gt;
&lt;br /&gt;
- fofo_store.store_status is the source of truth; active / closed are written in step for old readers&lt;br /&gt;
- StoreStatusService is the only writer: transition rules, permissions (pause: Tarun, Kamini, Sales L5+&lt;br /&gt;
  for their partners; suspend / activate / temp: Tarun, Kamini, Neeraj, Accounts L4+; close: Tarun,&lt;br /&gt;
  Kamini, Accounts L3+), mandatory reason, fofo.store_status_log row, status-change mail&lt;br /&gt;
- Closure only from SUSPENDED with a zero wallet and no open loan (limit blocks included)&lt;br /&gt;
- Revival: SUSPENDED comes back on the same store, CLOSED gets a new store; both kept in fofo.store_revival&lt;br /&gt;
- PAUSED blocks partner wallet spends (recharge, prebooking, insurance at sale)&lt;br /&gt;
- Temporary activation expiry and the weekly closure reminder&lt;br /&gt;
- selectInActiveStore renamed selectInactiveStores (SUSPENDED + CLOSED, uncached)&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/dao/entity/fofo/StoreRevival.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/StoreStatusLog.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/fofo/StoreRevivalType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/fofo/StoreStatus.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/fofo/StoreStatusAction.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/fofo/StoreStatusSource.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/dtr/FofoStoreRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/FofoStoreRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/StoreRevivalRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/StoreRevivalRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/StoreStatusLogRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/StoreStatusLogRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/LoanRepository.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/service/integrations/zest/InsuranceServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PrebookingServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/recharge/RechargeServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerService.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/StoreAccess.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreClosureService.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreStatusService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37935&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37935&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 15:18:39 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37934 – feat(catalog): brand identifier mandatory on item upload for flagged brands&apos; ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(catalog): brand identifier mandatory on item upload for flagged brands&apos; smartphones&lt;br /&gt;
&lt;br /&gt;
- catalog.brand_category.brand_identifier_required (mobile rows, category_id 3) maps to BrandCategory.brandIdentifierRequired&lt;br /&gt;
- ItemLoaderService rejects a category 10006 row with smartphone HSN (Item.SMART_PG) and blank Brand Identifier&lt;br /&gt;
  when the brand&apos;s flag is set; feature phones (85171400), vendors 500/515 and Any Colour rows are exempt&lt;br /&gt;
- DDL + flags already applied on hadb1 2026-10-22: Samsung, Vivo, Oppo, Realme, Xiaomi, POCO, Motorola, Tecno&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/BrandCategory.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/catalog/ItemLoaderService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37934&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37934&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 15:00:13 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37933 – feat(credit): --sendLoanDefaultBlockMails one-shot catch-up mail for current loan-default blocks (needs ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): --sendLoanDefaultBlockMails one-shot catch-up mail for current loan-default blocks (needs dao r37930)&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/scheduled/ScheduledTasks.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37933&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37933&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 15:00:12 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37932 – feat(credit): gateway status returns partner-safe statusDescription when SD Credit is ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): gateway status returns partner-safe statusDescription when SD Credit is inactive (needs dao r37930)&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/GatewayController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37932&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37932&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 15:00:11 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37931 – feat(credit): show partner-safe SD Credit inactive message on partner Wallet ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): show partner-safe SD Credit inactive message on partner Wallet page (needs dao r37930)&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/wallet-details.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37931&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37931&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 15:00:04 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37930 – feat(credit): mail Sales/RBM on every credit block/unblock; partner-safe inactive message ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): mail Sales/RBM on every credit block/unblock; partner-safe inactive message&lt;br /&gt;
&lt;br /&gt;
- every credit_block_log entry (manual, cron &apos;system&apos;, gateway activation) mails the partner&apos;s active Sales L1+L2 and RBM L1 via mail_outbox: partner, status, reason, done by, time&lt;br /&gt;
- a mail failure never fails the block/unblock&lt;br /&gt;
- sendLoanDefaultBlockMails(): one-time catch-up mail for accounts already LOAN_DEFAULT&lt;br /&gt;
- getPartnerInactiveMessage(): loan default -&gt; &apos;on hold due to payments overdue beyond 30 days&apos;, others generic; internal typed reason never exposed&lt;br /&gt;
- sddirect/summary (SDCreditResponseOut) now carries statusDescription when inactive&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/SDCreditResponseOut.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/test/java/com/spice/profitmandi/service/transaction/SDCreditServiceLoanDefaultTest.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37930&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37930&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 12:42:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37929 – chore(fofo): bump jsVersion to 446 for partner-credit-detail.js (r37927)</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;chore(fofo): bump jsVersion to 446 for partner-credit-detail.js (r37927)&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37929&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37929&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 12:42:44 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37928 – feat(credit): run loan-default credit block in notifyDefaultLoans cron (needs dao ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): run loan-default credit block in notifyDefaultLoans cron (needs dao r37926)&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37928&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37928&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 12:42:43 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37927 – feat(credit): show active/inactive reason + logs popup; CEO-only reactivation of ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): show active/inactive reason + logs popup; CEO-only reactivation of loan default&lt;br /&gt;
&lt;br /&gt;
- Partners Credit Detail: Active Status column (Active / Inactive - Awaiting Activation | Loan Default | Blocked) with Logs popup (reason + who)&lt;br /&gt;
- unblock and gateway Activate now require a reason; switchCreditGateway goes through the loan-default guard&lt;br /&gt;
- new sanctioned account starts as AWAITING_ACTIVATION&lt;br /&gt;
- needs dao r37926&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SDCreditController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/partner-credit-detail.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/credit-block-logs.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/partner-credit-detail-row.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/partner-credit-detail.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37927&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37927&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 12:42:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37926 – feat(credit): deactivate credit on loan default; only the CEO can ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(credit): deactivate credit on loan default; only the CEO can reactivate&lt;br /&gt;
&lt;br /&gt;
- credit_account.inactive_reason: AWAITING_ACTIVATION / LOAN_DEFAULT / BLOCKED (internal only)&lt;br /&gt;
- blockDefaultedPartners(): defaulted loans (unpaid past 30 days) totalling &gt;= Rs.25,000 -&gt; inactive LOAN_DEFAULT, logged as &apos;system&apos;&lt;br /&gt;
- repayment never reactivates; LOAN_DEFAULT can only be reactivated by tarun.verma (guard in activateCredit)&lt;br /&gt;
- a CEO reactivation covers existing defaults; a later default blocks again&lt;br /&gt;
- reason now mandatory on unblock/activate; updateRisk high-risk deactivation now records BLOCKED + log&lt;br /&gt;
- DDL: claude-data/sql-migrations/2026-10-22_credit_account_inactive_reason.sql (applied on hadb1)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/dtr/CreditAccount.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/dtr/CreditInactiveReason.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/test/java/com/spice/profitmandi/service/transaction/SDCreditServiceLoanDefaultTest.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37926&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37926&amp;peg=37940</guid></item>
<item><pubDate>Thu, 22 Oct 2026 11:48:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37925 – fix(cron): stop subtracting a year from Realme activation date  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(cron): stop subtracting a year from Realme activation date&lt;br /&gt;
&lt;br /&gt;
Realme&apos;s expiryDate is the activation date (the phonecheck page shows it as&lt;br /&gt;
&quot;Activation Date&quot;). Since r37423 the job subtracted a year, storing every&lt;br /&gt;
cron-written Realme activation one year early.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/CheckRealmeWarrantyTask.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37925&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37925&amp;peg=37940</guid></item>
<item><pubDate>Wed, 21 Oct 2026 16:50:55 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 37924 – Login Usertype Tracker</title><description>&lt;div&gt;&lt;strong&gt;vikas – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Login Usertype Tracker&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoginController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/mobileapp.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37924&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37924&amp;peg=37940</guid></item>
<item><pubDate>Wed, 21 Oct 2026 12:52:36 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37923 – feat: add Catalog_Id and HSN_Code columns to warehouse purchase invoices ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat: add Catalog_Id and HSN_Code columns to warehouse purchase invoices report&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/common/util/ExcelUtils.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/warehouse/WarehouseSupplierInvoice.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37923&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37923&amp;peg=37940</guid></item>
<item><pubDate>Wed, 21 Oct 2026 12:52:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37922 – feat: add catalog id and HSN code to PurchaseInvoiceModel</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat: add catalog id and HSN code to PurchaseInvoiceModel&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/PurchaseInvoiceModel.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37922&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37922&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 19:04:06 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37921 – loi bugs fixed</title><description>&lt;div&gt;&lt;strong&gt;ranu – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;loi bugs fixed&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37921&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37921&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 18:24:52 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37920 – loi form submission</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;loi form submission&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37920&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37920&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 18:02:51 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37919 – commi tfile for offer radar send to all related department</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;commi tfile for offer radar send to all related department&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37919&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37919&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 17:53:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37918 – Fixed mail sender everywhere</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed mail sender everywhere&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37918&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37918&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 13:48:11 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37917 – commi tfile for offer radar send to all related department</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;commi tfile for offer radar send to all related department&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/onboarding/LoiAuditTrailRepositoryImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37917&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37917&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 13:34:28 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37916 – commi tfile for offer radar send to all related department</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;commi tfile for offer radar send to all related department&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37916&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37916&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 12:16:11 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37915 – fix(dao): add Lead.getDisplayLabel() required by fofo r37906  r37906 (BeatJourneyController, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(dao): add Lead.getDisplayLabel() required by fofo r37906&lt;br /&gt;
&lt;br /&gt;
r37906 (BeatJourneyController, &quot;Corrected PJP Data&quot;) calls&lt;br /&gt;
lead.getDisplayLabel() but the dao side was never committed, so fofo trunk&lt;br /&gt;
did not compile. Returns &quot;Outlet (Contact)&quot; per that commit&apos;s comment, the&lt;br /&gt;
single part if only one exists, or null so beat-journey.vm falls back to the&lt;br /&gt;
task name. @JsonIgnore keeps existing Lead JSON responses unchanged.&lt;br /&gt;
Reconstructed while the author is on leave.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/user/Lead.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37915&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37915&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:45:46 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37914 – fix(web): todayOffers returns empty list when request has no user ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(web): todayOffers returns empty list when request has no user token&lt;br /&gt;
&lt;br /&gt;
userInfo is only set by AuthenticationInterceptor for a real JWT; requests&lt;br /&gt;
with no Auth-Token or a static token NPE&apos;d. Treat them as no store.&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/TodayOfferController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37914&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37914&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:45:45 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37913 – fix(security): fofo /login no longer trusts a request email when ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(security): fofo /login no longer trusts a request email when Google verification fails&lt;br /&gt;
&lt;br /&gt;
LoginController.login fell back to emailId = emailIdOrMobileNumber whenever&lt;br /&gt;
googleTokenUtil.getEmailId(token) threw, so any bogus token plus any email&lt;br /&gt;
logged the caller in as that user. Verification failure now fails the login.&lt;br /&gt;
GoogleTokenUtil also requires tokeninfo aud == google.api.key (our web client&lt;br /&gt;
id, same value the login page uses) and email_verified == true.&lt;br /&gt;
Password login is unchanged.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoginController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/util/GoogleTokenUtil.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37913&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37913&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:45:09 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37912 – docs(external-api): document color on SKU records</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;docs(external-api): document color on SKU records&lt;/div&gt;~ /trunk/profitmandi-web/src/main/resources/external-api-docs.html&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37912&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37912&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:45:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37911 – feat(external-api): restore color on SKU feeds  Re-adds color to ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat(external-api): restore color on SKU feeds&lt;br /&gt;
&lt;br /&gt;
Re-adds color to skuMaster, stock, catalogSkuMaster and catalogSkus&lt;br /&gt;
(reverses the r37295 removal). Value is catalog.item.color with the&lt;br /&gt;
legacy f_ prefix and surrounding spaces stripped; blank becomes null.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/external/CatalogSkuModel.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/external/StoreSkuModel.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/external/ExternalFeedRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/external/ExternalApiServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37911&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37911&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:39:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37910 – fix(offers): use TxStartTrackingTransactionManager so cron reads respect the offer cache ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(offers): use TxStartTrackingTransactionManager so cron reads respect the offer cache gate (dao r37907)&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/config/DBConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37910&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37910&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:39:37 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37909 – fix(offers): use TxStartTrackingTransactionManager; drop controller-side offer evictions (dao r37907)</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(offers): use TxStartTrackingTransactionManager; drop controller-side offer evictions (dao r37907)&lt;/div&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/v2/controller/fofo/V2FofoOfferController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37909&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37909&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:39:36 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37908 – fix(offers): use TxStartTrackingTransactionManager; offer cache eviction moves into the service ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(offers): use TxStartTrackingTransactionManager; offer cache eviction moves into the service (dao r37907)&lt;br /&gt;
&lt;br /&gt;
Activate/publishAll no longer evict in the controller; Refresh Cache also clears per-offer caches.&lt;/div&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/controller/OfferController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37908&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37908&amp;peg=37940</guid></item>
<item><pubDate>Mon, 19 Oct 2026 08:38:47 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37907 – fix(offers): stop stale offer rows being re-cached after an offer ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(offers): stop stale offer rows being re-cached after an offer change&lt;br /&gt;
&lt;br /&gt;
Readers whose transaction began before an offer write committed could cache&lt;br /&gt;
the old row (e.g. offer 10851 shown inactive on Offer History for 6h).&lt;br /&gt;
- OfferCacheGate: offer caches refuse fills from readers whose transaction&lt;br /&gt;
  began before the last offer change (atomic Lua check-and-set)&lt;br /&gt;
- TxStartTrackingTransactionManager records each transaction&apos;s start time&lt;br /&gt;
- offer cache evictions run after the transaction completes, marking the change first&lt;br /&gt;
- activate/publishAll evict inside their REQUIRES_NEW transaction&lt;br /&gt;
- evictAllOfferCaches(YearMonth) for Refresh Cache; offer cache TTL 6h -&gt; 1h&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/config/OfferCacheGate.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/TxStartTrackingTransactionManager.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;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37907&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37907&amp;peg=37940</guid></item>
<item><pubDate>Fri, 16 Oct 2026 16:27:06 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 37906 – Corrected PJP Data</title><description>&lt;div&gt;&lt;strong&gt;vikas – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Corrected PJP Data&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/BeatJourneyController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/beat-journey.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37906&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37906&amp;peg=37940</guid></item>
<item><pubDate>Fri, 16 Oct 2026 15:03:03 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37905 – commi tfile for offer radar send to all related department</title><description>&lt;div&gt;&lt;strong&gt;ranu – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;commi tfile for offer radar send to all related department&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PoStockApprovalDigestServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PoStockApprovalServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OfferRadarNotificationController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/emi-catalog-detail.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/emi-catalog-popup.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/warehouse-po-stock-approval-detail.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/warehouse-po-stock-approvals.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/warehouse-purchase-order-add-item.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37905&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37905&amp;peg=37940</guid></item>
<item><pubDate>Fri, 16 Oct 2026 13:03:49 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37904 – fix(catalog): delist job treats an activated IMEI as sold  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(catalog): delist job treats an activated IMEI as sold&lt;br /&gt;
&lt;br /&gt;
- partner-stock guard in CatalogDelistServiceImpl ignores a unit whose IMEI is in&lt;br /&gt;
  fofo.activated_imei with activation on/after the partner received it, even if&lt;br /&gt;
  the partner never billed it (item 30834: 6 Vivo Y91i units at UPHRD130,&lt;br /&gt;
  activated 2021, kept the listing alive)&lt;br /&gt;
- units activated before receipt (returns/demo) and non-serialized stock still count&lt;br /&gt;
- delist_inactive_listings_rolling_24m.sql mirrored&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/catalog/CatalogDelistServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/resources/sql/delist_inactive_listings_rolling_24m.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37904&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37904&amp;peg=37940</guid></item>
<item><pubDate>Fri, 16 Oct 2026 12:24:28 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37903 – commi tfile for pine lab scrping emi plans</title><description>&lt;div&gt;&lt;strong&gt;ranu – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;commi tfile for pine lab scrping emi plans&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/EmiCatalogController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/service/EmiCatalogImportService.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/emi-catalog.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37903&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37903&amp;peg=37940</guid></item>
<item><pubDate>Fri, 16 Oct 2026 12:23:57 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37902 – pinelab emi offer publish</title><description>&lt;div&gt;&lt;strong&gt;ranu – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;pinelab emi offer publish&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/EmiProductRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/EmiProductRepositoryImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37902&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37902&amp;peg=37940</guid></item>
<item><pubDate>Thu, 15 Oct 2026 17:22:09 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37901 – pinelab emi offer publish</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;pinelab emi offer publish&lt;/div&gt;+ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/services/EmiCatalogEnrichmentService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37901&amp;peg=37940</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=37901&amp;peg=37940</guid></item>
</channel></rss>