package org.ts.ddcs.tool;


import com.alibaba.fastjson.JSONObject;
import org.ts.ddcs.log.LogHelper;


/**
 * @author dylan
 */
public class IotHelper {

    public static JSONObject getRtuCardStatus(String ccid){
        try {
            String token = IotHelper.getToken();
            if (null != token){
                return   IotHelper.getInfo(ccid,token);
            }
        }catch (Exception e){
            LogHelper.error(e);
        }
        return null;
    }

    public static String getToken() {
//        SimpleDateFormat timeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
//        String rom = "100340079100100000" + timeFormat.format(new Date()) + "10000002";
//        String url = "https://api.iot.10086.cn/v5/ec/get/token?appid=100340079100100000&password=DOcfh@jgi*F2&transid=" + rom;
//        JSONObject response = null;
//        try {
//            ValueOperations valueOperations = DataProcessHolder.newInstance().dataProcess.redisTemplate.opsForValue();
//            if (DataProcessHolder.newInstance().dataProcess.redisTemplate.hasKey("iot_token")) {
//                String tokenStr = (String) valueOperations.get("iot_token");
//                return tokenStr;
//            } else {
//                RestTemplate restTemplate = new RestTemplate();
//                response = restTemplate.getForObject(new URI(url), JSONObject.class);
//                if (response != null) {
//                    LogHelper.info(response.toJSONString());
//                    if (response.getString("status").equals("0")) {
//                        JSONArray result = response.getJSONArray("result");
//                        if (result.size() > 0) {
//                            JSONObject token = result.getJSONObject(0);
//                            LogHelper.info("**********************" + token.getString("token"));
//                            String tokenStr = token.getString("token");
//                            valueOperations.set("iot_token", tokenStr, 50, TimeUnit.MINUTES);
//                            return tokenStr;
//                        }
//                    }
//                }
//            }
//        } catch (URISyntaxException e) {
//            LogHelper.error(e);
//        }
        return null;
    }

    public static JSONObject getInfo(String ccid, String token) {
//        SimpleDateFormat timeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
//        String rom = "100340079100100000" + timeFormat.format(new Date()) + "10000003";
//        String url = "https://api.iot.10086.cn/v5/ec/query/sim-data-margin?transid=" + rom + "&iccid=" + ccid + "&token=" + token;
//
//        JSONObject response = null;
//        try {
//            RestTemplate restTemplate = new RestTemplate();
//            response = restTemplate.getForObject(new URI(url), JSONObject.class);
//            if (response != null) {
//                LogHelper.info(response.toJSONString());
//                if (response.getString("status").equals("0")) {
//                    JSONArray result = response.getJSONArray("result");
//                    if (result.size() > 0) {
//                        JSONObject data = result.getJSONObject(0);
//                        JSONArray accmMarginList = data.getJSONArray("accmMarginList");
//                        if (null != accmMarginList && accmMarginList.size() > 0) {
//                            JSONObject accmMargin = accmMarginList.getJSONObject(0);
//                            if (null != accmMargin) {
//                                return accmMargin;
////                                   String totalAmount = accmMargin.getString("totalAmount");
////                                   String useAmount = accmMargin.getString("useAmount");
////                                   String remainAmount = accmMargin.getString("remainAmount ");
//
//                            }
//                        }
//                    }
//                }
//            }
//        } catch (URISyntaxException e) {
//            LogHelper.error(e);
//        }
       return null;
    }
}
