package com.ho.business.service.impl;


import com.ho.business.entity.IndustrialElecRegion;
import com.ho.business.mapper.IndustrialElecRegionMapper;
import com.ho.business.service.IndustrialElecRegionService;
import com.ho.business.util.AddressResolutionUtil;
import com.ho.common.tools.exception.DataResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;


@Service
public class IndustrialElecRegionServiceImpl implements IndustrialElecRegionService {

    @Autowired
    private IndustrialElecRegionMapper industrialElecRegionMapper;
    @Override
    public DataResult addressResolution(String address) {
        DataResult dataResult = new DataResult();
        String regionName=null;
        if(address!=null){
            Map<String, String> map = AddressResolutionUtil.addressResolution(address);
            if(map.size()>0){
                //{province=海南省, city=省直辖县级行政单位, county=中沙群岛的岛礁及其海域, detail=}
                if("河北省".equals(map.get("province"))){
                    if("张家口市".equals(map.get("city"))||"承德市".equals(map.get("city"))||"唐山市".equals(map.get("city"))){
                        regionName="冀北";
                    }else{
                        regionName="河北";
                    }
                }else if("陕西省".equals(map.get("province"))){
                    if("榆林市".equals(map.get("city"))){
                        regionName="陕西(榆林)";
                    }else{
                        regionName="陕西(非榆林)";
                    }
                }else if("北京".equals(map.get("province"))){
                    regionName="北京(城区)";
                }else if("广东省".equals(map.get("province"))){
                    if("惠州市".equals(map.get("city"))){
                        regionName="广东(惠州)";
                    }
                    if("江门市".equals(map.get("city"))){
                        if("台山市".equals(map.get("county"))||"开平市".equals(map.get("county"))||"恩平市".equals(map.get("county"))){
                            regionName="广东(东西两翼)";
                        }else{
                            regionName="广东(江门)";
                        }
                    }
                    if("汕尾市".equals(map.get("city"))||"潮州市".equals(map.get("city"))||"汕头市".equals(map.get("city"))||"阳江市".equals(map.get("city"))||"湛江市".equals(map.get("city"))||"茂名市".equals(map.get("city"))||"揭阳市".equals(map.get("city"))
                            ||"肇庆市".equals(map.get("city"))){
                        if("海丰县".equals(map.get("county"))){
                            regionName="深圳(深汕特别合作区)";
                        }else{
                            regionName="广东(东西两翼)";
                        }
                    }
                    if("韶关市".equals(map.get("city"))||"河源市".equals(map.get("city"))||"梅州市".equals(map.get("city"))||"清远市".equals(map.get("city"))||"云浮市".equals(map.get("city"))){
                        regionName="广东(粤北山区)";
                    }
                    if("广州市".equals(map.get("city"))||"佛山市".equals(map.get("city"))||"东莞市".equals(map.get("city"))||"珠海市".equals(map.get("city"))||"中山市".equals(map.get("city"))){
                        regionName="广东(珠三角五市)";
                    }
                    if("深圳市".equals(map.get("city"))){
                        regionName="深圳";
                    }

                }else if("福建省".equals(map.get("province"))){
                    if("建屏南县".equals(map.get("county"))||"寿宁县".equals(map.get("county"))||"周宁县".equals(map.get("county"))){
                        regionName="福建(建屏南、寿宁、周宁)";
                    }else if("建瓯市".equals(map.get("county"))||"武夷山市".equals(map.get("county"))){
                        regionName="福建(建瓯、武夷山)";
                    }else if("顺昌县".equals(map.get("county"))){
                        regionName="福建(顺昌)";
                    }else if("永泰县".equals(map.get("county"))){
                        regionName="福建(永泰)";
                    }else{
                        regionName="福建";
                    }
                }else{
                    if(map.get("province").contains("自治区")){
                        if("宁夏回族自治区".equals(map.get("province"))){
                            regionName="宁夏";
                        }else if("新疆维吾尔自治区".equals(map.get("province"))){
                            regionName="新疆";
                        }else if("广西壮族自治区".equals(map.get("province"))){
                            regionName="广西";
                        }else if("内蒙古自治区".equals(map.get("province"))){
                            if("呼伦贝尔市".equals(map.get("city"))||"兴安盟".equals(map.get("city"))||"通辽市".equals(map.get("city"))||"赤峰市".equals(map.get("city"))||"锡林郭勒盟".equals(map.get("city"))){
                                regionName="内蒙古(东部)";
                            }else{
                                regionName="内蒙古";
                            }
                        }else{
                            regionName=map.get("province").split("自治区")[0];
                        }
                    }else if(map.get("province").contains("省")){
                        regionName=map.get("province").split("省")[0];
                    }else{
                        regionName=map.get("province");
                    }
                }
                IndustrialElecRegion industrialElecRegion = industrialElecRegionMapper.findByRegionName(regionName);
                dataResult.setData(industrialElecRegion);
            }else{
                return dataResult;
            }
        }
        return dataResult;
    }
}
