Subversion Repositories SmartDukaan

Rev

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