Subversion Repositories SmartDukaan

Rev

Rev 30671 | Rev 30835 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
27176 tejbeer 1
package com.spice.profitmandi.service;
2
 
3
import com.spice.profitmandi.common.model.ProfitMandiConstants;
4
import com.spice.profitmandi.dao.entity.logistics.PostOffice;
5
import com.spice.profitmandi.dao.repository.logistics.PostOfficeRepository;
30671 amit.gupta 6
import org.springframework.beans.factory.annotation.Autowired;
7
import org.springframework.stereotype.Component;
27176 tejbeer 8
 
30671 amit.gupta 9
import java.util.*;
10
 
27176 tejbeer 11
@Component
12
public class PostOfficeServiceImpl implements PostOfficeService {
13
 
14
	@Autowired
15
	private PostOfficeRepository postOfficeRepository;
27554 amit.gupta 16
	private static final Map<Integer, List<String>> pincodeCitiesMap = new HashMap<Integer, List<String>>();
30830 amit.gupta 17
 
27365 amit.gupta 18
	static {
27554 amit.gupta 19
		pincodeCitiesMap.put(160104, Arrays.asList("Ludhiana"));
20
		pincodeCitiesMap.put(232101, Arrays.asList("Padao", "Mughalsarai"));
27560 amit.gupta 21
		pincodeCitiesMap.put(261151, Arrays.asList("Pisawa"));
22
		pincodeCitiesMap.put(231304, Arrays.asList("Chunar"));
29701 amit.gupta 23
		pincodeCitiesMap.put(224129, Arrays.asList("Tanda"));
29739 amit.gupta 24
		pincodeCitiesMap.put(204213, Arrays.asList("Hathras"));
29749 amit.gupta 25
		pincodeCitiesMap.put(323305, Arrays.asList("Rawatbhata"));
30671 amit.gupta 26
		pincodeCitiesMap.put(311030, Arrays.asList("Kanwaliyas"));
30830 amit.gupta 27
		pincodeCitiesMap.put(326021, Arrays.asList("Asnawar"));
28
		pincodeCitiesMap.put(326022, Arrays.asList("Bakani"));
29
		pincodeCitiesMap.put(303313, Arrays.asList("BandiKui"));
30
		pincodeCitiesMap.put(303301, Arrays.asList("Bassi"));
31
		pincodeCitiesMap.put(323802, Arrays.asList("Dei"));
32
		pincodeCitiesMap.put(322201, Arrays.asList("Gangapur City"));
33
		pincodeCitiesMap.put(327021, Arrays.asList("Ganoda"));
34
		pincodeCitiesMap.put(321204, Arrays.asList("GopalGarh"));
35
		pincodeCitiesMap.put(342902, Arrays.asList("Gotan"));
36
		pincodeCitiesMap.put(342902, Arrays.asList("Gotan"));
37
		pincodeCitiesMap.put(311201, Arrays.asList("Jahaajpur"));
38
		pincodeCitiesMap.put(311201, Arrays.asList("Jahaajpur"));
39
		pincodeCitiesMap.put(326519, Arrays.asList("Julmi"));
40
		pincodeCitiesMap.put(321022, Arrays.asList("Kamaan"));
41
		pincodeCitiesMap.put(323603, Arrays.asList("Lakheri"));
42
		pincodeCitiesMap.put(301408, Arrays.asList("Machari"));
43
		pincodeCitiesMap.put(321608, Arrays.asList("Mahwa"));
44
		pincodeCitiesMap.put(301406, Arrays.asList("Malakhera"));
45
		pincodeCitiesMap.put(325221, Arrays.asList("Chhipabarod"));
46
		pincodeCitiesMap.put(326519, Arrays.asList("Morak"));
47
		pincodeCitiesMap.put(326514, Arrays.asList("Dag"));
48
		pincodeCitiesMap.put(341031, Arrays.asList("Padukallan"));
49
		pincodeCitiesMap.put(326034, Arrays.asList("Pirawa"));
27553 amit.gupta 50
 
27365 amit.gupta 51
	}
30830 amit.gupta 52
 
27176 tejbeer 53
	@Override
54
	public Map<String, Object> getPOPincode(int pincode) {
55
		List<PostOffice> postOffices = postOfficeRepository.selectByPinCode(pincode);
56
		Set<String> cities = new HashSet<>();
27365 amit.gupta 57
		//Add custom pincodes to support the major cities;
30830 amit.gupta 58
		if (pincodeCitiesMap.containsKey(pincode)) {
27554 amit.gupta 59
			cities.addAll(pincodeCitiesMap.get(pincode));
27365 amit.gupta 60
		}
27176 tejbeer 61
		Map<String, Object> map = new HashMap<>(3);
62
 
63
		map.put(ProfitMandiConstants.PIN_CODE, pincode);
64
		for (PostOffice postOffice : postOffices) {
65
			String city = postOffice.getCity();
66
			if (city.equals("NA")) {
67
				cities.add(postOffice.getDistrict());
68
 
69
			} else {
70
				cities.add(postOffice.getCity());
71
			}
72
			map.put(ProfitMandiConstants.STATE, postOffice.getState());
73
		}
74
		map.put(ProfitMandiConstants.CITIES, cities);
75
		return map;
76
	}
77
 
78
}