Subversion Repositories SmartDukaan

Rev

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