package com.fufan.mtsaas.modules.common.bo.request;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 访问外部接口
 *
 * @author Liby
 * @create 2018/4/20
 * */
@Component
@Slf4j
public class AccessRequestXml {


//    @Autowired
//    private AiIntrmgrProcessDao aiIntrmgrProcessDao;
//
//    @Value("${SYS_VERSION}")
//    private String VERSION;
//
//    @Value("${ZBR_OPERATOR}")
//    private String OPERATOR;
//
//    public String toXMLUrl(String url,String xml,String companyKey,String code){
//        ClientConfig clientConfig = new DefaultClientConfig();
//        clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
//        Client c = Client.create(clientConfig);
//        c.setConnectTimeout(10000);
//        c.setReadTimeout(10000);
//        WebResource r = c.resource(url);
//        MultivaluedMap<String, String> param = new MultivaluedMapImpl();
//        /**
//         * 记录AI处理日志表
//         * */
//        AiIntrmgrProcess aiIntrmgrProcess = new AiIntrmgrProcess();
//        aiIntrmgrProcess.setFuncCode(url.substring(url.indexOf("open"))+"/"+code);
//        aiIntrmgrProcess.setIntfId(UUID.randomUUID().toString());
//        aiIntrmgrProcess.setIntfReqMessage(XMLUtil.responseXml(xml,companyKey));
//        aiIntrmgrProcess.setIntfVersion(VERSION);
//        aiIntrmgrProcess.setSysReqsrc(OPERATOR);
//        aiIntrmgrProcess.setSysOper(OPERATOR);
//        String ip = "";
//        try {
//            InetAddress addr = InetAddress.getLocalHost();
//            ip =addr.getHostAddress().toString();
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//        aiIntrmgrProcess.setSysIp(ip);
//        aiIntrmgrProcess.setSysStart(new Date(System.currentTimeMillis()));
//        aiIntrmgrProcess.setFromSysReqsrc("AISERVICE");
//        aiIntrmgrProcess.setToSysReqsrc("ZBF");
//        aiIntrmgrProcessDao.insert(aiIntrmgrProcess);
//        String result = null;
//        log.info(xml);
//        try{
//            param.add("reqXML", XMLUtil.responseXml(xml,companyKey));
//            result = r.queryParams(param).type("text/xml").post(String.class);
//            aiIntrmgrProcess.setProcessStatus("1");
//            aiIntrmgrProcess.setIntfRespMessage(result);
//            log.info(result);
//        }catch (Exception e){
//            if(e.getMessage().contains("SocketTimeoutException")){
//                log.error("访问连接超时:"+ "  地址:" +url + "  传出数据:" + param );
//                log.error("访问连接超时:", e);
//                aiIntrmgrProcess.setIntfRespMessage("访问连接超时:"+ "  地址:" +url + "  传出数据:" + param);
//                result = "timeout";
//            }else{
//                log.error("访问外部服务出错:"+ "  地址:" +url + "  传出数据:" + param );
//                log.error("访问外部服务出错:", e);
//                aiIntrmgrProcess.setIntfRespMessage("访问外部服务出错:"+ "  地址:" +url + "  传出数据:" + param);
//                result = "error";
//            }
//            aiIntrmgrProcess.setProcessStatus("0");
//        }
//        aiIntrmgrProcess.setSysEnd(new Date(System.currentTimeMillis()));
//        aiIntrmgrProcessDao.updateById(aiIntrmgrProcess);
//        return result;
//    }
}
