Subversion Repositories SmartDukaan

Rev

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