Subversion Repositories SmartDukaan

Rev

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