Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37930 6 h 32 m amit /trunk/profitmandi-dao/src/ feat(credit): mail Sales/RBM on every credit block/unblock; partner-safe inactive message

- every credit_block_log entry (manual, cron 'system', gateway activation) mails the partner's active Sales L1+L2 and RBM L1 via mail_outbox: partner, status, reason, done by, time
- a mail failure never fails the block/unblock
- sendLoanDefaultBlockMails(): one-time catch-up mail for accounts already LOAN_DEFAULT
- getPartnerInactiveMessage(): loan default -> 'on hold due to payments overdue beyond 30 days', others generic; internal typed reason never exposed
- sddirect/summary (SDCreditResponseOut) now carries statusDescription when inactive
 
37929 8 h 49 m amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/ chore(fofo): bump jsVersion to 446 for partner-credit-detail.js (r37927)  
37928 8 h 49 m amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ feat(credit): run loan-default credit block in notifyDefaultLoans cron (needs dao r37926)  
37927 8 h 49 m amit /trunk/profitmandi-fofo/src/main/ feat(credit): show active/inactive reason + logs popup; CEO-only reactivation of loan default

- Partners Credit Detail: Active Status column (Active / Inactive - Awaiting Activation | Loan Default | Blocked) with Logs popup (reason + who)
- unblock and gateway Activate now require a reason; switchCreditGateway goes through the loan-default guard
- new sanctioned account starts as AWAITING_ACTIVATION
- needs dao r37926
 
37926 8 h 49 m amit /trunk/profitmandi-dao/src/ feat(credit): deactivate credit on loan default; only the CEO can reactivate

- credit_account.inactive_reason: AWAITING_ACTIVATION / LOAN_DEFAULT / BLOCKED (internal only)
- blockDefaultedPartners(): defaulted loans (unpaid past 30 days) totalling >= Rs.25,000 -> inactive LOAN_DEFAULT, logged as 'system'
- repayment never reactivates; LOAN_DEFAULT can only be reactivated by tarun.verma (guard in activateCredit)
- a CEO reactivation covers existing defaults; a later default blocks again
- reason now mandatory on unblock/activate; updateRisk high-risk deactivation now records BLOCKED + log
- DDL: claude-data/sql-migrations/2026-10-22_credit_account_inactive_reason.sql (applied on hadb1)
 
37925 9 h 44 m amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ fix(cron): stop subtracting a year from Realme activation date

Realme's expiryDate is the activation date (the phonecheck page shows it as
"Activation Date"). Since r37423 the job subtracted a year, storing every
cron-written Realme activation one year early.
 
37924 1 d 4 h vikas /trunk/profitmandi-fofo/src/main/ Login Usertype Tracker  
37923 1 d 8 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ feat: add Catalog_Id and HSN_Code columns to warehouse purchase invoices report  
37922 1 d 8 h amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ feat: add catalog id and HSN code to PurchaseInvoiceModel  
37921 3 d 2 h ranu /trunk/ loi bugs fixed  
37920 3 d 3 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/ loi form submission  
37919 3 d 3 h ranu /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ commi tfile for offer radar send to all related department  
37918 3 d 3 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Fixed mail sender everywhere  
37917 3 d 7 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/onboarding/ commi tfile for offer radar send to all related department  
37916 3 d 7 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/ commi tfile for offer radar send to all related department  
37915 3 d 9 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/user/ fix(dao): add Lead.getDisplayLabel() required by fofo r37906

r37906 (BeatJourneyController, "Corrected PJP Data") calls
lead.getDisplayLabel() but the dao side was never committed, so fofo trunk
did not compile. Returns "Outlet (Contact)" per that commit's comment, the
single part if only one exists, or null so beat-journey.vm falls back to the
task name. @JsonIgnore keeps existing Lead JSON responses unchanged.
Reconstructed while the author is on leave.
 
37914 3 d 12 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ fix(web): todayOffers returns empty list when request has no user token

userInfo is only set by AuthenticationInterceptor for a real JWT; requests
with no Auth-Token or a static token NPE'd. Treat them as no store.
 
37913 3 d 12 h amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/ fix(security): fofo /login no longer trusts a request email when Google verification fails

LoginController.login fell back to emailId = emailIdOrMobileNumber whenever
googleTokenUtil.getEmailId(token) threw, so any bogus token plus any email
logged the caller in as that user. Verification failure now fails the login.
GoogleTokenUtil also requires tokeninfo aud == google.api.key (our web client
id, same value the login page uses) and email_verified == true.
Password login is unchanged.
 
37912 3 d 12 h amit /trunk/profitmandi-web/src/main/resources/ docs(external-api): document color on SKU records  
37911 3 d 12 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ feat(external-api): restore color on SKU feeds

Re-adds color to skuMaster, stock, catalogSkuMaster and catalogSkus
(reverses the r37295 removal). Value is catalog.item.color with the
legacy f_ prefix and surrounding spaces stripped; blank becomes null.
 

Show All