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<com.moral.entity.WebProvince>
|
* @Author: 下雨听风
|
* @Date: 2020/11/26
|
*/
|
@Override
|
public List<WebProvince> getMapPath(String token) {
|
List<WebProvince> results;
|
try {
|
Map<String, Object> params = new HashMap<>();
|
Integer id = Integer.parseInt(WebTokenUtils.getIdBytoken(token));
|
Organization organization = organizationService.getOrganizationByAccountId(id);
|
|
Map<String, Object> 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<String, Object> getRegionCodeAndTypeByOrg(Organization organization) {
|
Map<String, Object> 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;
|
}
|
}
|