package com.scpyun.platform.jilinsscgsdp.utils;

import com.scpyun.base.core.exception.CustomException;
import com.scpyun.base.core.utils.StringUtils;
import com.scpyun.platform.jilinsscgsdp.service.impl.GridChangeZBXServiceImpl;

import java.util.Map;
/**
 *
 * @Title:  GridMapParamsUtil
 * @Package GridMapParamsUtil.java
 * @Description: copy By scp-grid
 * @author:  guojiucoder
 * @date:   2024/7/31 14:10
 * @version V1.0.0
 *
 */
public class GridMapParamsUtil {

    public static void GridMapParamsForString(Map<String,Object> map){
//        if(StringUtils.isEmpty(map.get("mapType"))){
//            throw new CustomException("缺少参数！地图类型");
//        }
        if(StringUtils.isEmpty(map.get("mapType")) || "GD".equals(map.get("mapType"))){
            map.put("mapType","GD");
        }else {
            map.put("mapType","HT");
        }
        String mapType = StringUtils.toString(map.get("mapType"));
        if("GD".equals(mapType)){
            if(StringUtils.isEmpty(map.get("csc_mapjson"))){
                throw new CustomException("缺少参数！csc_mapjson");
            }
            String csc_mapjson = StringUtils.toString(map.get("csc_mapjson"));
            String csc_mapjson_ht = GridChangeZBXServiceImpl.gcj02_To_Gps84_string(csc_mapjson);
            map.put("csc_mapjson_ht",csc_mapjson_ht);
        }
        if("HT".equals(mapType)){
            /*if(StringUtils.isEmpty(map.get("csc_mapjson_ht"))){
                throw new CustomException("缺少参数！csc_mapjson_ht");
            }*/
//            String csc_mapjson_ht =  StringUtils.toString(map.get("csc_mapjson_ht"));
//            String csc_mapjson = GridChangeZBXServiceImpl.Gps84_To_gcj02_string(csc_mapjson_ht);
            if(StringUtils.isEmpty(map.get("csc_mapjson"))){
                map.put("csc_mapjson","");
            }
        }
//        map.put("csc_mapjson",GridChangeZBXServiceImpl.zbRound6_string(StringUtils.toString(map.get("csc_mapjson"))));
//        map.put("csc_mapjson_ht",GridChangeZBXServiceImpl.zbRound6_string(StringUtils.toString(map.get("csc_mapjson_ht"))));
    }

    public static void GridMapParamsForArray(Map<String,Object> map){
//        if(StringUtils.isEmpty(map.get("mapType"))){
//            throw new CustomException("缺少参数！地图类型");
//        }
        if(StringUtils.isEmpty(map.get("mapType")) || "GD".equals(map.get("mapType"))){
            map.put("mapType","GD");
        }else {
            map.put("mapType","HT");
        }
        String mapType = StringUtils.toString(map.get("mapType"));
        if("GD".equals(mapType)){
            if(StringUtils.isEmpty(map.get("csc_mapjson"))){
                throw new CustomException("缺少参数！");
            }
            String csc_mapjson = StringUtils.toString(map.get("csc_mapjson"));
            String csc_mapjson_ht = GridChangeZBXServiceImpl.gcj02_To_Gps84_array(csc_mapjson);
            map.put("csc_mapjson_ht",csc_mapjson_ht);
        }
        if("HT".equals(mapType)){
            /*if(StringUtils.isEmpty(map.get("csc_mapjson_ht"))){
                throw new CustomException("缺少参数！");
            }*/
//            String csc_mapjson_ht =  StringUtils.toString(map.get("csc_mapjson_ht"));
//            String csc_mapjson = GridChangeZBXServiceImpl.Gps84_To_gcj02_array(csc_mapjson_ht);
            if(StringUtils.isEmpty(map.get("csc_mapjson"))){
                map.put("csc_mapjson","");
            }
        }
//        map.put("csc_mapjson",GridChangeZBXServiceImpl.zbRound6_array(StringUtils.toString(map.get("csc_mapjson"))));
//        map.put("csc_mapjson_ht",GridChangeZBXServiceImpl.zbRound6_array(StringUtils.toString(map.get("csc_mapjson_ht"))));
    }






//    public static void main(String[] args) {
//        MapJsonInterceptString("123.345642313,42.21232424");
//    }
//
//    public static String MapJsonInterceptString (String csc_mapjson){
//        String[] mapJson = csc_mapjson.split(",");
//        if(mapJson.length != 2){
//            throw new CustomException("坐标异常1-1！");
//        }
//        String returnString = GridMapSubString(StringUtils.toDouble(mapJson[0])) + "," + GridMapSubString(StringUtils.toDouble(mapJson[1]));
//        return returnString;
//    }
//    public static String GridMapSubString(Double doubleValue){
//        if("0.0".equals((StringUtils.toString(doubleValue)))){
//            throw new CustomException("坐标异常1-2！");
//        }
//        DecimalFormat df = new DecimalFormat("0.00000000000000");
//        String result = df.format(doubleValue);
//        // 获取小数 . 号第一次出现的位置
////        int index = firstIndexOf(result, ".");
//        int index = result.indexOf(".");
//        // 字符串截断
//        return result.substring(0, index + 7);
//    }
//
//    public static int firstIndexOf(String str, String pattern) {
//        for (int i = 0; i < (str.length() - pattern.length()); i++) {
//            int j = 0;
//            while (j < pattern.length()) {
//                if (str.charAt(i + j) != pattern.charAt(j))
//                    break;
//                j++;
//            }
//            if (j == pattern.length())
//                return i;
//        }
//        return -1;
//    }
}
