Subversion Repositories SmartDukaan

Rev

Rev 28207 | Rev 28389 | Go to most recent revision | 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
 
27746 amit.gupta 3
import java.time.LocalDate;
27892 amit.gupta 4
import java.util.Arrays;
24174 govind 5
import java.util.List;
23906 amit.gupta 6
import java.util.Properties;
7
 
23723 amit.gupta 8
import org.apache.logging.log4j.LogManager;
9
import org.apache.logging.log4j.Logger;
23898 amit.gupta 10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.boot.ApplicationArguments;
12
import org.springframework.boot.ApplicationRunner;
23723 amit.gupta 13
import org.springframework.boot.WebApplicationType;
14
import org.springframework.boot.autoconfigure.SpringBootApplication;
15
import org.springframework.boot.builder.SpringApplicationBuilder;
16
import org.springframework.cache.annotation.EnableCaching;
17
import org.springframework.context.annotation.Bean;
18
import org.springframework.context.annotation.ComponentScan;
23935 amit.gupta 19
import org.springframework.context.annotation.Primary;
23723 amit.gupta 20
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
21
import org.springframework.core.io.ClassPathResource;
23906 amit.gupta 22
import org.springframework.mail.javamail.JavaMailSender;
23
import org.springframework.mail.javamail.JavaMailSenderImpl;
23723 amit.gupta 24
import org.springframework.scheduling.annotation.EnableScheduling;
25
 
23898 amit.gupta 26
import com.smartdukaan.cron.migrations.RunOnceTasks;
27562 amit.gupta 27
import com.smartdukaan.cron.scheduled.InvestmentRelatedTasks;
24827 amit.gupta 28
import com.smartdukaan.cron.scheduled.Reconciliation;
25563 amit.gupta 29
import com.smartdukaan.cron.scheduled.ScheduledSkeleton;
23929 amit.gupta 30
import com.smartdukaan.cron.scheduled.ScheduledTasks;
27124 amit.gupta 31
import com.smartdukaan.cron.scheduled.TicketRelatedScheduledTask;
27007 amit.gupta 32
import com.smartdukaan.cron.scheduled.leadsync.LeadSyncRunner;
27077 amit.gupta 33
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
34
import com.spice.profitmandi.dao.repository.cs.CsService;
23724 amit.gupta 35
 
23723 amit.gupta 36
@SpringBootApplication
37
@EnableCaching
38
@EnableScheduling
23755 amit.gupta 39
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
24122 govind 40
public class Application implements ApplicationRunner {
41
 
42
	private static final Logger LOGGER = LogManager.getLogger(Application.class);
43
 
25563 amit.gupta 44
	@Autowired
27007 amit.gupta 45
	LeadSyncRunner leadSyncRunner;
27392 amit.gupta 46
 
27007 amit.gupta 47
	@Autowired
25563 amit.gupta 48
	private ScheduledSkeleton scheduledSkeleton;
27392 amit.gupta 49
 
27077 amit.gupta 50
	@Autowired
27124 amit.gupta 51
	private TicketRelatedScheduledTask ticketRelatedScheduledTask;
28368 tejbeer 52
 
27562 amit.gupta 53
	@Autowired
54
	private InvestmentRelatedTasks investmentRelatedTasks;
27392 amit.gupta 55
 
27124 amit.gupta 56
	@Autowired
27077 amit.gupta 57
	private CsService csService;
24603 amit.gupta 58
 
23723 amit.gupta 59
	public static void main(String[] args) throws Throwable {
23738 amit.gupta 60
		new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
23723 amit.gupta 61
	}
24122 govind 62
 
23723 amit.gupta 63
	@Bean
23738 amit.gupta 64
	public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
23755 amit.gupta 65
		LOGGER.info("Called Configuration");
24122 govind 66
		PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
23723 amit.gupta 67
		propertySourcesPlaceholderConfigurer.setLocation(new ClassPathResource("/META-INF/env.properties"));
68
		return propertySourcesPlaceholderConfigurer;
69
	}
24122 govind 70
 
71
	@Bean(name = "mailSender")
23935 amit.gupta 72
	@Primary
24122 govind 73
	public JavaMailSender sendGridMailSender() {
74
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
23723 amit.gupta 75
 
24122 govind 76
		// Using gmail
77
		mailSender.setHost("smtp.sendgrid.net");
78
		mailSender.setPort(587);
27630 amit.gupta 79
		mailSender.setUsername("apikey");
80
		mailSender.setPassword("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");
24122 govind 81
 
82
		Properties javaMailProperties = new Properties();
83
		javaMailProperties.put("mail.smtp.starttls.enable", "false");
84
		javaMailProperties.put("mail.smtp.auth", "true");
85
		javaMailProperties.put("mail.transport.protocol", "smtp");
24603 amit.gupta 86
		// javaMailProperties.put("mail.debug", "true");// Prints out everything on
87
		// screen
24122 govind 88
 
89
		mailSender.setJavaMailProperties(javaMailProperties);
90
		return mailSender;
91
	}
92
 
23935 amit.gupta 93
	@Bean
24122 govind 94
	public JavaMailSender googleMailSender() {
23935 amit.gupta 95
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
24122 govind 96
		// Using gmail
23935 amit.gupta 97
		mailSender.setHost("smtp.gmail.com");
98
		mailSender.setPort(587);
99
		mailSender.setUsername("build@shop2020.in");
100
		mailSender.setPassword("cafe@nes");
24122 govind 101
 
23935 amit.gupta 102
		Properties javaMailProperties = new Properties();
103
		javaMailProperties.put("mail.smtp.starttls.enable", "true");
104
		javaMailProperties.put("mail.smtp.auth", "true");
105
		javaMailProperties.put("mail.transport.protocol", "smtp");
24122 govind 106
		javaMailProperties.put("mail.debug", "true");// Prints out everything on screen
23935 amit.gupta 107
		mailSender.setJavaMailProperties(javaMailProperties);
108
		return mailSender;
109
	}
110
 
24122 govind 111
	@Autowired
23898 amit.gupta 112
	private RunOnceTasks runOnceTasks;
24122 govind 113
 
114
	@Autowired
23929 amit.gupta 115
	private ScheduledTasks scheduledTasks;
24848 amit.gupta 116
 
24827 amit.gupta 117
	@Autowired
118
	private Reconciliation reconciliation;
24122 govind 119
 
23898 amit.gupta 120
	@Override
121
	public void run(ApplicationArguments args) throws Exception {
122
		LOGGER.info("Called run method");
25694 amit.gupta 123
		if (args.containsOption("tc")) {
25842 amit.gupta 124
			System.out.println("Toffee service called");
27692 amit.gupta 125
			scheduledTasks.attachToffeeInvoices();
25694 amit.gupta 126
			System.exit(0);
127
		}
27457 tejbeer 128
		/*
129
		 * if (args.containsOption("migratetax")) { System.out.println("migratetax");
130
		 * scheduledTasks.migrateTax(); System.exit(0); }
131
		 */
27272 amit.gupta 132
		if (args.containsOption("rw")) {
133
			System.out.println("Reverse wallet");
134
			scheduledTasks.reverseWallet();
135
			System.exit(0);
136
		}
27720 amit.gupta 137
		if (args.containsOption("addHdfcPayment")) {
138
			runOnceTasks.addPayment();
139
			System.exit(0);
140
		}
27431 amit.gupta 141
		if (args.containsOption("processSchemeOut")) {
142
			System.out.println("Process schemeOut");
143
			int orderId = Integer.parseInt(args.getOptionValues("orderid").get(0));
144
			int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
145
			runOnceTasks.processSchemeOut(fofoId, orderId);
146
			System.exit(0);
147
		}
27124 amit.gupta 148
		if (args.containsOption("at")) {
149
			System.out.println("Toffee service called");
150
			ticketRelatedScheduledTask.alertforTicket();
151
			System.exit(0);
152
		}
153
		if (args.containsOption("et")) {
27392 amit.gupta 154
			ticketRelatedScheduledTask.escalateTicket();
155
			;
27124 amit.gupta 156
			System.exit(0);
157
		}
26291 tejbeer 158
		if (args.containsOption("sr")) {
25694 amit.gupta 159
			List<String> schemeIds = args.getOptionValues("schemeId");
25697 amit.gupta 160
			System.out.println(schemeIds);
25694 amit.gupta 161
			scheduledTasks.schemeRollback(schemeIds);
25695 amit.gupta 162
			System.exit(0);
25694 amit.gupta 163
		}
27437 amit.gupta 164
		if (args.containsOption("processActivation")) {
165
			scheduledTasks.processActivation();
166
			System.exit(0);
167
		}
28368 tejbeer 168
 
169
		if (args.containsOption("checkRazorPayPaymentStatus")) {
170
			scheduledTasks.checkRazorPayPaymentStatus();
171
			System.exit(0);
172
		}
25503 amit.gupta 173
		if (args.containsOption("grouping")) {
174
			scheduledTasks.grouping();
175
			System.exit(0);
176
		}
25530 amit.gupta 177
		if (args.containsOption("fixWallet")) {
178
			runOnceTasks.fixWallet();
179
			System.exit(0);
180
		}
25312 amit.gupta 181
		if (args.containsOption("reconcileExpiredFixedSchemes")) {
25073 amit.gupta 182
			reconciliation.reconcileExpiredFixedSchemes();
183
			System.exit(0);
184
		}
27746 amit.gupta 185
		if (args.containsOption("dailyReconciliation")) {
28207 tejbeer 186
			if (args.containsOption("date")) {
27746 amit.gupta 187
				LocalDate date = LocalDate.parse(args.getOptionValues("date").get(0));
188
				reconciliation.dailyReconciliation(date);
189
			} else {
190
				reconciliation.dailyReconciliation(LocalDate.now().minusDays(1));
191
			}
192
			System.exit(0);
193
		}
26291 tejbeer 194
		/*
195
		 * if (args.containsOption("test")) { schemeService.processSchemeIn(9243,
196
		 * 175138102); throw new Exception(); }
197
		 */
25073 amit.gupta 198
		if (args.containsOption("fixSchemePayouts")) {
199
 
25029 amit.gupta 200
			runOnceTasks.fixSchemePayouts();
201
			System.exit(0);
202
		}
25312 amit.gupta 203
		if (args.containsOption("sendNotification")) {
25300 tejbeer 204
			scheduledTasks.sendNotification();
205
			System.exit(0);
206
		}
25721 tejbeer 207
 
26291 tejbeer 208
		if (args.containsOption("ticketClosed")) {
209
			scheduledTasks.ticketClosed();
210
			System.exit(0);
211
		}
212
 
25721 tejbeer 213
		if (args.containsOption("checkfocusedModelInPartnerStock")) {
214
			scheduledTasks.checkfocusedModelInPartnerStock();
215
			System.exit(0);
216
		}
28207 tejbeer 217
 
218
		if (args.containsOption("partnerProblemAlert")) {
219
			scheduledTasks.partnerProblemAlert();
220
			System.exit(0);
221
		}
25022 amit.gupta 222
		if (args.containsOption("populateSchemes")) {
223
			runOnceTasks.populateSchemes();
224
			System.exit(0);
225
		}
24855 amit.gupta 226
		if (args.containsOption("notify")) {
25073 amit.gupta 227
			if (args.containsOption("fofoId")) {
24988 tejbeer 228
				int fofoId = Integer.parseInt(args.getOptionValues("fofoId").get(0));
25837 amit.gupta 229
				scheduledTasks.sendDailySalesNotificationToPartner(fofoId);
24988 tejbeer 230
			}
24855 amit.gupta 231
			System.exit(0);
232
		}
24955 amit.gupta 233
		if (args.containsOption("findMismatchesInIndent")) {
234
			runOnceTasks.findMismatchesInIndent();
235
			System.exit(0);
236
		}
27222 amit.gupta 237
		if (args.containsOption("ppl")) {
238
			runOnceTasks.printPendingLeads();
239
			System.exit(0);
240
		}
24862 amit.gupta 241
		if (args.containsOption("notifyAll")) {
25837 amit.gupta 242
			scheduledTasks.sendDailySalesNotificationToPartner(null);
24862 amit.gupta 243
			System.exit(0);
244
		}
25029 amit.gupta 245
		if (args.containsOption("OutSchemeReco")) {
25073 amit.gupta 246
			scheduledTasks.dryRunOutSchemeReco();
27252 amit.gupta 247
			// runOnceTasks.migrateChallansToInvoices();
248
			// reconciliation.dailyReconciliation();
249
			System.exit(0);
250
		}
251
		if (args.containsOption("dryRunSchemeReco")) {
252
			scheduledTasks.dryRunSchemeReco();
253
			// runOnceTasks.migrateChallansToInvoices();
254
			// reconciliation.dailyReconciliation();
255
			System.exit(0);
256
		}
257
		if (args.containsOption("OutReco1")) {
258
			scheduledTasks.dryRunSchemeOutReco1();
259
			System.exit(0);
260
		}
261
		if (args.containsOption("once")) {
24122 govind 262
			if (args.containsOption("1")) {
24603 amit.gupta 263
				if (args.containsOption("test")) {
24271 amit.gupta 264
					scheduledTasks.sendPartnerInvestmentDetails(args.getOptionValues("email"));
24272 amit.gupta 265
				} else {
27751 amit.gupta 266
					System.out.println("Called sendPartnerInvestmentDetails");
25563 amit.gupta 267
					scheduledSkeleton.sendPartnerInvestmentDetails();
24271 amit.gupta 268
				}
24122 govind 269
				System.exit(0);
270
			}
24682 amit.gupta 271
			if (args.containsOption("2")) {
24696 amit.gupta 272
				if (args.containsOption("test")) {
24848 amit.gupta 273
					String[] emails = new String[args.getOptionValues("email").size()];
24696 amit.gupta 274
					scheduledTasks.sendAgeingReport(args.getOptionValues("email").toArray(emails));
275
				} else {
276
					scheduledTasks.sendAgeingReport();
277
				}
24682 amit.gupta 278
				System.exit(0);
279
			}
24151 amit.gupta 280
			if (args.containsOption("3")) {
24603 amit.gupta 281
				if (args.getOptionNames().contains("offset")) {
24461 amit.gupta 282
					int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
24603 amit.gupta 283
					if (args.getOptionNames().contains("days")) {
24461 amit.gupta 284
						int durationDays = Integer.parseInt(args.getOptionValues("days").get(0));
25586 amit.gupta 285
						scheduledTasks.processScheme(offset, durationDays, args.containsOption("dryRun"));
24461 amit.gupta 286
					} else {
25586 amit.gupta 287
						scheduledTasks.processScheme(offset, args.containsOption("dryRun"));
24461 amit.gupta 288
					}
24560 amit.gupta 289
				} else if (args.containsOption("catalogid")) {
24603 amit.gupta 290
					// scheduledTasks.processSchemeForModel(args.getOptionValues("catalogid").get(0));
24461 amit.gupta 291
				} else {
25586 amit.gupta 292
					scheduledTasks.processScheme(args.containsOption("dryRun"));
24461 amit.gupta 293
				}
24151 amit.gupta 294
				System.exit(0);
295
			}
24238 amit.gupta 296
			if (args.containsOption("4")) {
24241 amit.gupta 297
				scheduledTasks.evaluateExcessSchemeOut();
24256 amit.gupta 298
			}
299
			if (args.containsOption("5")) {
300
				int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
25586 amit.gupta 301
				scheduledTasks.processScheme(offset, args.containsOption("dryRun"));
24238 amit.gupta 302
				System.exit(0);
303
			}
24603 amit.gupta 304
			if (args.containsOption("cancelOrder")) {
24265 amit.gupta 305
				List<String> invoiceNumbers = args.getOptionValues("invoiceNumber");
306
				runOnceTasks.cancelOrder(invoiceNumbers);
307
			}
24641 amit.gupta 308
			if (args.containsOption("migratePurchase")) {
309
				runOnceTasks.migratePurchase();
310
			}
24603 amit.gupta 311
			if (args.containsOption("migratepd")) {
24431 amit.gupta 312
				scheduledTasks.moveImeisToPriceDropImeis();
313
			}
24603 amit.gupta 314
			if (args.containsOption("walletmismatch")) {
24542 amit.gupta 315
				scheduledTasks.walletmismatch();
316
			}
24603 amit.gupta 317
			if (args.containsOption("schemewalletmismatch")) {
24580 amit.gupta 318
				scheduledTasks.schemewalletmismatch();
319
			}
24603 amit.gupta 320
			if (args.containsOption("gst")) {
24542 amit.gupta 321
				scheduledTasks.gst();
322
			}
26291 tejbeer 323
			if (args.containsOption("mailDashboardScreenshots")) {
25751 amit.gupta 324
				runOnceTasks.mailDashboardScreenshots();
325
			}
26291 tejbeer 326
			if (args.containsOption("notifyLead")) {
25942 amit.gupta 327
				scheduledTasks.notifyLead();
25940 amit.gupta 328
				scheduledTasks.notifyVisits();
25927 amit.gupta 329
			}
26291 tejbeer 330
			if (args.containsOption("fixgrn")) {
26092 amit.gupta 331
				runOnceTasks.fixGrn();
332
			}
26291 tejbeer 333
			if (args.containsOption("pbfix")) {
26033 amit.gupta 334
				runOnceTasks.pbfix();
335
			}
26579 amit.gupta 336
			if (args.containsOption("mongom")) {
337
				runOnceTasks.mongom();
338
			}
26797 amit.gupta 339
			if (args.containsOption("processPd")) {
340
				int priceDropId = Integer.parseInt(args.getOptionValues("processPd").get(0));
341
				runOnceTasks.processPd(priceDropId);
342
			}
26291 tejbeer 343
			if (args.containsOption("samsung")) {
27392 amit.gupta 344
				if (args.containsOption("ym")) {
26408 amit.gupta 345
					int ym = Integer.parseInt(args.getOptionValues("ym").get(0));
346
					runOnceTasks.fetchImeiActivation(ym);
347
				}
348
				runOnceTasks.fetchImeiActivation(0);
26214 amit.gupta 349
			}
26291 tejbeer 350
			if (args.containsOption("fixdupimeigrn")) {
26265 amit.gupta 351
				runOnceTasks.fixDupGrns();
352
			}
27392 amit.gupta 353
			if (args.containsOption("cancel")) {
26759 amit.gupta 354
				runOnceTasks.cancelDn(args.getOptionValues("dn").get(0));
355
			}
27392 amit.gupta 356
			if (args.containsOption("fixScheme")) {
26929 amit.gupta 357
				runOnceTasks.fixScheme();
358
			}
27392 amit.gupta 359
			if (args.containsOption("syncLeads")) {
27007 amit.gupta 360
				leadSyncRunner.syncLeads();
361
			}
27392 amit.gupta 362
			if (args.containsOption("testCs")) {
27077 amit.gupta 363
				int category = Integer.parseInt(args.getOptionValues("category").get(0));
364
				EscalationType escalationType = EscalationType.valueOf(args.getOptionValues("escalation").get(0));
365
				int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
366
				csService.getAuthUserId(category, escalationType, fofoId);
367
			}
27392 amit.gupta 368
			if (args.containsOption("duporder")) {
27279 amit.gupta 369
				runOnceTasks.removeDuplicateOrders();
370
			}
27511 amit.gupta 371
			if (args.containsOption("createDummyInvoices")) {
372
				runOnceTasks.createDummyInvoices();
373
			}
27392 amit.gupta 374
 
27450 tejbeer 375
			if (args.containsOption("createGeofence")) {
376
				runOnceTasks.createGeofence();
377
			}
378
			if (args.containsOption("getAllGeofences")) {
379
				runOnceTasks.getAllGeofences();
380
			}
27562 amit.gupta 381
			if (args.containsOption("payMonthlyInvestment")) {
382
				investmentRelatedTasks.payMonthlyInvestment();
383
			}
27457 tejbeer 384
			if (args.containsOption("deleteGeofences")) {
385
				List<String> geofenceIds = args.getOptionValues("geofenceId");
386
				runOnceTasks.deleteGeofences(geofenceIds);
387
			}
27948 amit.gupta 388
			if (args.containsOption("createOffers")) {
28207 tejbeer 389
				if (args.containsOption("offerId")) {
27948 amit.gupta 390
					int offerId = Integer.parseInt(args.getOptionValues("offerId").get(0));
391
					runOnceTasks.createOffers(offerId);
392
				}
393
			}
28207 tejbeer 394
			if (args.containsOption("schemeout")) {
395
				if (args.containsOption("invoices")) {
27892 amit.gupta 396
					String invoicesString = args.getOptionValues("invoices").get(0);
397
					List<String> invoices = Arrays.asList(invoicesString.split(","));
398
					scheduledTasks.processSchemeOut(invoices);
399
				}
400
			}
28207 tejbeer 401
			if (args.containsOption("schemein")) {
402
				if (args.containsOption("invoices")) {
27987 amit.gupta 403
					String invoicesString = args.getOptionValues("invoices").get(0);
404
					List<String> invoices = Arrays.asList(invoicesString.split(","));
405
					scheduledTasks.processSchemeIn(invoices);
406
				}
407
			}
28207 tejbeer 408
 
409
			if (args.containsOption("fixScans")) {
28038 amit.gupta 410
				runOnceTasks.fixScans();
411
			}
27746 amit.gupta 412
			/*
28207 tejbeer 413
			 * if (args.containsOption("reverseInvestmentSchemes")) {
414
			 * runOnceTasks.reverseSchemes(); }
415
			 */
416
 
24265 amit.gupta 417
			System.exit(0);
23898 amit.gupta 418
		}
419
	}
24603 amit.gupta 420
 
24848 amit.gupta 421
}