<?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-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Mon, 14 Sep 2026 18:26:10 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Fri, 11 Sep 2026 17:30:03 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37589 – Drive credit limits off the investment sweep; stop phantom limit ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Drive credit limits off the investment sweep; stop phantom limit writes&lt;br /&gt;
&lt;br /&gt;
Adds the 2-minute sweep schedule and points the limit recalculation at the&lt;br /&gt;
partners whose base_value actually moved, instead of rescanning all 980 every&lt;br /&gt;
20 minutes. Measured on production: 3 partners change per 2-minute window on&lt;br /&gt;
average, peak 18.&lt;br /&gt;
&lt;br /&gt;
- ScheduledSkeleton: 2-min sweepPartnerInvestment, daily refreshAgedStockDaily&lt;br /&gt;
  at 00:20; the 20-min full pass is kept as a backstop for inputs base does not&lt;br /&gt;
  capture (risk, the SIDBI floor, hard_limit)&lt;br /&gt;
- BatchScheduledTasks.sweepPartnerInvestment: sweep, then limits for changed&lt;br /&gt;
  bases only&lt;br /&gt;
- calculateChangedPartnerLimits(restrictTo) to support that&lt;br /&gt;
- scaleMoney(): round to paise before comparing and storing. The limit comes out&lt;br /&gt;
  of a double multiply, so 65123.7400 round-tripped as 65123.740000000005 and&lt;br /&gt;
  compareTo called it a change. 208 of 230 &apos;changed&apos; partners in one production&lt;br /&gt;
  run differed by under half a paisa, rewriting sd_credit_requirement and&lt;br /&gt;
  dtr.credit_account ~14,000 times a day for identical values and churning the&lt;br /&gt;
  SIDBI mirror. Real changes were never below a rupee, so 2dp cannot suppress one.&lt;br /&gt;
- getFirstBillingDates: one grouped query instead of one per partner&lt;br /&gt;
&lt;br /&gt;
Credit limits for 24 partners will rise on the first sweep after deploy - that is&lt;br /&gt;
the aged-Apple double-deduction correction landing (see r37588), not a defect.&lt;br /&gt;
&lt;br /&gt;
NOTE: cron is a standalone Spring Boot jar; the new schedules only fire once it&lt;br /&gt;
is restarted with --spring.profiles.active=scheduled.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/BatchScheduledTasks.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledSkeleton.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37589</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37589</guid></item>
<item><pubDate>Mon, 31 Aug 2026 11:10:07 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37465 – Exclude aged Apple stock from investment when suggesting partner credit ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Exclude aged Apple stock from investment when suggesting partner credit limits&lt;br /&gt;
&lt;br /&gt;
Apple handsets a partner has held more than 30 days from GRN no longer count&lt;br /&gt;
toward the investment that drives the suggested limit. Applied in&lt;br /&gt;
getSuggestedAmount via getCreditableInvestment, covering the SDDIRECT,&lt;br /&gt;
hundred-percent and SIDBI branches. The aged amount is logged alongside each&lt;br /&gt;
limit change so a drop can be traced.&lt;br /&gt;
&lt;br /&gt;
Scoped to the limit calculation only -- getTotalInvestment() is untouched, so&lt;br /&gt;
checkout payment options, the investment-OK gates and partner-facing screens&lt;br /&gt;
see the same stock value as before.&lt;br /&gt;
&lt;br /&gt;
Measured on prod at time of commit: 580 units / ~3.94 Cr across 88 partners.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37465</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37465</guid></item>
<item><pubDate>Wed, 19 Aug 2026 12:30:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37352 – Fixed max limit to 15 lac for Credit limit</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed max limit to 15 lac for Credit limit&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37352</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37352</guid></item>
<item><pubDate>Tue, 18 Aug 2026 13:48:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37339 – Fixed max limit to 15 lac for Credit limit</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed max limit to 15 lac for Credit limit&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37339</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37339</guid></item>
<item><pubDate>Tue, 14 Jul 2026 15:01:10 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37087 – Partner limit read-phase per-partner isolation + drop dead reject wrapper ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Partner limit read-phase per-partner isolation + drop dead reject wrapper&lt;br /&gt;
&lt;br /&gt;
- PartnerLimitHelper.calculateChangedPartnerLimits: wrap the per-partner body in&lt;br /&gt;
  try/catch so one partner&apos;s bad data (null limit/util in compareTo, or a&lt;br /&gt;
  billing-date / risk lookup failure) no longer aborts the whole read phase and&lt;br /&gt;
  silently updates zero partners every 20 min. Mirrors the write phase&apos;s&lt;br /&gt;
  REQUIRES_NEW isolation.&lt;br /&gt;
- Remove dead ScheduledTasks.rejectPriceDropsOfApprovedImeis wrapper; the&lt;br /&gt;
  @Scheduled trigger now delegates to PriceDropBatchService.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.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%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37087</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=37087</guid></item>
<item><pubDate>Wed, 22 Apr 2026 11:53:44 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36338 – Remove CronBatchService and OfferProcessingHelper (moved to profitmandi-dao r36337); update imports ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove CronBatchService and OfferProcessingHelper (moved to profitmandi-dao r36337); update imports in BatchScheduledTasks and PartnerLimitHelper&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/BatchScheduledTasks.java&lt;br /&gt;x /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/CronBatchService.java&lt;br /&gt;x /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/OfferProcessingHelper.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=36338</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=36338</guid></item>
<item><pubDate>Sun, 19 Apr 2026 07:58:05 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36306 – Batch processing: BatchScheduledTasks, helpers for offer/sellin/partnerLimit, CronBatchService, OpenCV fix for ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Batch processing: BatchScheduledTasks, helpers for offer/sellin/partnerLimit, CronBatchService, OpenCV fix for Apple Silicon, CLI triggers&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/BatchScheduledTasks.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/CheckOppoWarrantyTask.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/CheckRealmeWarrantyTask.java&lt;br /&gt;+ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/CronBatchService.java&lt;br /&gt;+ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/OfferProcessingHelper.java&lt;br /&gt;+ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/PartnerLimitHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=36306</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-cron%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartdukaan%2Fcron%2Fscheduled%2FPartnerLimitHelper.java&amp;rev=36306</guid></item>
</channel></rss>