package com.sifang.modules.sys.util.insurance;

import com.sifang.modules.sys.util.insurance.form.InsuranceConfig;

import java.util.HashSet;
import java.util.Set;

/**
 * 上文提到台风区具体指:
 * 海南全省、广西（北海、钦州、防城港）、广东（潮州、汕头、揭阳、汕尾、惠州、珠海、阳江、茂名、湛江、深圳）、福建（宁德、福州、莆田、泉州、厦门、漳州）、浙江（舟山、台州、宁波、温州）、江苏（盐城、南通）
 * 除上述列明区域外，均为非台风区
 *
 * 新规：只有海南是台风区，其他区域为非台风区域。
 */
public class InsuranceProductPlan {

    private static final Set<String> FullTaifengProvinceList = new HashSet<>();
//    private static final Map<String, Set<String>> TaifengCityMap = new HashMap<>();
//    private static final Set<String> GuangxiTaifengCity = new HashSet<>();
//    private static final Set<String> GuangdongTaifengCity = new HashSet<>();
//    private static final Set<String> FujianTaifengCity = new HashSet<>();
//    private static final Set<String> ZhejiangTaifengCity = new HashSet<>();
//    private static final Set<String> JiangsuTaifengCity = new HashSet<>();

    static {
        FullTaifengProvinceList.add("海南省");
        FullTaifengProvinceList.add("海南");

//        GuangxiTaifengCity.add("北海");
//        GuangxiTaifengCity.add("钦州");
//        GuangxiTaifengCity.add("防城港");
//
//        GuangxiTaifengCity.add("北海市");
//        GuangxiTaifengCity.add("钦州市");
//        GuangxiTaifengCity.add("防城港市");
//
//        GuangdongTaifengCity.add("潮州");
//        GuangdongTaifengCity.add("汕头");
//        GuangdongTaifengCity.add("揭阳");
//        GuangdongTaifengCity.add("汕尾");
//        GuangdongTaifengCity.add("惠州");
//        GuangdongTaifengCity.add("珠海");
//        GuangdongTaifengCity.add("阳江");
//        GuangdongTaifengCity.add("茂名");
//        GuangdongTaifengCity.add("湛江");
//        GuangdongTaifengCity.add("深圳");
//
//        GuangdongTaifengCity.add("潮州市");
//        GuangdongTaifengCity.add("汕头市");
//        GuangdongTaifengCity.add("揭阳市");
//        GuangdongTaifengCity.add("汕尾市");
//        GuangdongTaifengCity.add("惠州市");
//        GuangdongTaifengCity.add("珠海市");
//        GuangdongTaifengCity.add("阳江市");
//        GuangdongTaifengCity.add("茂名市");
//        GuangdongTaifengCity.add("湛江市");
//        GuangdongTaifengCity.add("深圳市");
//
//        FujianTaifengCity.add("宁德");
//        FujianTaifengCity.add("福州");
//        FujianTaifengCity.add("莆田");
//        FujianTaifengCity.add("泉州");
//        FujianTaifengCity.add("厦门");
//        FujianTaifengCity.add("漳州");
//
//        FujianTaifengCity.add("宁德市");
//        FujianTaifengCity.add("福州市");
//        FujianTaifengCity.add("莆田市");
//        FujianTaifengCity.add("泉州市");
//        FujianTaifengCity.add("厦门市");
//        FujianTaifengCity.add("漳州市");
//
//        ZhejiangTaifengCity.add("舟山");
//        ZhejiangTaifengCity.add("台州");
//        ZhejiangTaifengCity.add("宁波");
//        ZhejiangTaifengCity.add("温州");
//
//        ZhejiangTaifengCity.add("舟山市");
//        ZhejiangTaifengCity.add("台州市");
//        ZhejiangTaifengCity.add("宁波市");
//        ZhejiangTaifengCity.add("温州市");
//
//        JiangsuTaifengCity.add("盐城");
//        JiangsuTaifengCity.add("南通");
//
//        JiangsuTaifengCity.add("盐城市区");
//        JiangsuTaifengCity.add("南通市区");
//
//        TaifengCityMap.put("广西", GuangxiTaifengCity);
//        TaifengCityMap.put("广东", GuangdongTaifengCity);
//        TaifengCityMap.put("福建", FujianTaifengCity);
//        TaifengCityMap.put("浙江", ZhejiangTaifengCity);
//        TaifengCityMap.put("江苏", JiangsuTaifengCity);
    }

    public static boolean isTaifengCity(String city, String s) {
        if (FullTaifengProvinceList.contains(s)) {
            return true;
        }
        return false;
//        String p = s.replaceAll("省$", "");
//        Set<String> strings = TaifengCityMap.get(p);
//        return strings != null && strings.contains(city);
    }

    public static String matchProductPlan(String city, String p, InsuranceConfig insuranceConfig) {
        if (isTaifengCity(city, p)) {
            return insuranceConfig.getProductPlanTaifeng();
        }
        return insuranceConfig.getProductPlan();
    }

    public static String matchProductPlan(String address, InsuranceConfig insuranceConfig) {
        if (isTaifengCity(address)) {
            return insuranceConfig.getProductPlanTaifeng();
        }
        return insuranceConfig.getProductPlan();
    }

    public static boolean isTaifengCity(String address) {
        if (FullTaifengProvinceList.contains(address)) {
            return true;
        }
        return false;
    }

}
