| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 36328 |
15 d 3 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/ |
Remove @Cacheable from getFirstBillingDate — LocalDateTime + Redis incompatibility
The redisOneDayCacheManager (CacheConfig.java:109-116) is configured with
enableDefaultTyping(NON_FINAL, JsonTypeInfo.As.PROPERTY). That embeds type info
as a JSON object property, which is only valid for objects ({}) — not arrays.
JavaTimeModule serializes LocalDateTime as an array ([y,m,d,h,m,s]), so the
write drops type metadata and reads fail with MismatchedInputException
('need JSON String that contains type id').
The underlying NamedQuery (Order.selectFirstBillingByRetailer) uses MIN() on
the idx_order_customer_billing composite index — EXPLAIN reports 'Select tables
optimized away'. Per-call latency is microseconds even uncached, so Redis
caching was optimization rather than requirement. Simpler to drop the annotation
than reconfigure the shared cache manager. |
|
| 36327 |
15 d 4 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Fix currentinventorysnapshot/currentreservationsnapshot deadlock and optimize getFirstBillingDate
- SaholicInventoryServiceImpl: enforce reservation-snapshot → inventory-snapshot
lock order in addReservationCount and reduceReservationCount via explicit
session.flush(); eliminates the hadb1 deadlock recorded 2026-04-20 19:43:24
between these two methods' opposite-order writes.
- SaholicInventorySnapshot: add @DynamicUpdate so UPDATEs only rewrite the
changed column instead of all three — cuts redo/binlog write amplification
and makes deadlock dumps pinpoint the actual business path.
- TransactionRepositoryImpl.getFirstBillingDate: replace filesort-over-all-billed-
orders with MIN(billingTimestamp) via new Order.selectFirstBillingByRetailer
named query (Select tables optimized away). Preserves 2017-01-01 cutoff and
null-for-unbilled-partner semantics.
- Add @Cacheable on redisOneDayCacheManager keyed by fofoId (unless null) so the
8 call sites stop piling up identical SELECTs on the order table — this was
the query pinning Hikari slots at 150-460s each in recent processlist dumps. |
|
| 36326 |
15 d 5 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/service/ |
rbm rating dashboard view commited |
|
| 36325 |
15 d 5 h |
aman |
/trunk/profitmandi-fofo/src/main/ |
Fix: Tier-Based Referral Payout |
|
| 36324 |
15 d 5 h |
aman |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
Fix: Tier-Based Referral Payout |
|
| 36323 |
15 d 6 h |
amit |
/trunk/profitmandi-dao/src/main/resources/ |
Fix app config |
|
| 36322 |
15 d 18 h |
vikas |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
New APIs Version 2 |
|
| 36321 |
15 d 18 h |
vikas |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ |
New APIs Version 2 |
|
| 36320 |
15 d 22 h |
vikas |
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/web/ |
CORS update, accept referrer |
|
| 36319 |
15 d 22 h |
aman |
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ |
Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO |
|
| 36318 |
15 d 23 h |
aman |
/trunk/ |
Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO |
|
| 36317 |
15 d 23 h |
aman |
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ |
Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO |
|
| 36316 |
15 d 23 h |
aman |
/trunk/ |
Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO |
|
| 36315 |
16 d 3 h |
ranu |
/trunk/ |
rbm rating dashboard view commited |
|
| 36314 |
16 d 6 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Fix Dummy warehouse creation defaults and backfill invoice receiveDate
- ensureDummyForBillingRegion: set isAvailabilityMonitored=0, transferDelayInHours=0,
source=0 explicitly; copy logisticsLocation and pincode from billing warehouse
(matches createVendorWarehouse pattern)
- Add SQL to backfill warehouse.invoice.receiveDate from warehouse.purchase.receivedOn
for received invoices where receiveDate is NULL |
|
| 36313 |
16 d 10 h |
ranu |
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ |
rbm rating dashboard view commited |
|
| 36312 |
16 d 10 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/ |
rbm rating dashboard view commited |
|
| 36311 |
16 d 10 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/ |
rbm rating dashboard view commited |
|
| 36310 |
16 d 18 h |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/checkout/ |
Complete applyColorChange rename: caller + handler method
r36305 renamed OrderServiceImpl.notifyColorChange -> applyColorChange but missed the
caller in this controller and the handler method name. Completes the rename so trunk
compiles. REST endpoint URL /order/notify-color-change is preserved as an external
contract. |
|
| 36309 |
16 d 18 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Route phantom orders to per-region Dummy warehouse; complete applyColorChange rename
- Phantom allocations in getFulfillments route to the Dummy/GOOD/OURS warehouse under
vendor 40 for the partner's billing region. WarehouseServiceImpl.ensureDummyForBillingRegion
returns the existing Dummy or creates one on the fly. createVendorWarehouse hook auto-seeds
a Dummy when a new billing region's first warehouse is created.
- WarehouseRepository.selectByVendorBillingAndType supports the lookup.
- OrderService interface: rename notifyColorChange -> applyColorChange to match r36305's impl
rename (r36305 renamed only the impl, leaving trunk inconsistent).
- PurchaseOrderServiceImpl: remove auto-rebalance on PO receive. Real-wh rebalancing and
phantom-to-real binding are now ops-driven via the order billing UI
(changeFulfillmentWarehouse / applyColorChange / moveOrdersFulfilmentWarehouse).
- migration_dummy_warehouses.sql: idempotent seeding script for 14 Dummy/GOOD/OURS warehouses
under vendor 40, one per WAREHOUSE_MAP billing region that lacked one. Already applied to
hadb1 and local. |
|