| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 38033 |
27 m |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/ |
fix(onboarding): remove unused PartnerOnBoardingPanel.address mapping
Column never held data (0 of 2,026 rows). Store address single source = user default address,
LOI billing address as fallback. Column drop: claude-data/sql-migrations/wod_store_address_single_source_20261114.sql
(run after deploy). |
|
| 38032 |
27 m |
amit |
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ |
fix(onboarding): drop dead address field from panel request models
CreatePartnerOnBoardingPanel / CreatePartnerOnBoardingDesignTat carried an address no form ever sent;
the edit and design-TAT saves copied that null onto partner_onboarding_panel.address. |
|
| 38031 |
41 m |
amit |
/trunk/profitmandi-dao/src/ |
Phase 0 partner-app tracking: JWTUtil reads staff claims (authUserId/email/launchId) without impersonation flag; user_action_audit entity + ActionAuditService (no callers yet) |
|
| 38030 |
42 m |
amit |
/trunk/profitmandi-common/src/ |
Phase 0 partner-app tracking: Actor/ClientInfo models, UserInfo.launchId, LAUNCH_ID claim constant (no callers yet) |
|
| 38029 |
16 h 20 m |
amit |
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ |
fix(credit): Credit Details status filter emptied after revisiting the page; shorter cleared label
- The page fragment is re-injected on every visit and each load pushed another DataTables search function
bound to that load's table; stale copies AND-filtered rows away (e.g. 'Loan Default - cleared' showed nothing
for partners who repaid after an earlier visit). Remove the earlier copy before adding, and read the row from
the table being drawn (settings.aoData) instead of a captured instance.
- Green line now reads just 'Default cleared.' |
|
| 38028 |
17 h 11 m |
amit |
/trunk/profitmandi-fofo/src/main/ |
fix(credit): clearer Loan Default messaging on Credit Details
- Block reason shown grey as history: 'Blocked <date> by <who>: <reason>'
- Loan Default with no defaulted dues shows green 'Default cleared. Can be unblocked.'
- Amber 'Also overdue: <amount> on N loan(s), becomes default on <date>' for loans past due but not yet defaulted
- Filter option renamed 'Loan Default - cleared'
Needs dao r38027. |
|
| 38027 |
17 h 11 m |
amit |
/trunk/profitmandi-dao/src/ |
feat(credit): overdue (not yet defaulted) dues for the Credit Details screen
- SDCreditService.getOverdueDuesByFofo: principal + interest on Loan.isOverdue loans, with the earliest default date
- LoanDefaultDues carries defaultsOn; dues calculation shared between defaulted and overdue loans
- Tests for overdue amount and default date |
|
| 38026 |
17 h 35 m |
amit |
/trunk/profitmandi-fofo/src/main/ |
feat(credit): Credit Details status filter, block reason and default dues
- Status filter on /getCreditDetail (Active, Loan Default, Loan Default - nothing due, Blocked, Awaiting Activation)
- Latest block reason under the inactive label
- LOAN_DEFAULT rows show in red the principal + interest needed to close defaulted loans; nothing when 0
- Row redraw after block/unblock/activate carries the same details
Needs dao r38025. |
|
| 38025 |
17 h 35 m |
amit |
/trunk/profitmandi-dao/src/ |
feat(credit): default dues and latest block reason for the Credit Details screen
- SDCreditService.getDefaultDuesByFofo: principal + interest needed to close every defaulted loan
(same isDefault() set as the LOAN_DEFAULT block; total from loan_statement as settleLoan reads it)
- SDCreditService.getLatestBlockLogs + CreditBlockLogRepository.selectByFofoIds (bulk, typed HQL)
- LoanDefaultDues model; SDCreditServiceDefaultDuesTest |
|
| 38024 |
22 h 5 m |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/cart/ |
fix(cart): drop delisted or missing items from cart in getCartValidation
A line whose item is missing or whose tag_listing is inactive (active=0) is now
removed from the cart and reported as a PRODUCT_UNAVAILABLE cart message, so
createOrder (which rejects on any cart message) no longer bills a delisted item.
Runs before the carry bag allowance so removed phones earn no free bags.
Stock and the 400 max-qty cap are unchanged. |
|
| 38023 |
22 h 19 m |
ranu |
/trunk/profitmandi-fofo/src/main/ |
visit history given on brand wise placement page |
|
| 38022 |
1 d 15 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/ |
call history given on brand wise placement page |
|
| 38021 |
1 d 15 h |
ranu |
/trunk/ |
call history given on brand wise placement page |
|
| 38020 |
1 d 19 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ |
diwali offer live |
|
| 38019 |
2 d 18 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ |
diwali offer live |
|
| 38018 |
5 d 18 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ |
diwali online scratch offer, otp send to email |
|
| 38017 |
6 d 11 h |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ |
Hide switched-off payment options in partner app (web v2)
/v2/fofo/getPartnerServices listed every payment option and created a PENDING
partner_service row for each one missing, so switched-off IDFC (21) kept coming
back after r38012/r38013. Use selectAllActive there and in /userProfile, matching
the fofo screens. |
|
| 38016 |
6 d 15 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
Hot Deals admin UI rework + Brand Identifier CSV upload (needs dao r38015)
Hot Deals (Catalog > Hot Deals):
- every Hot Deal model listed, incl. ones with no attributes saved; stat cards + Needs attention filter
- OEM brand dropdown (form + per row), pre-filled from model name, required on save
- row save keeps the OEM model mapping; Clear button; Updated By column
Content page: Brand Identifier CSV (itemId,brandIdentifier) -> catalog.item.brand_identifier
- POST /catalog/brandIdentifier/upload?apply= : preview (NEW/REPLACE/UNCHANGED/ERROR) then apply; replaces existing values
- all-or-nothing; rejects unknown/duplicate items, blank or >100 chars, Hot Deal and Any Colour items; max 5000 rows
- GET /catalog/brandIdentifier/template.csv
jsVersion 453 |
|
| 38015 |
6 d 15 h |
amit |
/trunk/profitmandi-dao/src/ |
Hot Deals admin: list every Hot Deal model (incl. ones with no attributes row), needs-attention filter + stats, and OEM brand set on save
- ModelHotDealRepository: list/count driven from Catalog (brand = Hot Deal) LEFT JOIN model_hot_deal; needsAttentionOnly = no row or NULL oem_brand; countStats()
- ModelHotDealService: saveAttributes takes oemBrand (requested > stored > suggested from catalog.model_name); must be a brand master name, never Hot Deal; stored in master spelling. Root cause of Ai+ models missing from the partner-app brand filter (NULL oem_brand -> no oem_brand_s in Solr)
- oemBrandNames(), suggestOemBrand(), stats()
- ModelHotDeal: transient suggestedOemBrand, isSaved()
- Tests: 18 passing |
|
| 38014 |
7 d 17 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ |
diwali offer live |
|