Subversion Repositories SmartDukaan

Rev

Rev 37058 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23755 amit.gupta 1
package com.smartdukaan.cron;
23723 amit.gupta 2
 
32782 raveendra. 3
import com.smartdukaan.cron.migrations.RunOnceTasks;
4
import com.smartdukaan.cron.scheduled.*;
5
import com.smartdukaan.cron.scheduled.b2b.Listing;
36745 ranu 6
import com.smartdukaan.cron.scheduled.beatmiss.BeatMissDetectorRunner;
32782 raveendra. 7
import com.smartdukaan.cron.scheduled.leadsync.LeadSyncRunner;
32831 amit.gupta 8
import com.smartdukaan.cron.scheduled.ordertracking.OrderTrackingService;
33274 amit.gupta 9
import com.smartdukaan.cron.scheduled.purchaseorder.POScheduler;
34860 ranu 10
import com.smartdukaan.cron.scheduled.razorpay.FetchPartnersDisbursementTask;
36058 ranu 11
import com.smartdukaan.cron.scheduled.knowlarity.KnowlarityCallMonitorScheduler;
12
import com.spice.profitmandi.common.model.InvoicePdfModel;
34443 vikas.jang 13
import com.spice.profitmandi.common.model.ProfitMandiConstants;
32782 raveendra. 14
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
15
import com.spice.profitmandi.dao.repository.cs.CsService;
16
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
36035 amit 17
import com.spice.profitmandi.dao.service.shopify.ShopifyProductSyncService;
32782 raveendra. 18
import com.spice.profitmandi.dao.util.ContentPojoPopulator;
19
import com.spice.profitmandi.service.integrations.samsung.upgradeoffer.UpgradeOfferService;
36063 ranu 20
import com.spice.profitmandi.service.mail.MailOutboxService;
23723 amit.gupta 21
import org.apache.logging.log4j.LogManager;
22
import org.apache.logging.log4j.Logger;
28389 amit.gupta 23
import org.apache.velocity.app.VelocityEngine;
24
import org.apache.velocity.exception.VelocityException;
23898 amit.gupta 25
import org.springframework.beans.factory.annotation.Autowired;
26
import org.springframework.boot.ApplicationArguments;
27
import org.springframework.boot.ApplicationRunner;
23723 amit.gupta 28
import org.springframework.boot.WebApplicationType;
29
import org.springframework.boot.autoconfigure.SpringBootApplication;
30
import org.springframework.boot.builder.SpringApplicationBuilder;
31
import org.springframework.context.annotation.Bean;
32
import org.springframework.context.annotation.ComponentScan;
34554 tejus.loha 33
import org.springframework.context.annotation.EnableAspectJAutoProxy;
23935 amit.gupta 34
import org.springframework.context.annotation.Primary;
23723 amit.gupta 35
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
36
import org.springframework.core.io.ClassPathResource;
35393 amit 37
import org.springframework.core.io.Resource;
23906 amit.gupta 38
import org.springframework.mail.javamail.JavaMailSender;
39
import org.springframework.mail.javamail.JavaMailSenderImpl;
28389 amit.gupta 40
import org.springframework.ui.velocity.VelocityEngineFactoryBean;
23723 amit.gupta 41
 
32782 raveendra. 42
import java.io.FileInputStream;
43
import java.io.IOException;
44
import java.time.LocalDate;
37058 amit 45
import java.time.LocalDateTime;
32782 raveendra. 46
import java.time.YearMonth;
47
import java.util.ArrayList;
48
import java.util.Arrays;
49
import java.util.List;
50
import java.util.Properties;
51
import java.util.stream.Collectors;
23724 amit.gupta 52
 
23723 amit.gupta 53
@SpringBootApplication
34554 tejus.loha 54
@EnableAspectJAutoProxy
23755 amit.gupta 55
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
24122 govind 56
public class Application implements ApplicationRunner {
57
 
31753 tejbeer 58
    private static final Logger LOGGER = LogManager.getLogger(Application.class);
24122 govind 59
 
31753 tejbeer 60
    @Autowired
61
    LeadSyncRunner leadSyncRunner;
30120 amit.gupta 62
 
31753 tejbeer 63
    @Autowired
64
    StandAlone standAlone;
30209 amit.gupta 65
 
31753 tejbeer 66
    @Autowired
67
    UpgradeOfferService upgradeOfferService;
27392 amit.gupta 68
 
31753 tejbeer 69
    @Autowired
70
    private TicketRelatedScheduledTask ticketRelatedScheduledTask;
28368 tejbeer 71
 
31753 tejbeer 72
    @Autowired
73
    private OnBoardingRelatedSchelduleTask onBoardingRelatedSchelduleTask;
28921 tejbeer 74
 
31753 tejbeer 75
    @Autowired
76
    private InvestmentRelatedTasks investmentRelatedTasks;
27392 amit.gupta 77
 
31753 tejbeer 78
    @Autowired
79
    private CsService csService;
29814 tejbeer 80
 
31753 tejbeer 81
    @Autowired
82
    private FofoOrderItemRepository fofoOrderItemRepository;
24603 amit.gupta 83
 
31753 tejbeer 84
    @Autowired
85
    private ContentPojoPopulator contentPojoPopulator;
29361 tejbeer 86
 
31753 tejbeer 87
    @Autowired
88
    private Listing listing;
24122 govind 89
 
32831 amit.gupta 90
    @Autowired
91
    OrderTrackingService orderTrackingService;
92
 
36306 amit 93
    @Autowired
94
    BatchScheduledTasks batchScheduledTasks;
95
 
36745 ranu 96
    @Autowired
97
    private BeatMissDetectorRunner beatMissDetectorRunner;
98
 
31753 tejbeer 99
    public static void main(String[] args) throws Throwable {
100
        try {
35803 amit 101
            WebApplicationType webType = WebApplicationType.SERVLET;
102
            for (String arg : args) {
103
                if (arg.contains("spring.main.web-application-type=none")) {
104
                    webType = WebApplicationType.NONE;
105
                    break;
106
                }
107
            }
108
            new SpringApplicationBuilder(Application.class)
109
                    .web(webType)
110
                    .run(args);
31753 tejbeer 111
        } catch (Throwable t) {
112
            t.printStackTrace();
113
        }
114
    }
28389 amit.gupta 115
 
31753 tejbeer 116
    @Bean
117
    public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
118
        LOGGER.info("Called Configuration");
119
        PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
35393 amit 120
 
35832 amit 121
        String activeProfile;
122
        Properties properties = new Properties();
123
        try {
124
            properties.load(Application.class.getClassLoader().getResourceAsStream("META-INF/env.property"));
125
        } catch (IOException e) {
126
            LOGGER.error("Error reading env.property, defaulting to dev: " + e);
127
            properties.put("profile", "dev");
128
        }
129
        activeProfile = (String) properties.get("profile");
35393 amit 130
 
35832 amit 131
        Resource appResource;
132
        Resource sharedResource;
133
 
134
        if ("prod".equals(activeProfile)) {
135
            appResource = new ClassPathResource("/META-INF/prod.properties");
136
            sharedResource = new ClassPathResource("/shared-prod.properties");
137
        } else if ("staging".equals(activeProfile)) {
138
            appResource = new ClassPathResource("/META-INF/staging.properties");
139
            sharedResource = new ClassPathResource("/shared-staging.properties");
140
        } else {
141
            appResource = new ClassPathResource("/META-INF/dev.properties");
142
            sharedResource = new ClassPathResource("/shared-dev.properties");
143
        }
144
 
145
        LOGGER.info("Cron loading profile: " + activeProfile);
146
        propertySourcesPlaceholderConfigurer.setLocations(sharedResource, appResource);
35393 amit 147
        propertySourcesPlaceholderConfigurer.setIgnoreResourceNotFound(true);
148
 
31753 tejbeer 149
        return propertySourcesPlaceholderConfigurer;
150
    }
28389 amit.gupta 151
 
31753 tejbeer 152
    @Bean(name = "veloctyEngine")
153
    public VelocityEngine velocityEngine() throws VelocityException, IOException {
154
        VelocityEngineFactoryBean factory = new VelocityEngineFactoryBean();
28389 amit.gupta 155
 
31753 tejbeer 156
        Properties velocityProperties = new Properties();
157
        velocityProperties.put("resource.loader", "class");
158
        velocityProperties.put("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
159
        velocityProperties.put("file.resource.loader.cache", true);
160
        velocityProperties.put("file.resource.loader.unicode", true);
161
        velocityProperties.put("input.encoding", "UTF-8");
162
        velocityProperties.put("output.encoding", "UTF-8");
163
        velocityProperties.put("response.encoding", "UTF-8");
164
        velocityProperties.put("overrideLogging", true);
28389 amit.gupta 165
 
31753 tejbeer 166
        // velocityProperties.put("file.resource.loader.path", ".");
28389 amit.gupta 167
 
31753 tejbeer 168
        factory.setVelocityProperties(velocityProperties);
28389 amit.gupta 169
 
31753 tejbeer 170
        return factory.createVelocityEngine();
23723 amit.gupta 171
 
31753 tejbeer 172
    }
24122 govind 173
 
34668 amit.gupta 174
    @Bean(name = "mailSender")
31753 tejbeer 175
    @Primary
176
    public JavaMailSender sendGridMailSender() {
177
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
24122 govind 178
 
31753 tejbeer 179
        // Using gmail
180
        mailSender.setHost("smtp.sendgrid.net");
181
        mailSender.setPort(587);
182
        mailSender.setUsername("apikey");
34668 amit.gupta 183
        mailSender.setPassword("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");
24122 govind 184
 
31753 tejbeer 185
        Properties javaMailProperties = new Properties();
186
        javaMailProperties.put("mail.smtp.starttls.enable", "false");
187
        javaMailProperties.put("mail.smtp.auth", "true");
188
        javaMailProperties.put("mail.transport.protocol", "smtp");
36060 amit 189
        javaMailProperties.put("mail.smtp.connectiontimeout", "10000");
190
        javaMailProperties.put("mail.smtp.timeout", "10000");
191
        javaMailProperties.put("mail.smtp.writetimeout", "10000");
24122 govind 192
 
31753 tejbeer 193
        mailSender.setJavaMailProperties(javaMailProperties);
194
        return mailSender;
34632 ranu 195
    }
23935 amit.gupta 196
 
31753 tejbeer 197
    @Bean
198
    public JavaMailSender googleMailSender() {
199
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
34612 ranu 200
        mailSender.setHost("smtp.gmail.com");
201
        mailSender.setPort(465);
202
        mailSender.setUsername("sdtech@smartdukaan.com");
36979 ranu 203
        mailSender.setPassword("wbdwyqrcgosrkwdn"); // App Password
34612 ranu 204
 
205
        Properties props = mailSender.getJavaMailProperties();
206
        props.put("mail.smtp.auth", "true");
207
        props.put("mail.smtp.ssl.enable", "true");
208
        props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
209
        props.put("mail.smtp.socketFactory.port", "465");
210
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
36060 amit 211
        props.put("mail.smtp.connectiontimeout", "10000");
212
        props.put("mail.smtp.timeout", "10000");
213
        props.put("mail.smtp.writetimeout", "10000");
34612 ranu 214
 
215
        return mailSender;
216
    }
217
 
36248 amit 218
    @Bean(name = "gmailRelaySender")
219
    public JavaMailSender getGmailRelaySender() {
220
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
221
        mailSender.setHost("smtp-relay.gmail.com");
222
        mailSender.setPort(587);
223
 
224
        Properties props = mailSender.getJavaMailProperties();
225
        props.put("mail.smtp.starttls.enable", "true");
226
        props.put("mail.smtp.auth", "false");
227
        props.put("mail.smtp.localhost", "smartdukaan.com");
228
        props.put("mail.smtp.ssl.protocols", "TLSv1.2");
229
        props.put("mail.smtp.ssl.trust", "smtp-relay.gmail.com");
230
        props.put("mail.transport.protocol", "smtp");
231
        props.put("mail.smtp.connectiontimeout", "10000");
232
        props.put("mail.smtp.timeout", "10000");
233
        props.put("mail.smtp.writetimeout", "10000");
234
 
235
        return mailSender;
236
    }
237
 
31753 tejbeer 238
    @Autowired
239
    private RunOnceTasks runOnceTasks;
24122 govind 240
 
31753 tejbeer 241
    @Autowired
242
    private ScheduledTasks scheduledTasks;
30335 amit.gupta 243
 
31753 tejbeer 244
    @Autowired
34306 ranu 245
    private ScheduledTasksTest scheduledTasksTest;
246
 
247
    @Autowired
34860 ranu 248
    private FetchPartnersDisbursementTask fetchPartnersDisbursementTask;
249
 
250
    @Autowired
31753 tejbeer 251
    private Reconciliation reconciliation;
30309 amit.gupta 252
 
31753 tejbeer 253
    @Autowired
36511 amit 254
    private WarehouseStockReconciliation warehouseStockReconciliation;
255
 
256
    @Autowired
37159 amit 257
    private PartnerIdentityIntegrityMonitor partnerIdentityIntegrityMonitor;
258
 
259
    @Autowired
35250 amit 260
    private Migrations migrations;
261
 
262
    @Autowired
31753 tejbeer 263
    CaptchaService captchaService;
28921 tejbeer 264
 
33274 amit.gupta 265
    @Autowired
266
    POScheduler poScheduler;
32878 amit.gupta 267
 
35929 vikas 268
    @Autowired
269
    ShopifyProductSyncService shopifyProductSyncService;
33274 amit.gupta 270
 
36058 ranu 271
    @Autowired
272
    KnowlarityCallMonitorScheduler knowlarityCallMonitorScheduler;
35929 vikas 273
 
36063 ranu 274
    @Autowired
275
    MailOutboxService mailOutboxService;
276
 
31753 tejbeer 277
    @Override
278
    public void run(ApplicationArguments args) throws Exception {
32008 amit.gupta 279
        //scheduledTasks.test();
280
        //System.exit();
31753 tejbeer 281
        LOGGER.info("Called run method");
36058 ranu 282
 
283
        // Knowlarity Call Monitor - Manual trigger (if 10 AM scheduled start was missed)
284
        // This just starts the monitor; scheduled healthCheck and stopMonitoring will still work
285
        if (args.containsOption("startKnowlarityMonitor")) {
286
            LOGGER.info("Starting Knowlarity Call Monitor manually...");
287
            knowlarityCallMonitorScheduler.startMonitoring();
288
            LOGGER.info("Knowlarity Call Monitor started. Scheduled tasks will handle health checks and 10 PM stop.");
289
            // No sleep needed - Spring scheduler keeps app running and handles 10 PM stop
290
        }
36545 ranu 291
        if (args.containsOption("trackingReport")) {
292
            runOnceTasks.dailyTrackingReport();
293
        }
36058 ranu 294
        if (args.containsOption("stopKnowlarityMonitor")) {
295
            LOGGER.info("Stopping Knowlarity Call Monitor...");
296
            knowlarityCallMonitorScheduler.stopMonitoring();
297
        }
36115 ranu 298
        // Knowlarity - Request fresh snapshot manually (when status not updating)
299
        if (args.containsOption("refreshKnowlaritySnapshot")) {
300
            LOGGER.info("Requesting Knowlarity snapshot manually...");
301
            knowlarityCallMonitorScheduler.healthCheck();
302
            LOGGER.info("Knowlarity snapshot requested.");
303
            System.exit(0);
304
        }
36058 ranu 305
 
33260 amit.gupta 306
        if (args.containsOption("removePartialBillingForTransaction")) {
307
            if (args.containsOption("trId")) {
33051 amit.gupta 308
                int transactionId = Integer.parseInt(args.getOptionValues("trId").get(0));
33054 amit.gupta 309
                scheduledTasks.removePartialBillingForTransaction(transactionId);
33051 amit.gupta 310
            }
311
            System.exit(0);
312
        }
34523 ranu 313
        if (args.containsOption("createOpeningStockPartyWise")) {
314
            scheduledTasks.createOpeningStockPartyWise();
315
            System.exit(0);
316
        }
31753 tejbeer 317
        if (args.containsOption("tc")) {
318
            System.out.println("Toffee service called");
319
            scheduledTasks.toffeeRollback();
320
            System.exit(0);
321
        }
322
        if (args.containsOption("bag")) {
323
            System.out.println("Bag service called");
324
            runOnceTasks.testBag();
325
            System.exit(0);
326
        }
29814 tejbeer 327
 
31753 tejbeer 328
        if (args.containsOption("rw")) {
329
            System.out.println("Reverse wallet");
330
            scheduledTasks.reverseWallet();
331
            System.exit(0);
332
        }
333
        if (args.containsOption("sendIndentTertiary")) {
334
            System.out.println("sendIndentTertiary");
335
            scheduledTasks.sendIndentTertiary();
336
            System.exit(0);
337
        }
338
        if (args.containsOption("checkPartnerActiveStore")) {
339
            System.out.println("checkPartnerActiveStore");
340
            scheduledTasks.checkPartnerActiveStore();
341
            System.exit(0);
342
        }
37040 ranu 343
        if (args.containsOption("updatePartnerActivationTypeByMonthlySale")) {
344
            System.out.println("updatePartnerActivationTypeByMonthlySale");
345
            scheduledTasks.updatePartnerActivationTypeByMonthlySale();
346
            System.exit(0);
347
        }
29800 manish 348
 
31753 tejbeer 349
        if (args.containsOption("selectFinServiceFollowUpDateByCurrDate")) {
350
            System.out.println("selectfinServiceFollowUpDateByCurrDate");
28368 tejbeer 351
 
31753 tejbeer 352
            scheduledTasks.selectFinServiceFollowUpDateByCurrDate(LocalDate.now());
353
            System.exit(0);
354
        }
25073 amit.gupta 355
 
31753 tejbeer 356
        if (args.containsOption("addHdfcPayment")) {
357
            runOnceTasks.addPayment();
358
            System.exit(0);
359
        }
35250 amit 360
        if (args.containsOption("migrateOriginalInventoryItemId")) {
361
            int batchSize = 10_000;
362
            if (args.containsOption("batchSize")) {
363
                try {
364
                    batchSize = Integer.parseInt(args.getOptionValues("batchSize").get(0));
365
                } catch (Exception e) {
366
                    LOGGER.warn("Invalid batchSize provided, defaulting to {}", batchSize);
367
                }
368
            }
369
            LOGGER.info("Starting migration for warehouse.inventoryItem.originalInventoryItemId with batchSize={}", batchSize);
36003 aman 370
            //migrations.migrateWarehouseOriginalInventoryItemId(batchSize);
35250 amit 371
            LOGGER.info("Migration completed.");
372
            System.exit(0);
373
        }
31753 tejbeer 374
        if (args.containsOption("processSchemeOut")) {
375
            System.out.println("Process schemeOut");
376
            int orderId = Integer.parseInt(args.getOptionValues("orderid").get(0));
377
            int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
378
            runOnceTasks.processSchemeOut(fofoId, orderId);
379
            System.exit(0);
380
        }
381
        if (args.containsOption("at")) {
382
            System.out.println("Toffee service called");
383
            ticketRelatedScheduledTask.alertforTicket();
384
            System.exit(0);
385
        }
386
        if (args.containsOption("et")) {
387
            ticketRelatedScheduledTask.escalateTicket();
388
            ;
389
            System.exit(0);
390
        }
391
        if (args.containsOption("sr")) {
392
            List<String> schemeIds = args.getOptionValues("schemeId");
393
            System.out.println(schemeIds);
394
            scheduledTasks.schemeRollback(schemeIds);
395
            System.exit(0);
396
        }
397
        if (args.containsOption("processActivation")) {
398
            scheduledTasks.processActivation();
399
            System.exit(0);
400
        }
401
        if (args.containsOption("sendAttendanceMorningAlert")) {
402
            scheduledTasks.sendAttendanceMorningAlert();
403
            System.exit(0);
404
        }
405
        if (args.containsOption("sendAttendanceEveningAlert")) {
406
            scheduledTasks.sendAttendanceEveningAlert();
407
            System.exit(0);
408
        }
25721 tejbeer 409
 
31753 tejbeer 410
        if (args.containsOption("checkRazorPayPaymentStatus")) {
411
            scheduledTasks.checkRazorPayPaymentStatus();
412
            System.exit(0);
413
        }
414
        if (args.containsOption("grouping")) {
415
            scheduledTasks.grouping();
416
            System.exit(0);
417
        }
418
        if (args.containsOption("fixWallet")) {
419
            runOnceTasks.fixWallet();
420
            System.exit(0);
421
        }
36511 amit 422
        if (args.containsOption("reconcileInventorySnapshot")) {
423
            warehouseStockReconciliation.reconcile();
424
            System.exit(0);
425
        }
37159 amit 426
        if (args.containsOption("partnerIdentityIntegrityMonitor")) {
427
            partnerIdentityIntegrityMonitor.monitor();
428
            System.exit(0);
429
        }
31753 tejbeer 430
        if (args.containsOption("reconcileExpiredFixedSchemes")) {
431
            reconciliation.reconcileExpiredFixedSchemes();
432
            System.exit(0);
433
        }
434
        if (args.containsOption("dailyReconciliation")) {
435
            if (args.containsOption("date")) {
436
                LocalDate date = LocalDate.parse(args.getOptionValues("date").get(0));
437
                reconciliation.dailyReconciliation(date);
438
            } else {
439
                reconciliation.dailyReconciliation(LocalDate.now().minusDays(1));
440
            }
441
            System.exit(0);
442
        }
443
        /*
444
         * if (args.containsOption("test")) { schemeService.processSchemeIn(9243,
445
         * 175138102); throw new Exception(); }
446
         */
28921 tejbeer 447
 
31753 tejbeer 448
        if (args.containsOption("sendNotification")) {
449
            scheduledTasks.sendNotification();
450
            System.exit(0);
451
        }
26291 tejbeer 452
 
36063 ranu 453
        if (args.containsOption("processPendingMails")) {
454
            System.out.println("Processing pending mails...");
455
            mailOutboxService.processPendingMails();
456
            System.exit(0);
457
        }
458
 
31753 tejbeer 459
        if (args.containsOption("ticketClosed")) {
35568 amit 460
            // Redirected to TicketRelatedScheduledTask which handles auto-close as part of escalateTicket
461
            ticketRelatedScheduledTask.escalateTicket();
31753 tejbeer 462
            System.exit(0);
463
        }
28207 tejbeer 464
 
31753 tejbeer 465
        if (args.containsOption("getVendorWarehouses")) {
466
            int warehouseId = Integer.parseInt(args.getOptionValues("warehouseId").get(0));
467
            scheduledTasks.getVendorWarehouses(warehouseId);
468
            System.exit(0);
469
        }
29776 tejbeer 470
 
31753 tejbeer 471
        if (args.containsOption("checkfocusedModelInPartnerStock")) {
34344 amit.gupta 472
            try {
473
                scheduledTasks.checkfocusedModelInPartnerStock();
474
            } finally {
475
                System.exit(0);
476
            }
31753 tejbeer 477
        }
29451 manish 478
 
31753 tejbeer 479
        if (args.containsOption("checkImeiActivation")) {
480
            scheduledTasks.checkImeiActivation();
481
            System.exit(0);
482
        }
29776 tejbeer 483
 
31753 tejbeer 484
        if (args.containsOption("checkTecnoImeiActivation")) {
29776 tejbeer 485
 
31753 tejbeer 486
            LocalDate dateTechno = LocalDate.now();
29532 manish 487
 
31753 tejbeer 488
            int days = 25;
489
            if (args.containsOption("days")) {
490
                days = Integer.parseInt(args.getOptionValues("days").get(0));
491
            }
492
            scheduledTasks.checkTecnoImeiActivation(dateTechno, days);
493
            System.exit(0);
494
        }
28921 tejbeer 495
 
31753 tejbeer 496
        if (args.containsOption("checkItelImeiActivation")) {
497
            LocalDate dateItel = LocalDate.now();
498
            int days = 25;
499
            if (args.containsOption("days")) {
500
                days = Integer.parseInt(args.getOptionValues("days").get(0));
501
            }
502
            scheduledTasks.checkItelImeiActivation(dateItel, days);
503
            System.exit(0);
504
        }
28921 tejbeer 505
 
31753 tejbeer 506
        if (args.containsOption("partnerProblemAlert")) {
507
            scheduledTasks.partnerProblemAlert();
508
            System.exit(0);
509
        }
510
        if (args.containsOption("notify")) {
511
            if (args.containsOption("fofoId")) {
512
                int fofoId = Integer.parseInt(args.getOptionValues("fofoId").get(0));
513
                scheduledTasks.sendDailySalesNotificationToPartner(fofoId);
514
            }
515
            System.exit(0);
516
        }
517
        if (args.containsOption("findMismatchesInIndent")) {
518
            runOnceTasks.findMismatchesInIndent();
519
            System.exit(0);
520
        }
29035 tejbeer 521
 
31753 tejbeer 522
        if (args.containsOption("onboardingEventDelays")) {
523
            onBoardingRelatedSchelduleTask.onboardingEventDelays();
524
            System.exit(0);
525
        }
28982 tejbeer 526
 
31753 tejbeer 527
        if (args.containsOption("onBoardingCompleteEventEmail")) {
528
            onBoardingRelatedSchelduleTask.onBoardingCompleteEventEmail();
529
            System.exit(0);
530
        }
28921 tejbeer 531
 
31753 tejbeer 532
        if (args.containsOption("onBoardingDocumentsPending")) {
533
            onBoardingRelatedSchelduleTask.onBoardingDocumentsPending();
534
            System.exit(0);
535
        }
536
        if (args.containsOption("onBoardingMigration")) {
537
            onBoardingRelatedSchelduleTask.onBoardingMigration();
538
            System.exit(0);
539
        }
28921 tejbeer 540
 
33859 tejus.loha 541
//        if (args.containsOption("advancePaymentPendingAlert")) {
542
//            onBoardingRelatedSchelduleTask.advancePaymentPendingAlert();
543
//            System.exit(0);
544
//        }
28963 tejbeer 545
 
31753 tejbeer 546
        if (args.containsOption("fullPaymentPendingAlert")) {
547
            onBoardingRelatedSchelduleTask.fullPaymentPendingAlert();
548
            System.exit(0);
549
        }
29308 tejbeer 550
 
33859 tejus.loha 551
//        if (args.containsOption("advancePaymentPendinglegalAlert")) {
552
//            onBoardingRelatedSchelduleTask.advancePaymentPendinglegalAlert();
553
//            System.exit(0);
554
//        }
31117 tejbeer 555
 
31753 tejbeer 556
        if (args.containsOption("markDelhiveryOrderDelivered")) {
32831 amit.gupta 557
            orderTrackingService.markDelhiveryOrderDelivered();
31753 tejbeer 558
            System.exit(0);
559
        }
32831 amit.gupta 560
 
31753 tejbeer 561
        if (args.containsOption("markBlueDartOrderDelivered")) {
32794 raveendra. 562
            System.out.println("Marking BlueDart Order Delivered...");
32831 amit.gupta 563
            orderTrackingService.markBlueDartOrderDelivered();
31753 tejbeer 564
            System.exit(0);
565
        }
566
        if (args.containsOption("mergingdata")) {
567
            onBoardingRelatedSchelduleTask.mergingdata();
568
            System.exit(0);
569
        }
570
        if (args.containsOption("brandingAlert")) {
571
            onBoardingRelatedSchelduleTask.brandingAlert();
572
            System.exit(0);
573
        }
31089 amit.gupta 574
 
33859 tejus.loha 575
//        if (args.containsOption("storeTimelinePromoterPending")) {
576
//            onBoardingRelatedSchelduleTask.storeTimelinePromoterPending();
577
//            System.exit(0);
578
//        }
31249 tejbeer 579
 
31753 tejbeer 580
        if (args.containsOption("ppl")) {
581
            runOnceTasks.printPendingLeads();
582
            System.exit(0);
583
        }
31249 tejbeer 584
 
31753 tejbeer 585
        if (args.containsOption("notifyAll")) {
586
            scheduledTasks.sendDailySalesNotificationToPartner(null);
587
            System.exit(0);
588
        }
31249 tejbeer 589
 
31753 tejbeer 590
        if (args.containsOption("monthlyTargetForInternalTeam")) {
591
            scheduledTasks.monthlyTargetForInternalTeam();
592
            System.exit(0);
593
        }
31249 tejbeer 594
 
31753 tejbeer 595
        if (args.containsOption("monthlyTargetForPartner")) {
596
            scheduledTasks.monthlyTargetForPartner();
597
            System.exit(0);
598
        }
33444 ranu 599
        if (args.containsOption("findAllLiveDemoBrandItemsByBillingDate")) {
600
            scheduledTasks.findAllLiveDemoBrandItemsByBillingDate();
601
            System.exit(0);
602
        }
33464 ranu 603
        if (args.containsOption("findTodayPocoBillingItems")) {
604
            scheduledTasks.findTodayPocoBillingItems();
605
            System.exit(0);
606
        }
28921 tejbeer 607
 
31753 tejbeer 608
        if (args.containsOption("hygineAlertForPartner")) {
609
            scheduledTasks.hygineAlertForPartner();
610
            System.exit(0);
611
        }
28921 tejbeer 612
 
31753 tejbeer 613
        if (args.containsOption("hygineAlertForInternalTeam")) {
614
            scheduledTasks.hygineAlertForInternalTeam();
615
            System.exit(0);
616
        }
617
 
32214 jai.hind 618
        if (args.containsOption("checkItelImeiActivationNew")) {
619
            scheduledTasks.checkItelImeiActivationNew(LocalDate.now(), 15);
620
            System.exit(0);
621
        }
31753 tejbeer 622
        if (args.containsOption("once")) {
33274 amit.gupta 623
 
624
            if (args.containsOption("autoClosePurchaseOrders")) {
625
                poScheduler.autoClosePurchaseOrders();
626
            }
31753 tejbeer 627
            if (args.containsOption("cancelOnceAssist")) {
628
                if (args.containsOption("invoiceNumber")) {
629
                    String oneAssistInvoiceNumber = args.getOptionValues("invoiceNumber").get(0);
630
                    runOnceTasks.cancelOnceAssist(oneAssistInvoiceNumber);
631
                }
632
 
35266 ranu 633
 
31753 tejbeer 634
            }
34208 ranu 635
            if (args.containsOption("cancelOnceAssist")) {
636
                if (args.containsOption("MemberShipNumber")) {
637
                    String applicationNo = args.getOptionValues("applicationNo").get(0);
638
                    String membershipId = args.getOptionValues("membershipId").get(0);
639
                    runOnceTasks.cancelOnceAssistByMemberShipNumber(applicationNo, membershipId);
640
                }
641
 
642
            }
33260 amit.gupta 643
            if (args.containsOption("changeFulfillmentWarehouse")) {
644
                if (args.containsOption("orderId") && args.containsOption("whId")) {
35277 amit 645
                    List<Integer> orderIds = Arrays.stream(args.getOptionValues("orderId").get(0).split(","))
646
                            .map(String::trim)
647
                            .map(Integer::parseInt)
648
                            .collect(Collectors.toList());
649
 
35276 amit 650
                    int warehouseId = Integer.parseInt(args.getOptionValues("whId").get(0));
651
                    for (Integer orderId : orderIds) {
652
                        runOnceTasks.changeFulfillmentWarehouse(orderId, warehouseId);
653
                    }
33260 amit.gupta 654
                }
655
                System.exit(0);
656
            }
31753 tejbeer 657
            if (args.containsOption("1")) {
658
                if (args.containsOption("test")) {
31618 amit.gupta 659
                    //scheduledTasks.sendPartnerInvestmentDetails(args.getOptionValues("email"));
31753 tejbeer 660
                    System.out.println("Calling test method");
36003 aman 661
                    try {
662
                        scheduledTasks.test();
663
                    } catch (Throwable e) {
664
                        throw new RuntimeException(e);
665
                    }
35165 amit 666
                    System.exit(0);
32083 tejbeer 667
 
668
                    if (args.containsOption("migrateVendorItemPricing")) {
669
                        scheduledTasks.migrateVendorItemPricing();
670
                        System.exit(0);
671
                    }
672
 
673
                    if (args.containsOption("approveVendorCatalogPricing")) {
674
                        scheduledTasks.approveVendorCatalogPricing();
675
                        System.exit(0);
676
                    }
32080 tejbeer 677
                } else if (args.containsOption("test1")) {
32008 amit.gupta 678
                    scheduledTasks.test1();
34845 ranu 679
                } else if (args.containsOption("scheduleTaskTest1")) {
680
 
681
                    scheduledTasksTest.test();
682
                }else if (args.containsOption("generateBiReport")) {
683
                    scheduledTasksTest.generateBiReport();
34945 ranu 684
                }else if (args.containsOption("abmSendertest")) {
34946 ranu 685
                    runOnceTasks.setAbmReportSender();
35788 vikas 686
                }else if (args.containsOption("syncProductsToShopify")) {
36058 ranu 687
                    shopifyProductSyncService.syncByWarehouse(ProfitMandiConstants.WAREHOUSE_NAME_MAP.get("UP-WEST/NOIDA"));
34321 ranu 688
                }
34860 ranu 689
                else if (args.containsOption("fetchPartnerDisburseMentTask")) {
690
                    if(args.containsOption("fetchDisbursements")){
691
                        fetchPartnersDisbursementTask.fetchDisbursementsTest();
692
                    }
693
                    else if(args.containsOption("creditAmountTest")){
694
                        fetchPartnersDisbursementTask.creditAmountTest();
695
                    }
696
                    else if(args.containsOption("createContactsAndFundsForFranchiseeTest")){
697
                        fetchPartnersDisbursementTask.createContactsAndFundsForFranchiseeTest();
698
                    }
699
                    else if(args.containsOption("rabbitTransactionProducertest")){
700
                        fetchPartnersDisbursementTask.rabbitTransactionProducertest();
701
                    }
34879 ranu 702
                    else if(args.containsOption("sendingDisbursementMail")){
703
                        fetchPartnersDisbursementTask.sendingDisbursementMail();
704
                    }
34860 ranu 705
                    else {
706
                        fetchPartnersDisbursementTask.test();
707
                    }
708
                }
34845 ranu 709
                else if (args.containsOption("testNew1")) {
34307 ranu 710
                    List<String> loanIdArgs = args.getOptionValues("loanIds");  // ["34833,36536,37151"]
711
                    List<Integer> loanIds = new ArrayList<>();
712
 
713
                    if (loanIdArgs != null && !loanIdArgs.isEmpty()) {
714
                        String csv = loanIdArgs.get(0);
715
                        loanIds = Arrays.stream(csv.split(","))
716
                                .map(String::trim)
717
                                .map(Integer::parseInt)
718
                                .collect(Collectors.toList());
719
                    }
34321 ranu 720
                    scheduledTasksTest.findLoanTransactionMapingAccordingLoan(loanIds);
34309 ranu 721
                } else if (args.containsOption("testNew2")) {
34308 ranu 722
                    if (args.containsOption("createLoan")) {
723
                        // Extract each parameter
724
                        int transactionId = 0;
725
                        double invoiceAmount = 0.0;
726
                        String invoiceNumber = "";
727
 
728
                        if (args.containsOption("transactionId")) {
729
                            transactionId = Integer.parseInt(args.getOptionValues("transactionId").get(0));
730
                        }
731
 
732
                        if (args.containsOption("invoiceAmount")) {
733
                            invoiceAmount = Double.parseDouble(args.getOptionValues("invoiceAmount").get(0));
734
                        }
735
 
736
                        if (args.containsOption("invoiceNumber")) {
737
                            invoiceNumber = args.getOptionValues("invoiceNumber").get(0);
738
                        }
739
 
740
                        // Call your method
741
                        scheduledTasksTest.createLoanForBillingByTransactionIdAndInvoiceNumber(transactionId, invoiceAmount, invoiceNumber);
742
                    }
743
 
32482 amit.gupta 744
                } else {
31753 tejbeer 745
                    System.out.println("Called sendPartnerInvestmentDetails");
746
                    scheduledTasks.sendPartnerInvestmentDetails();
747
                }
748
                System.exit(0);
749
            }
750
            if (args.containsOption("2")) {
751
                if (args.containsOption("test")) {
752
                    String[] emails = new String[args.getOptionValues("email").size()];
753
                    scheduledTasks.sendAgeingReport(args.getOptionValues("email").toArray(emails));
754
                } else {
755
                    scheduledTasks.sendAgeingReport();
756
                }
757
                System.exit(0);
758
            }
33457 amit.gupta 759
 
31753 tejbeer 760
            if (args.containsOption("cancelOrder")) {
761
                List<String> invoiceNumbers = args.getOptionValues("invoiceNumber");
762
                runOnceTasks.cancelOrder(invoiceNumbers);
763
            }
36554 amit 764
            if (args.containsOption("postCreditNoteForDuplicateInvoice")) {
765
                String duplicateInvoice = args.getOptionValues("duplicateInvoice").get(0);
766
                String activeInvoice = args.getOptionValues("activeInvoice").get(0);
767
                runOnceTasks.postCreditNoteForDuplicateInvoice(duplicateInvoice, activeInvoice);
768
            }
31753 tejbeer 769
            if (args.containsOption("migratePurchase")) {
770
                runOnceTasks.migratePurchase();
771
            }
772
            if (args.containsOption("migratepd")) {
773
                scheduledTasks.moveImeisToPriceDropImeis();
774
            }
775
            if (args.containsOption("walletmismatch")) {
776
                scheduledTasks.walletmismatch();
777
            }
778
            if (args.containsOption("schemewalletmismatch")) {
779
                scheduledTasks.schemewalletmismatch();
780
            }
781
            if (args.containsOption("gst")) {
782
                scheduledTasks.gst();
783
            }
784
            if (args.containsOption("mailDashboardScreenshots")) {
785
                runOnceTasks.mailDashboardScreenshots();
786
            }
787
            if (args.containsOption("notifyLead")) {
788
                scheduledTasks.notifyLead();
789
                scheduledTasks.notifyVisits();
790
            }
791
            if (args.containsOption("fixgrn")) {
792
                runOnceTasks.fixGrn();
793
            }
794
            if (args.containsOption("pbfix")) {
795
                runOnceTasks.pbfix();
796
            }
797
            if (args.containsOption("mongom")) {
798
                runOnceTasks.mongom();
799
            }
800
            if (args.containsOption("processPd")) {
801
                int priceDropId = Integer.parseInt(args.getOptionValues("processPd").get(0));
802
                runOnceTasks.processPd(priceDropId);
803
            }
804
            if (args.containsOption("samsung")) {
805
                if (args.containsOption("ym")) {
806
                    int ym = Integer.parseInt(args.getOptionValues("ym").get(0));
807
                    runOnceTasks.fetchImeiActivation(ym);
808
                }
809
                runOnceTasks.fetchImeiActivation(0);
810
            }
811
            if (args.containsOption("fixdupimeigrn")) {
812
                runOnceTasks.fixDupGrns();
813
            }
814
            if (args.containsOption("cancel")) {
36053 amit 815
                boolean recreatePri = args.containsOption("recreatePri");
816
                runOnceTasks.cancelDn(args.getOptionValues("dn").get(0), recreatePri);
31753 tejbeer 817
            }
818
            if (args.containsOption("fixScheme")) {
819
                runOnceTasks.fixScheme();
820
            }
821
            if (args.containsOption("syncLeads")) {
822
                leadSyncRunner.syncLeads();
823
            }
824
            if (args.containsOption("testCs")) {
825
                int category = Integer.parseInt(args.getOptionValues("category").get(0));
826
                EscalationType escalationType = EscalationType.valueOf(args.getOptionValues("escalation").get(0));
827
                int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
828
                csService.getAuthUserId(category, escalationType, fofoId);
829
            }
830
            if (args.containsOption("duporder")) {
831
                runOnceTasks.removeDuplicateOrders();
832
            }
833
            if (args.containsOption("createDummyInvoices")) {
834
                runOnceTasks.createDummyInvoices();
835
            }
28921 tejbeer 836
 
31753 tejbeer 837
            if (args.containsOption("createGeofence")) {
838
                runOnceTasks.createGeofence();
839
            }
840
            if (args.containsOption("getAllGeofences")) {
841
                runOnceTasks.getAllGeofences();
842
            }
843
            if (args.containsOption("payMonthlyInvestment")) {
844
                investmentRelatedTasks.payMonthlyInvestment();
845
            }
846
            if (args.containsOption("evaluateActualInvestmentPayout")) {
847
                investmentRelatedTasks.evaluateActualInvestmentPayout();
848
            }
849
            if (args.containsOption("deleteGeofences")) {
850
                List<String> geofenceIds = args.getOptionValues("geofenceId");
851
                runOnceTasks.deleteGeofences(geofenceIds);
852
            }
853
            if (args.containsOption("createOffers")) {
854
                if (args.containsOption("fileName")) {
855
                    String fileName = args.getOptionValues("fileName").get(0);
856
                    FileInputStream stream = new FileInputStream(fileName);
857
                    runOnceTasks.createOffers(stream);
858
                }
859
            }
860
            if (args.containsOption("schemeout")) {
861
                if (args.containsOption("invoices")) {
862
                    String invoicesString = args.getOptionValues("invoices").get(0);
863
                    List<String> invoices = Arrays.asList(invoicesString.split(","));
864
                    scheduledTasks.processSchemeOut(invoices);
865
                }
866
            }
867
            if (args.containsOption("schemein")) {
868
                if (args.containsOption("invoices")) {
869
                    String invoicesString = args.getOptionValues("invoices").get(0);
870
                    List<String> invoices = Arrays.asList(invoicesString.split(","));
871
                    scheduledTasks.processSchemeIn(invoices);
872
                }
873
            }
28921 tejbeer 874
 
31753 tejbeer 875
            if (args.containsOption("fixScans")) {
876
                runOnceTasks.fixScans();
877
            }
878
            if (args.containsOption("fixPrebookingOrderGrn")) {
879
                runOnceTasks.genericCreateCurrentInventorySnapshot();
880
            }
881
            if (args.containsOption("fixOurSerialized")) {
882
                if (args.containsOption("orderIds")) {
883
                    String orderIdsString = args.getOptionValues("orderIds").get(0);
884
                    List<Integer> orderIds = Arrays.asList(orderIdsString.split(",")).stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
885
                    // runOnceTasks.fixOurSerialized(orderIds);
886
                }
887
            }
29776 tejbeer 888
 
31753 tejbeer 889
            if (args.containsOption("reverseMaa")) {
890
                runOnceTasks.reverseMaa();
891
            }
29776 tejbeer 892
 
31753 tejbeer 893
            if (args.containsOption("fixOffer")) {
894
                runOnceTasks.fixOffer();
895
            }
29794 tejbeer 896
 
31753 tejbeer 897
            if (args.containsOption("opporeno")) {
898
                runOnceTasks.opporeno();
899
            }
30309 amit.gupta 900
 
31753 tejbeer 901
            if (args.containsOption("fixorders")) {
902
                runOnceTasks.fixOrders();
903
            }
904
            if (args.containsOption("fixreservations")) {
905
                runOnceTasks.fixReservations();
906
            }
907
            if (args.containsOption("addinvestment")) {
908
                runOnceTasks.addInvestment();
909
            }
910
            if (args.containsOption("brandregion")) {
911
                runOnceTasks.brandRegion();
912
            }
913
            if (args.containsOption("rollOutUpgardedMargins")) {
35520 amit 914
                scheduledTasks.rollOutUpgardedMargins(Arrays.asList(175140172, 175140189));
31753 tejbeer 915
            }
34029 ranu 916
            if (args.containsOption("pushRbmTargets")) {
917
                scheduledTasks.persistRbmTodayTargets();
918
            }
31753 tejbeer 919
            if (args.containsOption("rollOutUpgardedMarginsNextMonth")) {
35524 amit 920
                System.out.println("In rollOutUpgardedMarginsNextMonth");
35532 amit 921
                scheduledTasks.rollOutUpgardedMarginsNextMonth(Arrays.asList(175140172, 175140189, 175138897));
31753 tejbeer 922
            }
923
            if (args.containsOption("checkCancellationMargin")) {
924
                scheduledTasks.checkCancellationMargin();
925
            }
926
            if (args.containsOption("reviewUncontactablePartner")) {
927
                scheduledTasks.reviewUncontactablePartner();
928
            }
33078 ranu 929
            if (args.containsOption("reviewNonSdBuyingBrand")) {
930
                scheduledTasks.reviewNonSdBuyingBrand();
931
            }
31753 tejbeer 932
            if (args.containsOption("sendWelcomeEmail")) {
933
                onBoardingRelatedSchelduleTask.sendWelcomeEmail();
934
            }
29814 tejbeer 935
 
31753 tejbeer 936
            if (args.containsOption("partnerOnboardingLegalMigration")) {
937
                onBoardingRelatedSchelduleTask.partnerOnboardingLegalMigration();
938
            }
31031 amit.gupta 939
 
33526 amit.gupta 940
            if(args.containsOption("moveOrders")) {
941
                runOnceTasks.moveOrders();
942
            }
943
 
31753 tejbeer 944
            if (args.containsOption("addKycLegalMigration")) {
945
                onBoardingRelatedSchelduleTask.addKycLegalMigration();
946
            }
29776 tejbeer 947
 
948
 
31753 tejbeer 949
            if (args.containsOption("pushDataToSolr")) {
950
                listing.pushDataToSolr();
951
            }
30120 amit.gupta 952
 
31753 tejbeer 953
            if (args.containsOption("testGstPro")) {
954
                System.out.println("TestGstProc called");
955
                try {
956
                    runOnceTasks.updateIrnsToInvoices();
957
                } catch (Exception e) {
958
                    e.printStackTrace();
959
                }
960
            }
29308 tejbeer 961
 
37058 amit 962
            if (args.containsOption("regenerateBilledInvoices")) {
963
                if (args.containsOption("fromTime") && args.containsOption("toTime")) {
964
                    LocalDateTime fromTime = LocalDateTime.parse(args.getOptionValues("fromTime").get(0));
965
                    LocalDateTime toTime = LocalDateTime.parse(args.getOptionValues("toTime").get(0));
966
                    runOnceTasks.regenerateBilledInvoices(fromTime, toTime);
967
                } else {
968
                    System.out.println("regenerateBilledInvoices requires --fromTime and --toTime (ISO, e.g. 2026-06-01T00:00:00)");
969
                }
970
                System.exit(0);
971
            }
972
 
31753 tejbeer 973
            if (args.containsOption("reverseSchemeCancelInvoice")) {
974
                if (args.containsOption("invoice")) {
975
                    String invoice = args.getOptionValues("invoice").get(0);
976
                    runOnceTasks.reverseSchemes(invoice);
977
                }
978
            }
29863 tejbeer 979
 
31753 tejbeer 980
            if (args.containsOption("reverseInvalidActivation")) {
981
                if (args.containsOption("inventoryids")) {
982
                    String inventoryItemIdsString = args.getOptionValues("inventoryids").get(0);
983
                    List<Integer> inventoryItemIds = new ArrayList<>();
984
                    for (String inventoryItemIdString : inventoryItemIdsString.split(",")) {
985
                        int inventoryItemId = Integer.parseInt(inventoryItemIdString.trim());
986
                        inventoryItemIds.add(inventoryItemId);
987
                    }
988
                    runOnceTasks.reverseInvalidActivation(inventoryItemIds);
989
                }
990
            }
29863 tejbeer 991
 
31753 tejbeer 992
            if (args.containsOption("runme")) {
993
                runOnceTasks.runMe();
994
            }
995
            if (args.containsOption("" + "")) {
996
                upgradeOfferService.authenticateUser();
997
            }
998
            if (args.containsOption("mandiiUser")) {
999
                runOnceTasks.mandiiUser(args.getOptionValues("firstName").get(0), args.getOptionValues("lastName").get(0), args.getOptionValues("pan").get(0), args.getOptionValues("dob").get(0), args.getOptionValues("aadhaar").get(0), args.getOptionValues("gender").get(0), args.getOptionValues("father").get(0));
1000
            }
30335 amit.gupta 1001
 
31753 tejbeer 1002
            if (args.containsOption("mandiiUsers")) {
1003
                if (args.containsOption("pan")) {
1004
                    runOnceTasks.mandiiUsers(args.getOptionValues("pan").get(0));
1005
                } else {
1006
                    runOnceTasks.mandiiUsers();
1007
                }
1008
            }
30576 amit.gupta 1009
 
31753 tejbeer 1010
            if (args.containsOption("checkOppoImeiStatus")) {
1011
                try {
1012
                    standAlone.checkOppoImeiStatus();
1013
                } catch (Exception e) {
1014
                    e.printStackTrace();
1015
                }
1016
            }
30616 amit.gupta 1017
 
34417 amit.gupta 1018
            if (args.containsOption("checkRealmeImeiStatus")) {
1019
                try {
1020
                    standAlone.checkRealmeImeiStatus();
1021
                } catch (Exception e) {
1022
                    e.printStackTrace();
1023
                }
1024
            }
1025
 
31753 tejbeer 1026
            /*
1027
             * if (args.containsOption("checkRealmeImeiStatus")) { try {
1028
             * standAlone.checkRealmeImeiStatus(); } catch (Exception e) {
1029
             * e.printStackTrace(); } }
1030
             */
30616 amit.gupta 1031
 
31753 tejbeer 1032
            if (args.containsOption("amazonPurchase")) {
1033
                try {
1034
                    runOnceTasks.amazonPurchase();
1035
                } catch (Exception e) {
1036
                    e.printStackTrace();
1037
                }
1038
            }
30641 amit.gupta 1039
 
31753 tejbeer 1040
            if (args.containsOption("getCaptchaCode")) {
1041
                try {
1042
                    captchaService.getCaptchaCode("/home/amit/Desktop/generatingCodes.jpg");
1043
                } catch (Exception e) {
1044
                    e.printStackTrace();
1045
                }
1046
            }
30641 amit.gupta 1047
 
31753 tejbeer 1048
            if (args.containsOption("testIrnLive")) {
1049
                try {
1050
                    runOnceTasks.testIrnLive(args.getOptionValues("invoiceNumber").get(0));
1051
                } catch (Exception e) {
1052
                    e.printStackTrace();
1053
                }
1054
            }
30659 amit.gupta 1055
 
31753 tejbeer 1056
            if (args.containsOption("createoffercriteria")) {
1057
                try {
1058
                    runOnceTasks.createOfferCriteria();
1059
                } catch (Exception e) {
1060
                    e.printStackTrace();
1061
                }
1062
            }
30659 amit.gupta 1063
 
31753 tejbeer 1064
            if (args.containsOption("fix-price-drops")) {
1065
                runOnceTasks.fixPriceDrop();
1066
            }
29035 tejbeer 1067
 
31753 tejbeer 1068
            if (args.containsOption("processSchemeByIds")) {
1069
                List<String> schemeIds = Arrays.asList(args.getOptionValues("ids").get(0).split(","));
1070
                List<Integer> schemeIdsInt = schemeIds.stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
1071
                runOnceTasks.processSchemeByIds(schemeIdsInt);
1072
            }
30859 tejbeer 1073
 
31753 tejbeer 1074
            if (args.containsOption("updateSaholicCISTable")) {
1075
                runOnceTasks.updateSaholicCISTable();
1076
            }
30859 tejbeer 1077
 
31753 tejbeer 1078
            if (args.containsOption("mapbag")) {
1079
                runOnceTasks.mapBag();
1080
            }
30859 tejbeer 1081
 
34579 vikas.jang 1082
            if (args.containsOption("todayBidPO")) {
34443 vikas.jang 1083
                runOnceTasks.processBids(ProfitMandiConstants.BID_CRON_ENUM.TODAY);
1084
            }
1085
 
34579 vikas.jang 1086
            if (args.containsOption("yesterdayBidPO")) {
1087
                runOnceTasks.processBids(ProfitMandiConstants.BID_CRON_ENUM.YESTERDAY);
1088
            }
1089
 
34547 vikas.jang 1090
            if (args.containsOption("biddingConsolidatedMessage")) {
1091
                runOnceTasks.consolidatedBiddingMessage();
1092
            }
1093
 
1094
            if (args.containsOption("sendMailWhatsAppAfterLoanDueDate")) {
1095
                scheduledTasks.sendMailWhatsAppAfterLoanDueDate();
1096
            }
1097
 
34836 vikas 1098
            if (args.containsOption("yesterdayTrackingReport")) {
1099
                runOnceTasks.yesterdayTrackingReport();
34770 vikas.jang 1100
            }
1101
 
31753 tejbeer 1102
            System.exit(0);
1103
        }
30859 tejbeer 1104
 
31753 tejbeer 1105
        if (args.containsOption("calculateInterestAccured")) {
30929 tejbeer 1106
 
31753 tejbeer 1107
            scheduledTasks.calculateInterestAccured();
1108
            System.exit(0);
1109
        }
30929 tejbeer 1110
 
31753 tejbeer 1111
        if (args.containsOption("loanSettlement")) {
30890 amit.gupta 1112
 
31753 tejbeer 1113
            scheduledTasks.loanSettlement();
1114
            System.exit(0);
1115
        }
30896 amit.gupta 1116
 
31753 tejbeer 1117
        if (args.containsOption("dailyLoanAlert")) {
30936 tejbeer 1118
 
31753 tejbeer 1119
            scheduledTasks.dailyLoanAlert();
1120
            System.exit(0);
1121
        }
30982 tejbeer 1122
 
36564 amit 1123
        if (args.containsOption("testFlagshipBilling")) {
1124
            int trId = Integer.parseInt(args.getOptionValues("testFlagshipBilling").get(0));
1125
            double amt = Double.parseDouble(args.getOptionValues("testFlagshipBillingAmount").get(0));
1126
            String inv = args.getOptionValues("testFlagshipBillingInvoice").get(0);
1127
            scheduledTasks.testFlagshipBilling(trId, amt, inv);
1128
            System.exit(0);
1129
        }
1130
 
36554 amit 1131
        if (args.containsOption("convertExpiredFlagshipCredits")) {
1132
            scheduledTasks.convertExpiredFlagshipCredits();
1133
            System.exit(0);
1134
        }
1135
 
36745 ranu 1136
        // Manual back-fill for missed-beat detection. Default: today.
1137
        // Usage: --detectMissedBeats [--date=YYYY-MM-DD]
1138
        if (args.containsOption("detectMissedBeats")) {
1139
            LocalDate date = LocalDate.now();
1140
            if (args.containsOption("date")) {
1141
                date = LocalDate.parse(args.getOptionValues("date").get(0));
1142
            }
1143
            int inserted = beatMissDetectorRunner.syncMissesForDate(date);
1144
            LOGGER.info("detectMissedBeats: {} miss rows inserted for {}", inserted, date);
1145
            System.exit(0);
1146
        }
1147
 
36554 amit 1148
        if (args.containsOption("notifyFlagshipExpiryIn2Days")) {
1149
            scheduledTasks.notifyFlagshipExpiryIn2Days();
1150
            System.exit(0);
1151
        }
1152
 
31753 tejbeer 1153
        if (args.containsOption("updatePartnerLimit")) {
1154
            scheduledTasks.updatePartnerLimit();
1155
            System.exit(0);
1156
        }
30982 tejbeer 1157
 
31753 tejbeer 1158
        if (args.containsOption("notifyDefaultLoans")) {
1159
            scheduledTasks.notifyDefaultLoans();
1160
            System.exit(0);
1161
        }
31446 amit.gupta 1162
 
31753 tejbeer 1163
        if (args.containsOption("fixinsurance")) {
1164
            runOnceTasks.addMissingWalletDebitsForInsurance();
1165
            System.exit(0);
1166
        }
31604 tejbeer 1167
 
31753 tejbeer 1168
        if (args.containsOption("processActivatedImeisForSchemes")) {
1169
            scheduledTasks.processActivatedImeisForSchemes();
1170
            System.exit(0);
1171
        }
31604 tejbeer 1172
 
36306 amit 1173
        if (args.containsOption("updatePartnerLimitWithBatch")) {
1174
            System.out.println("Running updatePartnerLimit with batch tracking");
1175
            batchScheduledTasks.updatePartnerLimitWithBatch();
1176
            System.exit(0);
1177
        }
1178
 
1179
        if (args.containsOption("processOffersWithBatch")) {
1180
            for (String val : args.getOptionValues("processOffersWithBatch")) {
1181
                for (String id : val.split(",")) {
1182
                    int offerId = Integer.parseInt(id.trim());
1183
                    System.out.println("Processing offer with batch: " + offerId);
1184
                    batchScheduledTasks.processOfferWithBatch(offerId);
1185
                }
1186
            }
1187
            System.exit(0);
1188
        }
1189
 
31753 tejbeer 1190
        if (args.containsOption("notifyLoanDueDateCross")) {
1191
            scheduledTasks.notifyLoanDueDateCross();
1192
            System.exit(0);
1193
        }
34275 tejus.loha 1194
        if (args.containsOption("sendTenOrMoreOrderStockReport")) {
1195
            scheduledTasks.send10OrMoreOlderStockReport();
1196
            System.exit(0);
1197
        }
31604 tejbeer 1198
 
31753 tejbeer 1199
        if (args.containsOption("alertForDueDate")) {
1200
            scheduledTasks.alertForDueDate();
1201
            System.exit(0);
1202
        }
31648 tejbeer 1203
 
31753 tejbeer 1204
        if (args.containsOption("userMobileNumberOptIn")) {
1205
            scheduledTasks.userMobileNumberOptIn();
1206
            System.exit(0);
1207
        }
1208
 
1209
        if (args.containsOption("fetchParnterStats")) {
1210
            scheduledTasks.fetchParnterStats();
1211
            System.exit(0);
1212
        }
1213
 
1214
        if (args.containsOption("authUserMobileNumberOptIn")) {
1215
            scheduledTasks.authUserMobileNumberOptIn();
1216
            System.exit(0);
1217
        }
1218
        if (args.containsOption("morning")) {
1219
            if (args.containsOption("0")) {
1220
                scheduledTasks.sendPartnerInvestmentDetails();
1221
            }
1222
            if (args.containsOption("1")) {
1223
                scheduledTasks.sendIndentTertiary();
1224
            }
1225
            // 0
1226
            if (args.containsOption("2")) {
1227
                scheduledTasks.calculateInterestAccured();
1228
            }
1229
            System.out.println("scheduledTasks.calculateInterestAccured()");
1230
            // 0
1231
            if (args.containsOption("3")) {
32831 amit.gupta 1232
                orderTrackingService.markDelhiveryOrderDelivered();
31753 tejbeer 1233
            }
1234
            System.out.println("scheduledTasks.markDelhiveryOrderDelivered()");
1235
            // 1
1236
            if (args.containsOption("4")) {
1237
                scheduledTasks.processActivatedImeisForSchemes();
1238
            }
1239
            System.out.println("scheduledTasks.processActivatedImeisForSchemes()");
1240
            // 2
1241
            if (args.containsOption("5")) {
1242
                scheduledTasks.processActivation();
1243
            }
1244
            System.out.println("scheduledTasks.processActivation()");
1245
            // 4
1246
            if (args.containsOption("6")) {
1247
                scheduledTasks.processPriceDrop();
1248
            }
1249
            System.out.println("scheduledTasks.processPriceDrop()");
1250
            // 5
1251
            if (args.containsOption("7")) {
1252
                scheduledTasks.loanSettlement();
1253
            }
1254
            System.out.println("scheduledTasks.loanSettlement()");
36554 amit 1255
            if (args.containsOption("7a")) {
1256
                scheduledTasks.convertExpiredFlagshipCredits();
1257
                scheduledTasks.notifyFlagshipExpiryIn2Days();
1258
            }
1259
            System.out.println("scheduledTasks.convertExpiredFlagshipCredits()");
31753 tejbeer 1260
            // 8
1261
            if (args.containsOption("8")) {
1262
                scheduledTasks.reviewUncontactablePartner();
1263
            }
1264
            // 9
33859 tejus.loha 1265
//            if (args.containsOption("9")) {
1266
//                onBoardingRelatedSchelduleTask.storeTimelinePromoterPending();
1267
//            }
1268
//            // 9
1269
//            if (args.containsOption("10")) {
1270
//                onBoardingRelatedSchelduleTask.advancePaymentPendinglegalAlert();
1271
//            }
31753 tejbeer 1272
            // sendPartnerInvestment
1273
            if (args.containsOption("11")) {
1274
                scheduledTasks.sendPartnerInvestmentDetails();
1275
            }
1276
            if (args.containsOption("sendCreditNote")) {
36993 amit 1277
                // Defaults to a dry-run (harmless dev path); pass --live to run the real pipeline.
1278
                boolean dryRun = !args.containsOption("live");
1279
                System.out.println("Calling sendCreditNote (dryRun=" + dryRun + ")");
34029 ranu 1280
                YearMonth yearMonth = YearMonth.now().minusMonths(1);
36993 amit 1281
                scheduledTasks.sendCreditNote(yearMonth, dryRun);
31753 tejbeer 1282
            }
36220 amit 1283
            if (args.containsOption("genDNs")) {
1284
                System.out.println("Calling genDNs");
36254 amit 1285
                try {
1286
                    String ymStr = args.getOptionValues("genDNs").isEmpty() ? null : args.getOptionValues("genDNs").get(0);
1287
                    YearMonth yearMonth = ymStr != null ? YearMonth.parse(ymStr) : YearMonth.now().minusMonths(1);
1288
                    System.out.println("genDNs for " + yearMonth);
1289
                    scheduledTasks.genDNs(yearMonth);
1290
                    System.out.println("genDNs completed successfully");
1291
                } catch (Exception e) {
1292
                    System.err.println("genDNs FAILED: " + e.getMessage());
1293
                    e.printStackTrace(System.err);
1294
                }
36220 amit 1295
            }
36503 amit 1296
            if (args.containsOption("genDNsForCNs")) {
1297
                System.out.println("Calling genDNsForCNs");
1298
                try {
1299
                    String cnList = args.getOptionValues("genDNsForCNs").get(0);
1300
                    List<String> cnNumbers = Arrays.asList(cnList.split(","));
1301
                    System.out.println("genDNsForCNs for " + cnNumbers.size() + " CNs: " + cnNumbers);
1302
                    scheduledTasks.genDNsForCNs(cnNumbers);
1303
                    System.out.println("genDNsForCNs completed successfully");
1304
                } catch (Exception e) {
1305
                    System.err.println("genDNsForCNs FAILED: " + e.getMessage());
1306
                    e.printStackTrace(System.err);
1307
                }
1308
            }
36433 amit 1309
            System.exit(0);
1310
        }
1311
 
31753 tejbeer 1312
    }
24848 amit.gupta 1313
}