Subversion Repositories SmartDukaan

Rev

Rev 27554 | Rev 29701 | 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
 
27554 amit.gupta 3
import java.lang.reflect.Array;
4
import java.util.*;
27176 tejbeer 5
 
6
import org.springframework.beans.factory.annotation.Autowired;
7
import org.springframework.stereotype.Component;
8
 
9
import com.spice.profitmandi.common.model.ProfitMandiConstants;
10
import com.spice.profitmandi.dao.entity.logistics.PostOffice;
11
import com.spice.profitmandi.dao.repository.logistics.PostOfficeRepository;
12
 
13
@Component
14
public class PostOfficeServiceImpl implements PostOfficeService {
15
 
16
	@Autowired
17
	private PostOfficeRepository postOfficeRepository;
27554 amit.gupta 18
	private static final Map<Integer, List<String>> pincodeCitiesMap = new HashMap<Integer, List<String>>();
27365 amit.gupta 19
 
20
	static {
27554 amit.gupta 21
		pincodeCitiesMap.put(160104, Arrays.asList("Ludhiana"));
22
		pincodeCitiesMap.put(232101, Arrays.asList("Padao", "Mughalsarai"));
27560 amit.gupta 23
		pincodeCitiesMap.put(261151, Arrays.asList("Pisawa"));
24
		pincodeCitiesMap.put(231304, Arrays.asList("Chunar"));
27553 amit.gupta 25
 
27365 amit.gupta 26
	}
27176 tejbeer 27
	@Override
28
	public Map<String, Object> getPOPincode(int pincode) {
29
		List<PostOffice> postOffices = postOfficeRepository.selectByPinCode(pincode);
30
		Set<String> cities = new HashSet<>();
27365 amit.gupta 31
		//Add custom pincodes to support the major cities;
32
		if(pincodeCitiesMap.containsKey(pincode)) {
27554 amit.gupta 33
			cities.addAll(pincodeCitiesMap.get(pincode));
27365 amit.gupta 34
		}
27176 tejbeer 35
		Map<String, Object> map = new HashMap<>(3);
36
 
37
		map.put(ProfitMandiConstants.PIN_CODE, pincode);
38
		for (PostOffice postOffice : postOffices) {
39
			String city = postOffice.getCity();
40
			if (city.equals("NA")) {
41
				cities.add(postOffice.getDistrict());
42
 
43
			} else {
44
				cities.add(postOffice.getCity());
45
			}
46
			map.put(ProfitMandiConstants.STATE, postOffice.getState());
47
		}
48
		map.put(ProfitMandiConstants.CITIES, cities);
49
		return map;
50
	}
51
 
52
}