Subversion Repositories SmartDukaan

Rev

Rev 24580 | Rev 24603 | 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
 
24580 amit.gupta 3
import java.time.LocalDate;
24337 amit.gupta 4
import java.util.Formatter;
24174 govind 5
import java.util.List;
23906 amit.gupta 6
import java.util.Properties;
7
 
23723 amit.gupta 8
import org.apache.logging.log4j.LogManager;
9
import org.apache.logging.log4j.Logger;
23898 amit.gupta 10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.boot.ApplicationArguments;
12
import org.springframework.boot.ApplicationRunner;
23723 amit.gupta 13
import org.springframework.boot.WebApplicationType;
14
import org.springframework.boot.autoconfigure.SpringBootApplication;
15
import org.springframework.boot.builder.SpringApplicationBuilder;
16
import org.springframework.cache.annotation.EnableCaching;
17
import org.springframework.context.annotation.Bean;
18
import org.springframework.context.annotation.ComponentScan;
23935 amit.gupta 19
import org.springframework.context.annotation.Primary;
23723 amit.gupta 20
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
21
import org.springframework.core.io.ClassPathResource;
23906 amit.gupta 22
import org.springframework.mail.javamail.JavaMailSender;
23
import org.springframework.mail.javamail.JavaMailSenderImpl;
23723 amit.gupta 24
import org.springframework.scheduling.annotation.EnableScheduling;
25
 
23898 amit.gupta 26
import com.smartdukaan.cron.migrations.RunOnceTasks;
23929 amit.gupta 27
import com.smartdukaan.cron.scheduled.ScheduledTasks;
24174 govind 28
import com.spice.profitmandi.dao.entity.fofo.SaleHeadDetails;
29
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
23724 amit.gupta 30
 
23723 amit.gupta 31
@SpringBootApplication
32
@EnableCaching
33
@EnableScheduling
23755 amit.gupta 34
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
24122 govind 35
public class Application implements ApplicationRunner {
36
 
37
	private static final Logger LOGGER = LogManager.getLogger(Application.class);
38
 
24174 govind 39
	@Autowired
40
	private FofoStoreRepository fofoStoreRepository;
41
 
23723 amit.gupta 42
	public static void main(String[] args) throws Throwable {
23738 amit.gupta 43
		new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
23723 amit.gupta 44
	}
24122 govind 45
 
23723 amit.gupta 46
	@Bean
23738 amit.gupta 47
	public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
23755 amit.gupta 48
		LOGGER.info("Called Configuration");
24122 govind 49
		PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
23723 amit.gupta 50
		propertySourcesPlaceholderConfigurer.setLocation(new ClassPathResource("/META-INF/env.properties"));
51
		return propertySourcesPlaceholderConfigurer;
52
	}
24122 govind 53
 
54
	@Bean(name = "mailSender")
23935 amit.gupta 55
	@Primary
24122 govind 56
	public JavaMailSender sendGridMailSender() {
57
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
23723 amit.gupta 58
 
24122 govind 59
		// Using gmail
60
		mailSender.setHost("smtp.sendgrid.net");
61
		mailSender.setPort(587);
62
		mailSender.setUsername("shop2020");
63
		mailSender.setPassword("U2/=fP,t");
64
 
65
		Properties javaMailProperties = new Properties();
66
		javaMailProperties.put("mail.smtp.starttls.enable", "false");
67
		javaMailProperties.put("mail.smtp.auth", "true");
68
		javaMailProperties.put("mail.transport.protocol", "smtp");
24226 amit.gupta 69
		//javaMailProperties.put("mail.debug", "true");// Prints out everything on screen
24122 govind 70
 
71
		mailSender.setJavaMailProperties(javaMailProperties);
72
		return mailSender;
73
	}
74
 
23935 amit.gupta 75
	@Bean
24122 govind 76
	public JavaMailSender googleMailSender() {
23935 amit.gupta 77
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
24122 govind 78
		// Using gmail
23935 amit.gupta 79
		mailSender.setHost("smtp.gmail.com");
80
		mailSender.setPort(587);
81
		mailSender.setUsername("build@shop2020.in");
82
		mailSender.setPassword("cafe@nes");
24122 govind 83
 
23935 amit.gupta 84
		Properties javaMailProperties = new Properties();
85
		javaMailProperties.put("mail.smtp.starttls.enable", "true");
86
		javaMailProperties.put("mail.smtp.auth", "true");
87
		javaMailProperties.put("mail.transport.protocol", "smtp");
24122 govind 88
		javaMailProperties.put("mail.debug", "true");// Prints out everything on screen
23935 amit.gupta 89
		mailSender.setJavaMailProperties(javaMailProperties);
90
		return mailSender;
91
	}
92
 
24122 govind 93
	@Autowired
23898 amit.gupta 94
	private RunOnceTasks runOnceTasks;
24122 govind 95
 
96
	@Autowired
23929 amit.gupta 97
	private ScheduledTasks scheduledTasks;
24122 govind 98
 
23898 amit.gupta 99
	@Override
100
	public void run(ApplicationArguments args) throws Exception {
24592 amit.gupta 101
 
23898 amit.gupta 102
		LOGGER.info("Called run method");
24592 amit.gupta 103
		try {
104
			scheduledTasks.dryRunSchemeReco();
105
		} catch (Exception e) {
106
			e.printStackTrace();
107
		}
108
		System.exit(0);
24122 govind 109
		if (args.containsOption("once")) {
110
			if (args.containsOption("1")) {
24271 amit.gupta 111
				if(args.containsOption("test")) {
112
					scheduledTasks.sendPartnerInvestmentDetails(args.getOptionValues("email"));
24272 amit.gupta 113
				} else {
114
					scheduledTasks.sendPartnerInvestmentDetails();
24271 amit.gupta 115
				}
24122 govind 116
				System.exit(0);
117
			}
24174 govind 118
			if (args.containsOption("saleHeads")) {
119
				List<SaleHeadDetails> saleHeadDetails=fofoStoreRepository.selectAllSalesHeadDetails();
120
				for(SaleHeadDetails saleHeadDetail:saleHeadDetails)
121
				{
122
					scheduledTasks.sendMailToSalesHeadAboutTargetAndSales(saleHeadDetail);
123
				}
24122 govind 124
				System.exit(0);
24174 govind 125
 
24122 govind 126
			}
24174 govind 127
			if (args.containsOption("partners")) {
128
					scheduledTasks.sendMailToPartnerAboutTargetAndSales();
129
				System.exit(0);
130
 
131
			}
24151 amit.gupta 132
			if (args.containsOption("3")) {
24461 amit.gupta 133
				if(args.getOptionNames().contains("offset")) {
134
					int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
135
					if(args.getOptionNames().contains("days")) {
136
						int durationDays = Integer.parseInt(args.getOptionValues("days").get(0));
137
						scheduledTasks.processScheme(offset, durationDays);
138
					} else {
139
						scheduledTasks.processScheme(offset);
140
					}
24560 amit.gupta 141
				} else if (args.containsOption("catalogid")) {
142
					//scheduledTasks.processSchemeForModel(args.getOptionValues("catalogid").get(0));
24461 amit.gupta 143
				} else {
144
					scheduledTasks.processScheme();
145
				}
24151 amit.gupta 146
				System.exit(0);
147
			}
24238 amit.gupta 148
			if (args.containsOption("4")) {
24241 amit.gupta 149
				scheduledTasks.evaluateExcessSchemeOut();
24256 amit.gupta 150
			}
151
			if (args.containsOption("5")) {
152
				int offset = Integer.parseInt(args.getOptionValues("offset").get(0));
153
				scheduledTasks.processScheme(offset);
24238 amit.gupta 154
				System.exit(0);
155
			}
24265 amit.gupta 156
			if(args.containsOption("cancelOrder")) {
157
				List<String> invoiceNumbers = args.getOptionValues("invoiceNumber");
158
				runOnceTasks.cancelOrder(invoiceNumbers);
159
			}
24337 amit.gupta 160
			if(args.containsOption("scrapejd")) {
161
				this.scrapeJD();
162
			}
24431 amit.gupta 163
			if(args.containsOption("migratepd")) {
164
				scheduledTasks.moveImeisToPriceDropImeis();
165
			}
24542 amit.gupta 166
			if(args.containsOption("walletmismatch")) {
167
				scheduledTasks.walletmismatch();
168
			}
24580 amit.gupta 169
			if(args.containsOption("schemewalletmismatch")) {
170
				scheduledTasks.schemewalletmismatch();
171
			}
24542 amit.gupta 172
			if(args.containsOption("gst")) {
173
				scheduledTasks.gst();
174
			}
24265 amit.gupta 175
			System.exit(0);
23898 amit.gupta 176
		}
177
	}
24337 amit.gupta 178
 
179
	private void scrapeJD() {
180
		String jdUrlTemplate = "https://www.justdial.com/Delhi/Mobile-Phone-Dealers/nct-11216691/page-{0}";
181
		Formatter formatter = new Formatter();
182
 
183
	}
23723 amit.gupta 184
}