Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37805 9 d 10 h amit /trunk/profitmandi-dao/src/main/ fix(catalog): trim f_ colour prefix space; age delisted listings from last activation

- Item.normalizeColor drops the space after f_ on every write (upload sheets typed
'f_ Black', which read ' Black' everywhere); ItemLoaderService uses it so the
duplicate-colour check compares the clean value
- tag_listing.last_activated, stamped by TagListing.setActive on off->on;
updateActiveById now goes through the entity (+flush) so the toggle stamps it
- delist cron + SQL script age a listing from GREATEST(start_date, last_activated),
so a re-activated listing is not delisted again the next morning
- migrations: add_tag_listing_last_activated_20260929.sql, fix_item_color_prefix_space_20260929.sql
(both applied on hadb1 2026-09-29; 174 items trimmed, 36830 excluded - clashes with 37089)
 
37782 12 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ fix(catalog): add serializedOnly overloads of selectAllItems/selectAllBrands

r37776 committed InventoryServiceImpl calling the 3-arg selectAllItems and
selectAllBrands, but the repository overloads and the named-query parameters
they bind were left uncommitted, so a build from trunk failed.

serializedOnly = true restricts the model/brand pickers to IMEI items; the
2-arg forms delegate with false, unchanged behaviour.
 
37640 22 d 21 h amit /trunk/profitmandi-dao/src/ Hot Deal brand: brand-driven membership, model_hot_deal reduced to attributes + oem_brand + oem_catalog_id, migration SQL  
37634 22 d 21 h amit /trunk/profitmandi-dao/src/main/ feat(pricing): tag_listing price change log; retire vendoritempricing writes/reads in dao; price drops no longer touch vendor catalog pricing

- New catalog.tag_listing_price_log (sql/create_tag_listing_price_log_20260915.sql, applied on prod 2026-09-15) + TagListingPriceService: the single setter for tag_listing DP/MOP/MRP, logging old/new values, source and user
- Remove applyPriceDrop (r37622): price drops write only price_drop + tag_listing; sql/revert_price_drop_vendor_catalog_pricing_20260915.sql restores the 30 rows it wrote (run on prod)
- VendorCatalogPricingService: reference TP = latest approved external TP (single + batched); internal suppliers rejected on create, bulk upload and approval
- Stop copying pricing into vendoritempricing on approval and item upload; tag listing detail TP from reference TP; indent DP from tag_listing only
 
37563 28 d 11 h amit /trunk/profitmandi-dao/src/main/ Filter delisted SKUs out of creation pickers; add rolling 24m delist migration

Creation screens could offer items whose catalog.tag_listing.active = 0:
- Item.selectAllModels (scheme/offer model dropdown) joined tag_listing with
no active predicate. Adding tl.active = true also gives the model-level
rollup, since callers dedupe to catalogItemId: a model whose colours are
all inactive now yields no rows, one keeping a listed colour stays.
- The shared partner item picker had no active filter at all. Added a second
basis via getAllPartnerItemStringDescription(anyColor, activeOnly);
activeOnly participates in the fofoItems cache key so the two bases cannot
serve each other's cached results. Default stays false for screens that
inspect or edit existing records.
- New TagListing.selectActiveItemIds named query backs the filter.

Also adds the rolling 24-month delist migration: zero stock both sides, no
outstanding vendor PO (status IN (1,2), external supplier, unfulfilled > 0 --
INIT is excluded as it is a drawer of stale drafts), and re-categorises
fully-dark mobile models to OTHER. Idempotent, audited, rollback documented.
 
37268 59 d 4 h amit /trunk/profitmandi-dao/src/ Hot deals: rename attribute activated -> fresh with polarity inversion (fresh = device unused/sealed). Entity/attributes/service/tests migrated; prod DDL (unapplied) now creates fresh directly; model_hot_deal_activated_to_fresh.sql migrates envs that had the old column (applied on local + saholic-test)  
37254 62 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ feat: hot-deals admin search/pagination + tag_listing.hot_deals write-through and daily sync

- searchAllWithCatalog/countSearchAll: all-brands deal listing joined with
Catalog (brandName transient), server-side search on model/brand, paginated
- add/removeDeal write through to tag_listing.hot_deals (Solr hot_deal_b
source) and publish a re-index event (prod-gated in TagListingChangeListener)
- syncHotDealFlags: daily reconcile of date-windowed model_hot_deal into
tag_listing.hot_deals so deal windows start/expire on time
 
37244 63 d 3 h amit /trunk/profitmandi-dao/src/ Hot deal attributes: five mandatory fields (warranty_months 0-12, item_condition NEW/OPEN_BOX/REFURBISHED, activated, finance_mapping, affordability) on model_hot_deal - entity+enum+attributes holder, service validation (no defaults), addDeal/updateDeal signatures, selectActiveByCatalogItemIds/selectAllActive repo queries, hotDealTags on FofoCatalogResponse, DDL script, tests (14 green)  
37211 65 d 1 h amit /trunk/profitmandi-dao/src/ Hot Deals: model_hot_deal entity, repository and service with 15-active-per-brand cap, duplicate-active and date validation  
37204 65 d 2 h amit /trunk/profitmandi-dao/src/ external api v2: category spec + client category entities, cached category exposure, title util, item.brand_identifier, ContentPojo categoryId/categorySpecs  
37149 72 d 23 h amit /trunk/profitmandi-dao/src/main/ External partner API (dao): api_client/api_client_store auth tables + entities, store-scoped feed queries (ExternalFeedRepository), ApiClientAuthService + ExternalApiService, update_timestamp delta-sync columns on tag_listing/item/catalog/current_inventory_snapshot (migration_external_api_client.sql), Mongo siteContent lastModified stamp + paged reads. Prices exposed are mop/mrp only.  
37071 86 d 20 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Normalize whitespace on Catalog/Item setters + ItemLoaderService bulk upload (T9.5 sanitizer)  
36768 126 d 20 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/ Restore ActivatedImei.checked idempotency guard (revert r36579)

r36579 removed the 'ai.checked = false' filter from selectMissedActivationSale
and dropped the checked field, treating it as dead. It was not: the filter
prevented the daily activation-scheme sweep from re-processing the ~163K
already-evaluated historical activations (checked=1). Without it, the sweep
resurrected those old activations as PENDING scheme_in_out rows, and the
oldest ones (whose legacy orders have no fofo_order) made processActivation
throw FFORDR_1000 and roll back the entire batch every run since 2026-05-18,
stalling all special-support credits.

Restores the checked field + accessors and the 'ai.checked = false' filter.
checked column repopulated on fofo.activated_imei from backup; rogue PENDING
rows cleaned up separately.
 
36579 143 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/ Remove unused checked flag from ActivatedImei; remove dead ai.checked=false filter from selectMissedActivationSale query  
36562 145 d 1 h amit /trunk/profitmandi-dao/src/main/ Flagship credit: date-wise model_flagship table, sale-time conversion with pessimistic locking, batch queries, extracted doConvertFlagshipToLoan helper, removed Catalog.isFlagship  
36557 145 d 8 h amit /trunk/ feat: Flagship Credit - 30 interest-free days for flagship models with billing split, expiry conversion, API-driven T&C  
36451 158 d 21 h amit /trunk/profitmandi-dao/src/main/ Add reference field to catalog.offer and catalog.scheme for payout collation  
36441 160 d 1 h amit /trunk/profitmandi-dao/src/main/ Rename monitor type 'normal' to 'base' in enum and SQL schema  
36428 161 d 22 h aman /trunk/ Fix:Partner Stock Api  
36413 163 d 1 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/ Added Rising Star/NEW  

Show All