Subversion Repositories SmartDukaan

Rev

Rev 27068 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
27007 amit.gupta 1
package com.smartdukaan.cron.scheduled.leadsync;
2
 
3
import java.io.File;
27015 amit.gupta 4
import java.time.LocalDate;
27007 amit.gupta 5
import java.time.LocalDateTime;
27009 amit.gupta 6
import java.time.format.DateTimeFormatter;
27007 amit.gupta 7
import java.util.List;
8
 
9
import org.apache.commons.io.input.XmlStreamReader;
10
import org.apache.logging.log4j.LogManager;
11
import org.apache.logging.log4j.Logger;
12
import org.springframework.beans.factory.annotation.Autowired;
13
import org.springframework.stereotype.Component;
14
import org.springframework.transaction.annotation.Transactional;
15
 
16
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
17
import com.spice.profitmandi.dao.entity.user.Lead;
18
import com.spice.profitmandi.dao.enumuration.dtr.LeadStatus;
19
import com.spice.profitmandi.dao.repository.dtr.LeadRepository;
20
 
21
@Component
22
@Transactional(rollbackFor = Throwable.class)
23
public class LeadSyncRunner {
24
 
25
	@Autowired
26
	LeadRepository leadRepository;
27
 
28
	private static final Logger LOGGER = LogManager.getLogger(LeadSyncRunner.class);
29
 
30
	public void syncLeads() throws Exception {
31
		XmlMapper xmlMapper = new XmlMapper();
32
		XmlStreamReader xmlStreamReader = new XmlStreamReader(new File("/root/leads.xml"));
33
		Items items = xmlMapper.readValue(xmlStreamReader, Items.class);
34
		List<Item> itemList = items.getItems();
35
		for (Item item : itemList) {
36
			Lead lead = new Lead();
37
			lead.setAddress(item.getLocation().trim());
38
			lead.setLeadMobile(item.getNumber().trim());
39
			lead.setCity(item.getLocation().trim());
40
			lead.setState(item.getState());
41
			lead.setLastName(item.getBusiness().trim());
42
			if(lead.getState().equals("Uttar Pradesh")) {
27087 amit.gupta 43
				lead.setAssignTo(1);
27007 amit.gupta 44
			} else if (lead.getState().equals("Haryana")) {
27087 amit.gupta 45
				lead.setAssignTo(1);
27007 amit.gupta 46
			} else if (lead.getState().equals("Delhi")) {
27087 amit.gupta 47
				lead.setAssignTo(1);
27007 amit.gupta 48
			} else {
27009 amit.gupta 49
				//Assign to sm
27087 amit.gupta 50
				//lead.setAssignTo(53);
51
				lead.setAssignTo(1);
27007 amit.gupta 52
			}
27010 amit.gupta 53
			lead.setAuthId(lead.getAssignTo());
27015 amit.gupta 54
			lead.setCreatedBy("daily-sync");
55
			lead.setSource("SD-WEB");
27007 amit.gupta 56
			lead.setFirstName(item.getName().trim());
27012 amit.gupta 57
			lead.setStatus(LeadStatus.followUp);
27007 amit.gupta 58
			lead.setColor("yellow");
27015 amit.gupta 59
			lead.setCreatedTimestamp(LocalDate.parse(item.getCreated(), DateTimeFormatter.ISO_DATE).atStartOfDay());
27007 amit.gupta 60
			lead.setUpdatedTimestamp(LocalDateTime.now());
61
			leadRepository.persist(lead);
62
		}
63
	}
64
}