Subversion Repositories SmartDukaan

Rev

Rev 26579 | Rev 26794 | 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
 
25982 amit.gupta 3
import java.time.LocalDateTime;
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;
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;
25486 amit.gupta 29
import com.spice.profitmandi.common.solr.SolrService;
25982 amit.gupta 30
import com.spice.profitmandi.dao.model.AddPaymentRequest;
25837 amit.gupta 31
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
25694 amit.gupta 32
import com.spice.profitmandi.service.integrations.toffee.ToffeeService;
25486 amit.gupta 33
import com.spice.profitmandi.service.scheme.SchemeService;
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
 
24174 govind 43
	@Autowired
25486 amit.gupta 44
	private SchemeService schemeService;
25586 amit.gupta 45
 
25563 amit.gupta 46
	@Autowired
47
	private ScheduledSkeleton scheduledSkeleton;
24603 amit.gupta 48
 
23723 amit.gupta 49
	public static void main(String[] args) throws Throwable {
23738 amit.gupta 50
		new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
23723 amit.gupta 51
	}
24122 govind 52
 
23723 amit.gupta 53
	@Bean
23738 amit.gupta 54
	public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
23755 amit.gupta 55
		LOGGER.info("Called Configuration");
24122 govind 56
		PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
23723 amit.gupta 57
		propertySourcesPlaceholderConfigurer.setLocation(new ClassPathResource("/META-INF/env.properties"));
58
		return propertySourcesPlaceholderConfigurer;
59
	}
24122 govind 60
 
61
	@Bean(name = "mailSender")
23935 amit.gupta 62
	@Primary
24122 govind 63
	public JavaMailSender sendGridMailSender() {
64
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
23723 amit.gupta 65
 
24122 govind 66
		// Using gmail
67
		mailSender.setHost("smtp.sendgrid.net");
68
		mailSender.setPort(587);
69
		mailSender.setUsername("shop2020");
70
		mailSender.setPassword("U2/=fP,t");
71
 
72
		Properties javaMailProperties = new Properties();
73
		javaMailProperties.put("mail.smtp.starttls.enable", "false");
74
		javaMailProperties.put("mail.smtp.auth", "true");
75
		javaMailProperties.put("mail.transport.protocol", "smtp");
24603 amit.gupta 76
		// javaMailProperties.put("mail.debug", "true");// Prints out everything on
77
		// screen
24122 govind 78
 
79
		mailSender.setJavaMailProperties(javaMailProperties);
80
		return mailSender;
81
	}
82
 
23935 amit.gupta 83
	@Bean
24122 govind 84
	public JavaMailSender googleMailSender() {
23935 amit.gupta 85
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
24122 govind 86
		// Using gmail
23935 amit.gupta 87
		mailSender.setHost("smtp.gmail.com");
88
		mailSender.setPort(587);
89
		mailSender.setUsername("build@shop2020.in");
90
		mailSender.setPassword("cafe@nes");
24122 govind 91
 
23935 amit.gupta 92
		Properties javaMailProperties = new Properties();
93
		javaMailProperties.put("mail.smtp.starttls.enable", "true");
94
		javaMailProperties.put("mail.smtp.auth", "true");
95
		javaMailProperties.put("mail.transport.protocol", "smtp");
24122 govind 96
		javaMailProperties.put("mail.debug", "true");// Prints out everything on screen
23935 amit.gupta 97
		mailSender.setJavaMailProperties(javaMailProperties);
98
		return mailSender;
99
	}
100
 
24122 govind 101
	@Autowired
23898 amit.gupta 102
	private RunOnceTasks runOnceTasks;
24122 govind 103
 
104
	@Autowired
23929 amit.gupta 105
	private ScheduledTasks scheduledTasks;
24848 amit.gupta 106
 
24827 amit.gupta 107
	@Autowired
108
	private Reconciliation reconciliation;
24122 govind 109
 
25486 amit.gupta 110
	@Autowired
111
	private SolrService solrService;
25927 amit.gupta 112
 
25694 amit.gupta 113
	@Autowired
114
	private ToffeeService toffeeService;
25927 amit.gupta 115
 
25837 amit.gupta 116
	@Autowired
117
	private InsurancePolicyRepository insurancePolicyRepository;
25486 amit.gupta 118
 
23898 amit.gupta 119
	@Override
120
	public void run(ApplicationArguments args) throws Exception {
121
		LOGGER.info("Called run method");
25520 amit.gupta 122
 
25694 amit.gupta 123
		if (args.containsOption("tc")) {
25842 amit.gupta 124
			System.out.println("Toffee service called");
125
			scheduledTasks.testToffee();
25694 amit.gupta 126
			System.exit(0);
127
		}
26291 tejbeer 128
		if (args.containsOption("sr")) {
25694 amit.gupta 129
			List<String> schemeIds = args.getOptionValues("schemeId");
25697 amit.gupta 130
			System.out.println(schemeIds);
25694 amit.gupta 131
			scheduledTasks.schemeRollback(schemeIds);
25695 amit.gupta 132
			System.exit(0);
25694 amit.gupta 133
		}
25503 amit.gupta 134
		if (args.containsOption("grouping")) {
135
			scheduledTasks.grouping();
136
			System.exit(0);
137
		}
25530 amit.gupta 138
		if (args.containsOption("fixWallet")) {
139
			runOnceTasks.fixWallet();
140
			System.exit(0);
141
		}
25312 amit.gupta 142
		if (args.containsOption("reconcileExpiredFixedSchemes")) {
25073 amit.gupta 143
			reconciliation.reconcileExpiredFixedSchemes();
144
			System.exit(0);
145
		}
26291 tejbeer 146
		/*
147
		 * if (args.containsOption("test")) { schemeService.processSchemeIn(9243,
148
		 * 175138102); throw new Exception(); }
149
		 */
25073 amit.gupta 150
		if (args.containsOption("fixSchemePayouts")) {
151
 
25029 amit.gupta 152
			runOnceTasks.fixSchemePayouts();
153
			System.exit(0);
154
		}
25312 amit.gupta 155
		if (args.containsOption("sendNotification")) {
25300 tejbeer 156
			scheduledTasks.sendNotification();
157
			System.exit(0);
158
		}
25721 tejbeer 159
 
26291 tejbeer 160
		if (args.containsOption("ticketClosed")) {
161
			scheduledTasks.ticketClosed();
162
			System.exit(0);
163
		}
164
 
25721 tejbeer 165
		if (args.containsOption("checkfocusedModelInPartnerStock")) {
166
			scheduledTasks.checkfocusedModelInPartnerStock();
167
			System.exit(0);
168
		}
25022 amit.gupta 169
		if (args.containsOption("populateSchemes")) {
170
			runOnceTasks.populateSchemes();
171
			System.exit(0);
172
		}
24855 amit.gupta 173
		if (args.containsOption("notify")) {
25073 amit.gupta 174
			if (args.containsOption("fofoId")) {
24988 tejbeer 175
				int fofoId = Integer.parseInt(args.getOptionValues("fofoId").get(0));
25837 amit.gupta 176
				scheduledTasks.sendDailySalesNotificationToPartner(fofoId);
24988 tejbeer 177
			}
24855 amit.gupta 178
			System.exit(0);
179
		}
24955 amit.gupta 180
		if (args.containsOption("findMismatchesInIndent")) {
181
			runOnceTasks.findMismatchesInIndent();
182
			System.exit(0);
183
		}
24862 amit.gupta 184
		if (args.containsOption("notifyAll")) {
25837 amit.gupta 185
			scheduledTasks.sendDailySalesNotificationToPartner(null);
24862 amit.gupta 186
			System.exit(0);
187
		}
25029 amit.gupta 188
		if (args.containsOption("OutSchemeReco")) {
25073 amit.gupta 189
			scheduledTasks.dryRunOutSchemeReco();
24848 amit.gupta 190
			// runOnceTasks.migrateChallansToInvoices();
25073 amit.gupta 191
			// reconciliation.dailyReconciliation();
24603 amit.gupta 192
			System.exit(0);
24592 amit.gupta 193
		}
25029 amit.gupta 194
		if (args.containsOption("dryRunSchemeReco")) {
195
			scheduledTasks.dryRunSchemeReco();
196
			// runOnceTasks.migrateChallansToInvoices();
25073 amit.gupta 197
			// reconciliation.dailyReconciliation();
24674 amit.gupta 198
			System.exit(0);
199
		}
25029 amit.gupta 200
		if (args.containsOption("OutReco1")) {
201
			scheduledTasks.dryRunSchemeOutReco1();
202
			System.exit(0);
203
		}
24883 amit.gupta 204
		if (args.containsOption("createTargets")) {
205
			runOnceTasks.createMonthlyTargets();
206
			System.exit(0);
207
		}
24122 govind 208
		if (args.containsOption("once")) {
209
			if (args.containsOption("1")) {
24603 amit.gupta 210
				if (args.containsOption("test")) {
24271 amit.gupta 211
					scheduledTasks.sendPartnerInvestmentDetails(args.getOptionValues("email"));
24272 amit.gupta 212
				} else {
25563 amit.gupta 213
					scheduledSkeleton.sendPartnerInvestmentDetails();
24271 amit.gupta 214
				}
24122 govind 215
				System.exit(0);
216
			}
24682 amit.gupta 217
			if (args.containsOption("2")) {
24696 amit.gupta 218
				if (args.containsOption("test")) {
24848 amit.gupta 219
					String[] emails = new String[args.getOptionValues("email").size()];
24696 amit.gupta 220
					scheduledTasks.sendAgeingReport(args.getOptionValues("email").toArray(emails));
221
				} else {
222
					scheduledTasks.sendAgeingReport();
223
				}
24682 amit.gupta 224
				System.exit(0);
225
			}
25312 amit.gupta 226
			if (args.containsOption("tvs")) {
25313 amit.gupta 227
				scheduledTasks.sendTargetVsSalesReport(null);
24122 govind 228
				System.exit(0);
229
			}
24151 amit.gupta 230
			if (args.containsOption("3")) {
24603 amit.gupta 231
				if (args.getOptionNames().contains("offset")) {
24461 amit.gupta 232
					int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
24603 amit.gupta 233
					if (args.getOptionNames().contains("days")) {
24461 amit.gupta 234
						int durationDays = Integer.parseInt(args.getOptionValues("days").get(0));
25586 amit.gupta 235
						scheduledTasks.processScheme(offset, durationDays, args.containsOption("dryRun"));
24461 amit.gupta 236
					} else {
25586 amit.gupta 237
						scheduledTasks.processScheme(offset, args.containsOption("dryRun"));
24461 amit.gupta 238
					}
24560 amit.gupta 239
				} else if (args.containsOption("catalogid")) {
24603 amit.gupta 240
					// scheduledTasks.processSchemeForModel(args.getOptionValues("catalogid").get(0));
24461 amit.gupta 241
				} else {
25586 amit.gupta 242
					scheduledTasks.processScheme(args.containsOption("dryRun"));
24461 amit.gupta 243
				}
24151 amit.gupta 244
				System.exit(0);
245
			}
24238 amit.gupta 246
			if (args.containsOption("4")) {
24241 amit.gupta 247
				scheduledTasks.evaluateExcessSchemeOut();
24256 amit.gupta 248
			}
249
			if (args.containsOption("5")) {
250
				int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
25586 amit.gupta 251
				scheduledTasks.processScheme(offset, args.containsOption("dryRun"));
24238 amit.gupta 252
				System.exit(0);
253
			}
24603 amit.gupta 254
			if (args.containsOption("cancelOrder")) {
24265 amit.gupta 255
				List<String> invoiceNumbers = args.getOptionValues("invoiceNumber");
256
				runOnceTasks.cancelOrder(invoiceNumbers);
257
			}
24641 amit.gupta 258
			if (args.containsOption("migratePurchase")) {
259
				runOnceTasks.migratePurchase();
260
			}
24603 amit.gupta 261
			if (args.containsOption("migratepd")) {
24431 amit.gupta 262
				scheduledTasks.moveImeisToPriceDropImeis();
263
			}
24603 amit.gupta 264
			if (args.containsOption("walletmismatch")) {
24542 amit.gupta 265
				scheduledTasks.walletmismatch();
266
			}
24603 amit.gupta 267
			if (args.containsOption("schemewalletmismatch")) {
24580 amit.gupta 268
				scheduledTasks.schemewalletmismatch();
269
			}
24603 amit.gupta 270
			if (args.containsOption("gst")) {
24542 amit.gupta 271
				scheduledTasks.gst();
272
			}
26291 tejbeer 273
			if (args.containsOption("mailDashboardScreenshots")) {
25751 amit.gupta 274
				runOnceTasks.mailDashboardScreenshots();
275
			}
26291 tejbeer 276
			if (args.containsOption("notifyLead")) {
25942 amit.gupta 277
				scheduledTasks.notifyLead();
25940 amit.gupta 278
				scheduledTasks.notifyVisits();
25927 amit.gupta 279
			}
26291 tejbeer 280
			if (args.containsOption("fixgrn")) {
26092 amit.gupta 281
				runOnceTasks.fixGrn();
282
			}
26291 tejbeer 283
			if (args.containsOption("pbfix")) {
26033 amit.gupta 284
				runOnceTasks.pbfix();
285
			}
26579 amit.gupta 286
			if (args.containsOption("mongom")) {
287
				runOnceTasks.mongom();
288
			}
26291 tejbeer 289
			if (args.containsOption("samsung")) {
26408 amit.gupta 290
				if(args.containsOption("ym")) {
291
					int ym = Integer.parseInt(args.getOptionValues("ym").get(0));
292
					runOnceTasks.fetchImeiActivation(ym);
293
				}
294
				runOnceTasks.fetchImeiActivation(0);
26214 amit.gupta 295
			}
26291 tejbeer 296
			if (args.containsOption("fixdupimeigrn")) {
26265 amit.gupta 297
				runOnceTasks.fixDupGrns();
298
			}
26759 amit.gupta 299
			if(args.containsOption("cancel")) {
300
				runOnceTasks.cancelDn(args.getOptionValues("dn").get(0));
301
			}
24265 amit.gupta 302
			System.exit(0);
23898 amit.gupta 303
		}
304
	}
24603 amit.gupta 305
 
24848 amit.gupta 306
}