Subversion Repositories SmartDukaan

Rev

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