| 36081 |
48 d 3 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Use JDK serialization for Redis caches with Map<Integer,...> keys
GenericJackson2JsonRedisSerializer converts Map Integer keys to String
during JSON serialization. On deserialization, map.get(Integer) returns
null since keys are now Strings. This broke allOffers, offer.slabpayout,
catalog.published_yearmonth, and offer.achievement caches.
Fix: Use JdkSerializationRedisSerializer for these specific caches to
preserve exact Java types. Added Serializable to 9 model classes in the
offer object graph: CreateOfferRequest, TargetSlab, ItemCriteriaPayout,
ItemCriteria, PartnerCriteria, PayoutSlab, AmountModel, QtyAmountModel,
DateRangeModel. |
|
| 35600 |
105 d 11 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Fix Redis serialization bug and add 15-min cache manager
- Fix SerializationException for publishedOffersWithAchievement cache
- Add @JsonIgnore to computed getters getBillingStartDate/getBillingEndDate
- Add @JsonIgnoreProperties(ignoreUnknown=true) to CreateOfferRequest,
ItemCriteriaPayout, TargetSlab for backward compatibility with cached data
- Add redisVeryShortCacheManager (15 min TTL) for frequently changing data
- brandStockPrices, partnerInvestments, partnerSales, partnerDailyInvestment
now use 15-min cache instead of 60-min |
|