Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
38041 7 h 10 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/ fix(scheme): don't re-reject already-rejected scheme_in_out rows on scheme re-runs

processSchemeOut category-upgrade loop and processSchemeIn CD free-days reject
re-stamped rows already REJECTED (e.g. from a cancelled invoice sharing the
scheme id with the rebilled CREDITED row). This moved the rollback month (broke
the margin CN reconciliation) and debited the wallet a second time.
Skip REJECTED rows in both loops; the CD reject now covers every live CD row
instead of only the first.
 
38040 17 h 42 m amit /trunk/profitmandi-fofo/src/main/ fix(wod): add Store.line1/Store.line2 prefill sources

Line-type fields (e.g. Address Line 1) got the full store address. Add line sources from the same store
address (default address, else LOI billing address) and drop the PartnerOnBoardingPanel.address alias:
all templates were migrated to Store.address on 2026-11-14.
 
38039 17 h 49 m amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Phase 1 partner-app tracking: /mobileapp opens partner apps via PartnerAppLauncher (staff recorded in token + user_action_audit) instead of web /user/admin  
38038 17 h 50 m amit /trunk/profitmandi-dao/src/ Phase 1 partner-app tracking: PartnerAppLauncher (store check, access check, launch audit, token) + PartnerAccessService; JWTUtil.createLaunchToken (partner token + staff claims, 12h)  
38037 17 h 50 m amit /trunk/profitmandi-common/src/ Phase 1 partner-app tracking: RequestClientInfo reads client IP (X-Real-IP first) and user agent into ClientInfo  
38036 18 h 7 m amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ /app/update: offer the APK only to older builds

The check was version == B2B_APP_VERSION (101), so every newer shell (the current build is 122)
was told an update is available, and Classic's "Update App" would download an older APK.
Now updateAvailable = version < B2B_APP_VERSION. /v2/app/update delegates here.
 
38035 18 h 23 m amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ fix(wod): drop PartnerOnBoardingPanel.address use in dormant V2 WOD controller  
38034 18 h 23 m amit /trunk/profitmandi-fofo/src/main/ fix(wod): prefill one store address; add full-name source

- Address fields use the partner's default address (user.user.default_address_id) instead of the newest
user.address row (differed for 379 active stores); LOI billing address as fallback.
- Address text no longer repeats city/state already present in line 2.
- New prefill sources Store.address and LoiForm.fullName (first + last); PartnerOnBoardingPanel.address
kept as an alias until templates are migrated.
- Stop writing partner_onboarding_panel.address from the edit and design-TAT saves (payloads never sent it).
 
38033 18 h 23 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 18 h 23 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 18 h 37 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 18 h 37 m amit /trunk/profitmandi-common/src/ Phase 0 partner-app tracking: Actor/ClientInfo models, UserInfo.launchId, LAUNCH_ID claim constant (no callers yet)  
38029 1 d 10 h 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 1 d 11 h 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 1 d 11 h 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 1 d 11 h 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 1 d 11 h 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 1 d 16 h 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 1 d 16 h ranu /trunk/profitmandi-fofo/src/main/ visit history given on brand wise placement page  
38022 2 d 9 h ranu /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/ call history given on brand wise placement page  

Show All