Rev 31737 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.service;import com.spice.profitmandi.common.model.ProfitMandiConstants;import com.spice.profitmandi.dao.entity.logistics.*;import com.spice.profitmandi.dao.repository.inventory.StateRepository;import com.spice.profitmandi.dao.repository.logistics.PostOfficeRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import java.util.*;@Componentpublic class PostOfficeServiceImpl implements PostOfficeService {private static final Map<Integer, List<String>> pincodeCitiesMap = new HashMap<Integer, List<String>>();static {pincodeCitiesMap.put(160104, Arrays.asList("Ludhiana"));pincodeCitiesMap.put(232101, Arrays.asList("Padao", "Mughalsarai"));pincodeCitiesMap.put(261151, Arrays.asList("Pisawa"));pincodeCitiesMap.put(231304, Arrays.asList("Chunar"));pincodeCitiesMap.put(224129, Arrays.asList("Tanda"));pincodeCitiesMap.put(204213, Arrays.asList("Hathras"));pincodeCitiesMap.put(323305, Arrays.asList("Rawatbhata"));pincodeCitiesMap.put(311030, Arrays.asList("Kanwaliyas"));pincodeCitiesMap.put(326021, Arrays.asList("Asnawar"));pincodeCitiesMap.put(326022, Arrays.asList("Bakani"));pincodeCitiesMap.put(303313, Arrays.asList("BandiKui"));pincodeCitiesMap.put(303301, Arrays.asList("Bassi"));pincodeCitiesMap.put(323802, Arrays.asList("Dei"));pincodeCitiesMap.put(322201, Arrays.asList("Gangapur City"));pincodeCitiesMap.put(327021, Arrays.asList("Ganoda"));pincodeCitiesMap.put(321204, Arrays.asList("GopalGarh"));pincodeCitiesMap.put(342902, Arrays.asList("Gotan"));pincodeCitiesMap.put(311201, Arrays.asList("Jahaajpur"));pincodeCitiesMap.put(326519, Arrays.asList("Julmi"));pincodeCitiesMap.put(321022, Arrays.asList("Kamaan"));pincodeCitiesMap.put(323603, Arrays.asList("Lakheri"));pincodeCitiesMap.put(301408, Arrays.asList("Machari"));pincodeCitiesMap.put(321608, Arrays.asList("Mahwa"));pincodeCitiesMap.put(301406, Arrays.asList("Malakhera"));pincodeCitiesMap.put(325221, Arrays.asList("Chhipabarod"));pincodeCitiesMap.put(326519, Arrays.asList("Morak"));pincodeCitiesMap.put(326514, Arrays.asList("Dag"));pincodeCitiesMap.put(341031, Arrays.asList("Padukallan"));pincodeCitiesMap.put(326034, Arrays.asList("Pirawa"));}@Autowiredprivate PostOfficeRepository postOfficeRepository;@Autowiredprivate ASTRepository astRepository;@Autowiredprivate StateRepository stateRepository;@Autowiredprivate AreaRepository areaRepository;@Autowiredprivate TerritoryRepository territoryRepository;@Overridepublic Map<String, Object> getPOPincode(int pinCode) {List<PostOffice> postOffices = postOfficeRepository.selectByPinCode(pinCode);Set<String> cities = new HashSet<>();Map<String, Object> map = new HashMap<>(3);map.put(ProfitMandiConstants.PIN_CODE, pinCode);for (PostOffice postOffice : postOffices) {String city = postOffice.getCity();if (city.equals("NA")) {cities.add(postOffice.getDistrict());} else {cities.add(postOffice.getCity());}map.put(ProfitMandiConstants.STATE, postOffice.getState());cities.add(postOffice.getCodeName().substring(0, postOffice.getCodeName().lastIndexOf(" ")));}map.put(ProfitMandiConstants.CITIES, cities);return map;}@Overridepublic Map<String, Object> getAreasAndTerritoriesByStateName(String stateName) {int stateId = stateRepository.selectByName(stateName).getId();List<AST> astList = astRepository.selectByStateId(stateId);Map<String, Object> result = new HashMap<>();List<Map<String, Object>> astInfoList = new ArrayList<>();for (AST ast : astList) {Map<String, Object> astInfoMap = new HashMap<>();astInfoMap.put("ast_id", ast.getId());// Fetch territory descriptions from repositoryList<Territory> territoryList = territoryRepository.selectByName(ast.getTerritory());if (!territoryList.isEmpty()) {Territory territory = territoryList.get(0); // Assuming territory names are uniqueMap<String, String> territoryMap = new HashMap<>();territoryMap.put("name", ast.getTerritory());territoryMap.put("description", territory.getDescription());astInfoMap.put("territory", territoryMap);}// Fetch area descriptions from repositoryList<Area> areaList = areaRepository.selectByName(ast.getArea());if (!areaList.isEmpty()) {Area area = areaList.get(0); // Assuming area names are uniqueMap<String, String> areaMap = new HashMap<>();areaMap.put("name", ast.getArea());areaMap.put("description", area.getDescription());astInfoMap.put("area", areaMap);}astInfoList.add(astInfoMap);}result.put("ast_info", astInfoList);return result;}@Overridepublic Map<String, Object> getAreasAndTerritoriesByAstId(int astid) {List<AST> astList = astRepository.selectById(astid);Map<String, Object> result = new HashMap<>();List<Map<String, Object>> astInfoList = new ArrayList<>();for (AST ast : astList) {Map<String, Object> astInfoMap = new HashMap<>();astInfoMap.put("ast_id", ast.getId());// Fetch territory descriptions from repositoryList<Territory> territoryList = territoryRepository.selectByName(ast.getTerritory());if (!territoryList.isEmpty()) {Territory territory = territoryList.get(0); // Assuming territory names are uniqueMap<String, String> territoryMap = new HashMap<>();territoryMap.put("name", ast.getTerritory());territoryMap.put("description", territory.getDescription());astInfoMap.put("territory", territoryMap);}// Fetch area descriptions from repositoryList<Area> areaList = areaRepository.selectByName(ast.getArea());if (!areaList.isEmpty()) {Area area = areaList.get(0); // Assuming area names are uniqueMap<String, String> areaMap = new HashMap<>();areaMap.put("name", ast.getArea());areaMap.put("description", area.getDescription());astInfoMap.put("area", areaMap);}astInfoList.add(astInfoMap);}result.put("ast_info", astInfoList);return result;}}