Subversion Repositories SmartDukaan

Rev

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