Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37319 11 h 36 m amit /trunk/ Fix partner-performance tertiary: aggregate order items (qty*mop), not the POS-typed order header

The tertiary panel summed fofo_order.total_amount - a price typed at the partner POS
and never validated against the catalogue - and attributed each whole order to its
first line item's brand via .get(0). One mistyped digit inflated reported sell-out
10x, and mixed-brand orders booked 100% to the first brand, leaving the rest at zero.
Defect dates from r32000/r32034 (May 2023); the panel was the only tertiary consumer
diverging from the qty*mop basis.

- New FofoOrder.selectMonthlyBrandTertiary: sum(quantity*mop) grouped by
(year*100+month) and item brand - the same basis selectPartnerTertiarySales
already uses for the DSR and the partner tier calculation
- PerformanceController: replaces two entity-loading queries (every FofoOrder and
FofoOrderItem for 6 months) with one aggregate; all items now count, each under
its own brand
- Month labels unchanged - toMonthLabel rebuilds the MMM''uu key, template untouched
- Remove V2FofoPerformanceController, the /v2/fofo JSON copy carrying the same defect

Verified against dev DB for fofo_id 175139501: Jul 2026 now 16,94,939 (panel
previously showed 50,92,440); all six months match the qty*mop basis.
 
37318 13 h 49 m ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/checkout/ v2 version some fixes  
37313 17 h 44 m ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ v2 version some fixes  
37305 1 d 12 h ranu /trunk/ carry bag for silver at 1  
37304 1 d 12 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ v2 version some fixes  
37298 2 d 7 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Default subCategoryId to 0 on endpoints that declare it required=false

subCategoryId is a primitive int, so a required=false declaration with no
defaultValue makes Spring throw when the param is omitted:

Optional int parameter 'subCategoryId' is present but cannot be translated
into a null value due to being declared as a primitive type.

v1 DealsController and GuestController already default it to 0; their v2
wrappers dropped that, and StoreController never had it on either version. Any
caller omitting the param got a 500 with a message that does not name the
parameter at fault.

Adding the default only removes that failure path — every currently working
caller already sends a value, so no existing behaviour changes.
 
37293 2 d 17 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ Fix region-ALL (fofoId=0 sentinel) handling on RBM home

active-offers: regionId resolved via rows.get(0).getFofoId(), which is 0 for
region ALL, so selectByRetailerId(0) threw FOFOSTR_1000 'Fofo store not found'
(400) for every region-ALL user. Now filters fofoId>0, picks an active store,
and falls back to the caller's fofoId when a region resolves to nothing.

rbm-regions: dropdown now lists only regions holding an active retailer (with
activePartners count), which drops the ALL pseudo-region; users carrying the
sentinel get every live region as assignedRegionIds instead of an empty set.

rbm-dashboard: expand the sentinel like CsServiceImpl does (row region ->
its partners; region ALL -> all active stores) so the partners tile stops
reporting 0/1. Scope-wide batches limited to stores/targets/purchases/
last-billed; name, wallet and loan lookups now run only over the returned
slice. partners and alerts capped via ?limit (default 50, max 200) with
partnersReturned/totalAlerts/alertsReturned/limit added to summary. Partners
with no target this month rank after those actually missing a target, so the
capped slice is not filled by unset-target stores.
 
37273 4 d 18 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ Apply same idempotent super-catalog mapping save to V2 controller

Keeps V2FofoSuperCatalogController in step with the fofo SuperCatalogController
fix (r37272) so the dormant endpoint cannot violate the new
UNIQUE(catalog_id, super_catalog_id) constraint if it is ever enabled.
 
37269 4 d 19 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/services/ Hot deals enrichment: Fresh pill (green tick when device unused, greyed cross otherwise) replacing Activated; class hd-fresh  
37267 5 d 10 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ v2 version some fixes  
37260 8 d 2 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Hot deals API: fix /fofo 500 when subCategoryId omitted (primitive int + required=false cannot bind null; defaultValue 0, same in GuestController); /fofo/hotDeals/categories facet endpoint for filter chips; hotDeal listing honors explicit categoryId only (cross-category default); enrichment pills - constant names with hd-yes/hd-no + hd-good/hd-off state classes, not-activated is the green state  
37250 8 d 14 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ perf: speed up /partner/listing by batching partner-level data and parallelizing solr calls

- Fetch stock snapshot, favourites, web offers, combo models, CIS, items,
cashback and price circular once per request (union of all listings'
catalogs/items) instead of once per listing
- Precompute slab-payout/scheme-offer alignment once per catalog so shared
PriceCircularItemModelNew instances are not mutated twice
- Fan per-listing solr queries out on a bounded thread pool; brand exclusion
resolved once on the request thread (Hibernate session is thread-bound)
- Drop per-doc info logs (full stock map, label dumps, solrtype)
 
37249 8 d 14 h vikas /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Null check for email  
37247 8 d 18 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Hot deal surfacing: HotDealEnrichmentService attaches hotDealTags (condition/activated/warranty/fin-mapped/affordability pills, No values hidden) to fofo listing, favourites and partnerdeals responses; /fofo hotDeal=true now sources from model_hot_deal actives via Solr catalogId filter  
37224 10 d 12 h amit /trunk/profitmandi-web/src/main/ external api v2: paginated storeMaster endpoint + docs  
37207 10 d 17 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/external/ external api v2: categoryMaster endpoint, client-scoped feeds, itemIds-optional paginated /stock  
37196 11 d 18 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/filter/ v2 version some fixes  
37195 11 d 18 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/config/ ai + brand display mapping fixed  
37185 15 d 13 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ ai + brand display mapping fixed  
37183 15 d 14 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ PJP agenda assign: composeAgendaTaskName on create/batch/revisit (supervisor on-the-go path); revival visibility filter on GET agendas; skip blank checkout discussions  

Show All