| Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
| 36359 |
21 d 14 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
rbm rating dashboard view commited |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36334 |
22 d 14 h |
ranu |
/trunk/ |
rbm rating dashboard view commited |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmPerformanceDashboardModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/today_po_rbm.vm
|
| 36333 |
22 d 14 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
Fix IllegalStateException: drop 'unless' when using @Cacheable(sync=true)
Spring Cache rejects @Cacheable with both sync=true AND an 'unless' attribute,
throwing IllegalStateException on every invocation. Surfaced in production log
on smartdukaan — MonitorController.todayPORBM:739 was returning 500 on 40
observed calls this session.
Dropped 'unless'. Caching an occasionally-empty List for 5 min is harmless:
months with no sales produce an empty result, which is cheaper to re-query
after 5 min than to keep special-casing. The real fix driver for sync=true
(stampede protection) is preserved. |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36329 |
22 d 16 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
Tune rbmWeeklyBilling cache: 2m→5m TTL + sync=true
The RBM weekly billing aggregate query takes ~2s per call (1,924 cumulative hits
on hadb1 = 3,800s DB time). Previously cached for only 2 minutes with no
stampede protection — every 2m window, every concurrent dashboard load ran the
aggregate in parallel and burnt Hikari slots simultaneously.
- 2m → 5m: this is month-level aggregate bucketed by week, doesn't need
sub-minute freshness for an RBM dashboard.
- sync=true: single in-JVM computation per (monthStart, monthEnd) key per
expiry window; concurrent misses wait for the in-flight load instead of
racing to the DB.
fiveMintimeoutCacheManager already exists in CacheConfig:73 (Caffeine, in-memory,
so no Redis/LocalDateTime serialization concerns). |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36296 |
26 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Add 2-min cache on dashboard-family queries
Three queries dominate dashboard DB time (~830 s / 30 min combined) because
they re-execute on every dashboard refresh with near-identical parameters:
- OrderRepositoryImpl.selectPartnersBilledBetweenDates: dynamic endDate is
LocalDateTime.now(), so cache key bucketed to 2-minute boundaries via SpEL
(endDate.toEpochSecond / 120) so calls in the same bucket share an entry.
- UserWalletRepositoryImpl.getPartnerWiseCollectionAchievement and
RbmTargetServiceImpl.getWeeklyBillingDataForMonth: default Spring key
(fofoIds + startDate) is stable, no bucketing needed.
All three use the existing Caffeine 'twoMintimeoutCacheManager' (in-memory,
per-JVM, expireAfterWrite=2min). unless clause skips caching empty results
so legitimately-empty responses don't pin a bad entry. |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/UserWalletRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36284 |
27 d 13 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
code optimization of today po rbm page |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/AgentCallLogRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/AgentCallLogRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/RetailerContactRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/RetailerContactRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/user/AddressRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/user/AddressRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36276 |
28 d 16 h |
ranu |
/trunk/ |
unique call and recording will show on dashboard |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmCallTargetModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm
|
| 36234 |
33 d 20 h |
ranu |
/trunk/ |
back date data ..........dashboard display on calling |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/today_po_rbm.vm
|
| 36229 |
35 d 13 h |
ranu |
/trunk/ |
rbm l1,l2,l3 layer introduce |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm
|
| 36228 |
35 d 14 h |
ranu |
/trunk/ |
rbm l1,l2,l3 layer introduce |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm
|
| 36225 |
35 d 14 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
rbm l1,l2,l3 layer introduce |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36212 |
36 d 13 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
rbm l1,l2,l3 layer introduce |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 36210 |
36 d 14 h |
ranu |
/trunk/ |
rbm l1,l2,l3 layer introduce |
|
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ProfitMandiConstants.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/auth/CollectionRemark.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/PartnerTargetAchievementModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmCallTargetModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/TargetModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/service/KnowlarityInsightsService.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm
|
| 36181 |
40 d 14 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
weekly rating system live on calling module |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmCallTargetModel.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 35852 |
77 d 13 h |
ranu |
/trunk/ |
call data download |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/AgentCallLogRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/AgentCallLogRepositoryImpl.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm
|
| 35843 |
78 d 11 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
called will come from agent call log instead of remark |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 35822 |
81 d 16 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
show all caleed by auth user |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 35821 |
81 d 16 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
show all caleed by auth user |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 35818 |
81 d 18 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
show all caleed by auth user |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|
| 35816 |
81 d 19 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
calling l2 improve |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/RbmTargetServiceImpl.java
|