Subversion Repositories SmartDukaan

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
35915 3 h 18 m amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Notifications: use loan-level overdue/penalty rates instead of global constants  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35877 2 d 21 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Credit cron fixes: correct interest rates in notifications, show total+bifurcation in messages, fix internal email text, filter limit blocks, limit WhatsApp to 2 per run, replace N+1 loan statement queries with loan fields, use selectAllBlockedLoans for fixBlockedCredit.  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35866 3 d 2 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Use Loan::isLimit instead of freeDays >= 365 in fixBlockedCredit  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35848 5 d 0 h amit /trunk/ Refactor investment logic to use own investment (total - utilized), remove minimumInvestmentOld, add OK_INVESTMENT_SHORT_PERCENTAGE constant, update thresholds CUTOFF_INVESTMENT=10 MIN_INVESTMENT_PERCENTAGE=5  
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ProfitMandiConstants.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/migrations/RunOnceTasks.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/InvestmentRelatedTasks.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/CurrentPartnerDailyInvestment.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/FofoStore.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/PartnerDailyInvestment.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/SchemeRepositoryImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/FofoUser.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentServiceImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerStatsServiceImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditService.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PerformanceController.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SDCreditController.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SchemeController.java
35811 9 d 17 h amit /trunk/ Centralize credit/loan summary: CreditSummary DTO, bulk query, fix stale utilization, re-enable overdue check, fix interestPaid bug, optimize fresh money (3 queries vs 21), remove dead code  
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/BulkCreditSummary.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/CreditSummary.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/LoanRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/LoanRepositoryImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepository.java
/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/UserWalletHistoryRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/UserWalletHistoryRepositoryImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditService.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/IndentController.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerPendingTasksController.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SDCreditController.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/GatewayController.java
35803 10 d 20 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Support WebApplicationType.NONE for non-web cron runs, add sendCreditNote log line  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35788 11 d 22 h vikas /trunk/ Schedule Shopify Product Sync  
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/shopify/InsurancePlanFetcher.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/shopify/ShopifyProductMapper.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/shopify/ShopifyProductSyncService.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/shopify/ShopifySyncResultModel.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledSkeleton.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35666 24 d 0 h vikas /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Fetch PineLabs Offers Daily by Items  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledSkeleton.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35591 34 d 3 h aman /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Fix:Remove Account team from default partner and partner credit report and only send to neeraj sir  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35568 44 d 3 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Refactor ticket scheduled tasks: fix bugs, add test mode, improve performance

Bug fixes:
- Remove break statement in alertforTicket that stopped after first user
- Remove duplicate ticketClosed() method (used 7 calendar days vs 8 working days)
- Update Application.java CLI handler to use refactored escalateTicket()

New features:
- Add email test mode: redirect all emails to tester via config
- ticket.email.testMode.enabled=true/false
- ticket.email.testMode.recipient=tester@email.com
- Add configurable auto-escalation: ticket.autoEscalation.enabled
- Working days calculation using WorkingDaysService (excludes Sun + holidays)

Performance improvements:
- Batch fetch ticketSubCategoryMap once per job, not per email
- All repository calls moved outside loops (N+1 query fix)

Escalation thresholds updated:
- L1 -> L2: 3 working days
- L2 -> L3: 3 working days
- L3 -> Final: 2 working days

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledSkeleton.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/TicketRelatedScheduledTask.java
35531 54 d 5 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Add manual partner type upgrade detection in rolloutMarginForStoreOnMonth

- Check if there's a MANUAL partner type change on day 1 of the month
- If manual upgrade detected, proceed with margin rollout for all orders in that month
- Existing calculated upgrade logic remains unchanged
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35530 54 d 6 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Added migration for 2 parties for gold  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35524 54 d 22 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Added migration for 2 parties for gold  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35521 54 d 23 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Added migration for 2 parties for gold  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35461 71 d 12 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Fix LockAcquisitionException: Use bulk partner type fetch in ScheduledTasks

Use getTypesForFofoIds() bulk method in rollOutUpgardedMargins to avoid N+1 queries
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35447 72 d 20 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Fix N+1 query in refundDnAmount() - batch fetch TagListings  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35446 72 d 20 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Use selectAllByItems() to avoid duplicate item fetch in checkfocusedModelInPartnerStock

- Pass pre-fetched items to tagListingRepository.selectAllByItems()
- Eliminates redundant itemRepository.selectAllByCatalogIds() call

🤖 Generated with Claude Code
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35442 72 d 20 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Optimize checkfocusedModelInPartnerStock() - fix N+1 queries with batch fetching

- Reduced ~23,500 DB calls to ~12 batch queries
- Batch fetch customRetailers, inventory snapshots, GRN orders, items, tagListings upfront
- Fixed bug: partnerIdSalesHeadersMap.get(fofoStore.getId()) instead of get(fofoStore)

🤖 Generated with Claude Code
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
35424 73 d 20 h amit /trunk/ Fix order billing vs cancellation race condition with pessimistic locking

Problem:
- Concurrent billing and cancellation of the same order caused data inconsistency
- Money was refunded to wallet while order was also getting billed

Solution:
- Added pessimistic locking (SELECT FOR UPDATE) to prevent concurrent modifications
- Added validation methods to check order state before billing/cancellation
- Optimized billing method to reduce lock duration with pre-fetching

Changes:
- OrderRepository: Added selectByIdForUpdate, selectByOrderIdsForUpdate,
selectByInvoiceNumbersForUpdate, selectAllByTransactionIdForUpdate,
validateOrdersForBilling, validateOrderForRefund methods
- OrderRepositoryImpl: Implemented locking methods with PESSIMISTIC_WRITE
- TransactionServiceImpl: Updated billing methods with locking, fail-fast
validation, pre-fetching to avoid N+1 queries
- ScheduledTasks: Updated removePartialBillingForTransaction with locking
- TransactionRelatedTasks: Updated reverseRTO with locking
 
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/TransactionRelatedTasks.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java
35393 75 d 14 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Fixed MongoDB close method  
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/config/DBConfig.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/TicketRelatedScheduledTask.java

Show All