<?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/java/com/spice/profitmandi/service/knowlarity/dto/</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Fri, 09 Oct 2026 08:55:04 +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%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;isdir=1&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?isdir=1&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Thu, 17 Sep 2026 17:53:09 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37683 – Move the knowlarity insights pull into dao, and delete the ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Move the knowlarity insights pull into dao, and delete the dead earlier attempt&lt;br /&gt;
&lt;br /&gt;
The pull belongs in dao because its SCHEDULE moves to profitmandi-cron while the&lt;br /&gt;
fofo portal still reads the same rows. Both modules depend on dao, so that is the&lt;br /&gt;
only place the two can share it.&lt;br /&gt;
&lt;br /&gt;
KnowlarityInsightsSyncService fetches via KnowlarityApiClient (moved here from&lt;br /&gt;
fofo, unchanged) and upserts cs.agent_daily_insight. No DDL: every column it&lt;br /&gt;
writes already exists.&lt;br /&gt;
&lt;br /&gt;
It writes what the old chrome scrape could not:&lt;br /&gt;
 - the *_seconds columns. Verified on prod over 7 consecutive days, every row had&lt;br /&gt;
   logged_in_seconds, break_seconds, available_seconds and talk_seconds = 0. The&lt;br /&gt;
   API returns fractional seconds as numbers, so they are stored directly rather&lt;br /&gt;
   than re-parsed out of a display string.&lt;br /&gt;
 - calls_answered / missed_calls / total_calls, also 0 on every row, because the&lt;br /&gt;
   scrape never captured them at all.&lt;br /&gt;
&lt;br /&gt;
auth_id resolution keeps the email-PREFIX match from the fofo version: some&lt;br /&gt;
stored emails are truncated (&apos;&lt;a href=&quot;mailto:user@smartdukaan.co&quot;&gt;user@smartdukaan.co&lt;/a&gt;..&apos;), so matching the whole&lt;br /&gt;
address silently misses those agents.&lt;br /&gt;
&lt;br /&gt;
Redis keys are deliberately the same pair the portal reads, so its fast path&lt;br /&gt;
stays warm across the process boundary. ⚠ That makes AgentInsightRow&apos;s getter&lt;br /&gt;
names a contract with fofo&apos;s AgentInsightDTO -- rename one without the other and&lt;br /&gt;
the portal deserialises blanks.&lt;br /&gt;
&lt;br /&gt;
Also deleted, all with zero external references:&lt;br /&gt;
 - KnowlarityAgentInsightsService: an earlier, unfinished run at this same API.&lt;br /&gt;
   Its ALT_INSIGHTS_APIS list of guessed endpoints is the giveaway that it never&lt;br /&gt;
   worked; nothing ever called it. It owned three redis keys nobody read&lt;br /&gt;
   (knowlarity:agent:insights, :summary, :lastUpdate) -- distinct from the live&lt;br /&gt;
   knowlarity:insights:* pair, which stays.&lt;br /&gt;
 - AgentInsightsDTO / AgentInsightsSummaryDTO: used only by that service.&lt;br /&gt;
 - KnowlaritySocketTest: a scratch main(), never referenced.&lt;/div&gt;x /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/dto/AgentInsightsDTO.java&lt;br /&gt;x /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/dto/AgentInsightsSummaryDTO.java&lt;br /&gt;x /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/KnowlarityAgentInsightsService.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/KnowlarityApiClient.java &lt;i&gt;(copied from /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/service/KnowlarityApiClient.java@37682)&lt;/i&gt;&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/KnowlarityInsightsSyncService.java&lt;br /&gt;x /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/KnowlaritySocketTest.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;isdir=1&amp;rev=37683</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;isdir=1&amp;rev=37683</guid></item>
<item><pubDate>Thu, 02 Apr 2026 23:30:37 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36180 – weekly rating system live on calling module</title><description>&lt;div&gt;&lt;strong&gt;ranu – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;weekly rating system live on calling module&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/dto&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/dto/AgentInsightsDTO.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/dto/AgentInsightsSummaryDTO.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;isdir=1&amp;rev=36180</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Fknowlarity%2Fdto%2F&amp;isdir=1&amp;rev=36180</guid></item>
</channel></rss>