package com.sercurityControl.proteam.util; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Maps; import com.securityControl.common.core.utils.aes.StringHelper; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 优尔数据接口调试 */ @Slf4j public class InterfaceUtil { private static final String ip="sgwpdm.ah.sgcc.com.cn:20080"; private static final String ip1="10.138.236.11:20080";//优尔信息外网ip //获取token private static final String token_url = "http://"+ip1+"/jjqgcApp/datacenter/request/token.do"; /** * 关键点措施照片 url */ private static final String ZBH_IMAGE_URL="http://"+ip1+"/jjqgcApp/datacenter/request/queryPicId.do"; private static final String TICKET_IMAGE_URL="http://"+ip1+"/jjqgcApp/datacenter/request/downTicket.do"; /** * 施工方案 */ private static final String PROJECT_SG_FA = "http://"+ip1+"/jjqgcApp/datacenter/request/getSgfaFile"; private static final String SG_FA_LIST = "http://"+ip1+"/jjqgcApp/datacenter/request/downSgfaFileId.do"; /** * 考勤人员数量 */ private static final String KQREN_URL = "http://"+ip1+"/jjqgcApp/datacenter/bns/getKqNum"; private static final String ZTSJ_STATE = "http://"+ip1+"/jjqgcApp/datacenter/request/getZbhStatus"; //接口token private static String token = null; /** * 登录授权获取token */ private static String login() { try{ String rucan=getJMCSData("date",DateTimeHelper.getNowDate()); com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject ();//参数封装 jsonObject.put("data",rucan); String jm =HttpClientUtils.doHttpPost(token_url,jsonObject,token); String str=AesEncryptUtils.decrypt(jm, AesEncryptUtils.KEY_NAME); if (StringHelper.isNotEmpty(str)) { com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(str); String type = object.getString("type"); if ("success".equals(type)) { token = object.getString("token"); return token; } else { return null; } } else { return null; } }catch (Exception e){ log.error(e.toString(),e); } return null; } public static String getJMCSData(String key, String value){ String in = "{\""+key+"\":\""+value+"\"}"; String rucan = AesEncryptUtils.encrypt(in, AesEncryptUtils.KEY_NAME); return rucan; } /** * 站班会施工图片获取 */ public static String getZbhImageData(String imageId){ try{ login(); if (token == null) { log.error("token为空"); }else{ String rucan=getJMCSData("picId",imageId);//参数加密 com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();//参数封装 jsonObject.put("data",rucan); String jmsj =HttpClientUtils.doHttpPost(ZBH_IMAGE_URL,jsonObject,token); String str=AesEncryptUtils.decrypt(jmsj, AesEncryptUtils.KEY_NAME);//数据解密 if (StringHelper.isNotEmpty(str)) { com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(str);//json数据解析 String type = object.getString("type");//获取接口是是否成功 if ("success".equals(type)) { String bast64 = object.getString("data"); return bast64; } } } return null; }catch (Exception e){ log.error(e.toString(),e); } return null; } /** * 获取作业票的PDF文件 */ public static String getTicketImageData(String ticketId){ try{ login(); if (token == null) { log.error("token为空"); }else{ String rucan=getJMCSData("ticketId",ticketId);//参数加密 com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();//参数封装 jsonObject.put("data",rucan); String jmsj =HttpClientUtils.doHttpPost(TICKET_IMAGE_URL,jsonObject,token); String str=AesEncryptUtils.decrypt(jmsj, AesEncryptUtils.KEY_NAME);//数据解密 if (StringHelper.isNotEmpty(str)) { com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(str);//json数据解析 String type = object.getString("type");//获取接口是是否成功 if ("success".equals(type)) { String bast64 = object.getString("data"); return bast64; } } } }catch (Exception e){ log.error(e.toString(),e); } return null; } /** * 获取施工方案单个文件 * @param fileId * @return */ public static String getSgfaFileData(String fileId){ try{ login(); if (token == null) { log.error("token为空"); }else{ String rucan=getJMCSData("picId",fileId);//参数加密 com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();//参数封装 jsonObject.put("data",rucan); String jmsj =HttpClientUtils.doHttpPost(PROJECT_SG_FA,jsonObject,token); String str=AesEncryptUtils.decrypt(jmsj, AesEncryptUtils.KEY_NAME);//数据解密 if (StringHelper.isNotEmpty(str)) { com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(str);//json数据解析 String type = object.getString("type");//获取接口是是否成功 if ("success".equals(type)) { String bast64 = object.getString("data"); return bast64; } } } }catch (Exception e){ log.error(e.toString(),e); } return null; } /** * 获取施工方案信息 * @param bidNo * @return */ public static JSONArray getSgFa(String bidNo) { try{ login(); String rucan = getJMCSData("bidNo", bidNo); com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();//参数封装 jsonObject.put("data",rucan); String jm = HttpClientUtils.doHttpPost(SG_FA_LIST, jsonObject, token); String str = AesEncryptUtils.decrypt(jm, AesEncryptUtils.KEY_NAME);//解密 if(StringHelper.isNotEmpty(str)) { com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(str);//json数据解析 String type = object.getString("type");//获取接口是是否成功 if ("success".equals(type)) {//转为list JSONArray data = object.getJSONArray("data"); // List list = com.alibaba.fastjson2.JSON.parseObject(data.toJSONString(), new com.alibaba.fastjson2.TypeReference>() { // }); return data; } } return null; }catch (Exception e){ log.error(e.toString(),e); } return null; } /** * 考勤人员数量 */ public static String getKqRyData(){ try{ login(); String rucan=getJMCSData("date",DateTimeHelper.getNowDate());//数据加密 JSONObject jsonObject = new JSONObject();//参数封装 jsonObject.put("data",rucan); String jmsj =HttpClientUtils.doHttpPost(KQREN_URL,jsonObject,token); String str=AesEncryptUtils.decrypt(jmsj, AesEncryptUtils.KEY_NAME);//数据揭秘 if (StringHelper.isNotEmpty(str)) { JSONObject object = JSONObject.parseObject(str);//json数据解析 Object data=object.getString("data"); JSONObject obj = JSONObject.parseObject(data.toString());// return obj.get("DCRY").toString(); } }catch (Exception e){ log.error(e.toString(),e); } return "0"; } public static List> getZbhZt(String classId){ List> list=new ArrayList<>(); try{ login(); String params="jhId="+classId; String str =HttpClient.sendGet(ZTSJ_STATE,token,params); if (StringHelper.isNotEmpty(str)) { JSONObject object = JSONObject.parseObject(str);//json数据解析 JSONArray data = object.getJSONArray("data"); for (int i = 0; i < data.size(); i++) { JSONObject obj= (JSONObject) data.get(i); String status=obj.get("STATUS").toString() ; if("02".equals(status)){ Map map= Maps.newHashMap(); map.put("ztsj",getObject(obj,"ZTSJ")); map.put("xhzt",getObject(obj,"SIGNAL_STATUS")); map.put("ztyy",getObject(obj,"REASON") ); list.add(map); }else { Integer num=Integer.parseInt(status); if(2==num){ Map map= Maps.newHashMap(); map.put("ztsj",getObject(obj,"ZTSJ")); map.put("xhzt",getObject(obj,"SIGNAL_STATUS")); map.put("ztyy",getObject(obj,"REASON") ); list.add(map); } } } } }catch (Exception e){ log.error(e.toString(),e); } return list; } public static String getObject(JSONObject obj,String key){ try { Object data=obj.get(key); if(data==null){ return ""; } return data.toString(); }catch (Exception e){ log.error(e.toString(),e); } return ""; } }