Subversion Repositories SmartDukaan

Rev

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