package com.moral.service.impl; import com.moral.common.util.WebTokenUtils; import com.moral.controller.ScreenController; import com.moral.entity.Organization; import com.moral.entity.WebProvince; import com.moral.mapper.MapPathMapper; import com.moral.service.MapPathService; import com.moral.service.OrganizationService; import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class MapPathServiceImpl implements MapPathService { public static Logger log = Logger.getLogger(MapPathServiceImpl.class); @Resource MapPathMapper mapPathMapper; @Resource OrganizationService organizationService; /** * @Description: 根据用户token获取用户地图权限 * @Param: [token] * @return: java.util.List * @Author: 下雨听风 * @Date: 2020/11/26 */ @Override public List getMapPath(String token) { List results; try { Map params = new HashMap<>(); Integer id = Integer.parseInt(WebTokenUtils.getIdBytoken(token)); Organization organization = organizationService.getOrganizationByAccountId(id); Map regionCodeAndType = getRegionCodeAndTypeByOrg(organization); String regionType = (String) regionCodeAndType.get("regionType"); String regionCode = (String) regionCodeAndType.get("regionCode"); params.put(regionType, regionCode); results = mapPathMapper.getMapPathByRegionCode(params); return results; } catch (Exception e) { log.error(e.getMessage()); } return null; } public static Map getRegionCodeAndTypeByOrg(Organization organization) { Map result = new HashMap<>(); String regionCode = ""; String regionType = ""; Long villageCode = organization.getVillageCode(); Long townCode = organization.getTownCode(); Integer areaCode = organization.getAreaCode(); Integer cityCode = organization.getCityCode(); Integer provinceCode = organization.getProvinceCode(); if (!ObjectUtils.isEmpty(areaCode)) { regionCode = String.valueOf(areaCode); regionType = "areaCode"; } else if (!ObjectUtils.isEmpty(cityCode)) { regionCode = String.valueOf(cityCode); regionType = "cityCode"; } else if (!ObjectUtils.isEmpty(provinceCode)) { regionCode = String.valueOf(provinceCode); regionType = "provinceCode"; } else { return null; } result.put("regionCode", regionCode); result.put("regionType", regionType); return result; } }