| 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 |
}
|