| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37654 |
25 m |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Sync internal store addresses at the mapping write
/createNewWarehouse now calls syncInternalStoreAddresses right after
persisting the WarehouseAddressMapping, inside the same transaction, so the
rule lives at the mutation site rather than in an endpoint someone has to
remember to call. A brand new warehouse has no internal store yet so it is a
no-op today, but any later path that sets a mapping now cannot leave an
internal store billing to the previous address.
/syncWarehouseInternalAddress stays for remediating mappings repointed
directly in the database. Follows r37652/r37653. |
|
| 37653 |
1 h 23 m |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Add POST /syncWarehouseInternalAddress
Realigns the INTERNAL stores of a warehouse with its currently mapped
address. The warehouse address mapping has no edit screen - it is repointed
directly in the database - so a branch move never reached the internal
store's user.address and orders kept billing to the old premises. Run this
after changing a warehouse address mapping. Pairs with r37652. |
|
| 37652 |
1 h 23 m |
amit |
/trunk/profitmandi-dao/src/main/ |
Internal store buyer address: always read user.address
An INTERNAL store is the buying identity of a warehouse, so order creation
resolved its address from transaction.warehouseaddressmaster while every
screen read transaction.addId -> user.address. The Delhi warehouses moved to
warehouseaddressmaster 26 in Sept 2024 and nothing carried that across, so
user.address still held the 2021 L-222 premises: same buyer, two addresses.
user.address for active internal stores is now aligned with the mapped
warehouse address (sql/20260916_sync_internal_store_addresses.sql), split
exactly as getCustomAddress() does so the next invoice is unchanged. With
that true, createTransactionForWarehouse no longer special-cases internal.
SellerService.syncInternalStoreAddresses carries a warehouse address remap
through to its internal stores - the mapping has no edit screen and is
repointed directly in the database, which is why nothing propagated before. |
|
| 37651 |
1 h 42 m |
vikas |
/trunk/ |
LMS click to call |
|
| 37650 |
7 h 27 m |
amit |
/trunk/profitmandi-dao/src/main/resources/sql/ |
SQL to retire user.counter / user.privatedealuser / address mapping after r37648-49 deploy (rename, reversible) |
|
| 37649 |
7 h 27 m |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
Retire user.counter / user.privatedealuser write path (web)
createRetailer no longer creates a Counter, PrivateDealUser or address mapping; the
non-found branch keeps only the saholic-user address write it also did. Pairs with
dao r37648. |
|
| 37648 |
7 h 27 m |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Retire user.counter / user.privatedealuser write path
Partner GST moved to fofo.fofo_store.gst_number in the Feb-2026 migration; counter.gstin
has had no reader since (Counter.getGstin() had no callers) and privatedealuser is only
read to decide its own insert-vs-update. Both were write-only bookkeeping.
- RetailerServiceImpl: drop createPrivateDealUser/createCounter and their two call sites
- MigrationUtil.migrateUserToRetailer: drop the same legacy block
- Delete Counter / PrivateDealUser / PrivateDealUserAddressMapping entities + repositories
No reader is affected: the 240 Reportico reports on static0 reference neither table
(the 'counter' hits are fofo_store.counter_size). Tables stay in place until this is
deployed, then get renamed out of the way. |
|
| 37647 |
19 h 17 m |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
Invoice/DN return: file credit note at NIC only when the invoice IRN was filed
- GstProService.hasFiledIrn: invoice has a real IRN with ack date (DCs excluded)
- applyInvoiceReturnViaCreditNote: filed IRN -> CN + NIC CRN as before;
not filed + INTERNAL buyer -> CN issued locally, NIC skipped;
not filed + other buyer -> refund without CN, CN sequence untouched
- DN refund path: not filed + INTERNAL buyer -> local CN, NIC skipped
Fixes approval failing with 'Recipient GSTIN state code does not match' on
internal invoices whose IRN was never generated (NSPRJ41943, NSPRJ41950). |
|
| 37646 |
22 h 15 m |
amit |
/trunk/profitmandi-dao/src/main/resources/sql/ |
Hot Deal brand: dedupe model_hot_deal to one row per catalog before the unique key (prod had one Realme duplicate from the old windowed model) |
|
| 37645 |
23 h 0 m |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ |
ticket download option given and some enhancement on notification panel |
|
| 37644 |
23 h 2 m |
amit |
/trunk/ |
Cron batch infra: count real SUCCESS rows instead of deriving them, add INCOMPLETE status for runs that died mid-loop, stale-batch reaper, admin force-finalize; markItemSuccess joins the work transaction |
|
| 37643 |
23 h 15 m |
amit |
/trunk/profitmandi-fofo/src/main/ |
Hot Deal brand: admin edits attributes + optional OEM catalog mapping; brand/date/cap controls removed; jsVersion 424 |
|
| 37642 |
23 h 16 m |
amit |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ |
Hot Deal brand: remove the 00:20 window-sync job and its CLI flag - no date windows any more |
|
| 37641 |
23 h 16 m |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ |
Hot Deal brand: badge from brand, /fofo/hotDeals/brands facet, real availability on every listing, drop legacy hot-deals pause endpoints |
|
| 37640 |
23 h 16 m |
amit |
/trunk/profitmandi-dao/src/ |
Hot Deal brand: brand-driven membership, model_hot_deal reduced to attributes + oem_brand + oem_catalog_id, migration SQL |
|
| 37639 |
23 h 16 m |
amit |
/trunk/profitmandi-dao/src/main/resources/sql/ |
chore(sql): second internal vendor catalog pricing cleanup, as run on prod 2026-09-15
- 100 internal rows recreated 2026-09-14 18:07 for 325/326/371/382/406 (guard r37634 not yet deployed) and supplier 452, switched to internal 2026-09-15
- Backups _bak_vcp_internal_20260915 (251) / _bak_vcpl_internal_20260915 (367) |
|
| 37638 |
23 h 16 m |
amit |
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/ |
Hot Deal brand: HOT_DEAL_BRAND constant, oem_brand_s facet and hot-deal brand filter routing |
|
| 37637 |
23 h 32 m |
amit |
/trunk/profitmandi-fofo/src/ |
feat(pricing): log tag_listing price changes; reference TP instead of vendoritempricing in price drop and tag listing
- Add Pricing and price drop set DP/MOP/MRP via TagListingPriceService (logged with user; price drop logs carry price_drop_id)
- Price drop no longer writes vendoritempricing or vendor catalog pricing; old TP and prefill TP from reference TP
- Tag listing download TP from reference TP; drop unused VendorItemPricingRepository
- TagListingPricingTest: local-DB tests for the price log, reference TP and internal supplier guard |
|
| 37636 |
23 h 32 m |
amit |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ |
refactor(cron): remove vendoritempricing one-offs; log catalog migration listing prices
- Remove migrateVendorItemPricing (2023 one-off) and its flag; fixOrders no longer reads vendoritempricing
- CatalogMigration sets listing prices via TagListingPriceService |
|
| 37635 |
23 h 32 m |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ |
feat(pricing): V2 log tag_listing price changes; reference TP instead of vendoritempricing in price drop and tag listing |
|