277 lines
10 KiB
Plaintext
277 lines
10 KiB
Plaintext
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<SgFaVo> list = com.alibaba.fastjson2.JSON.parseObject(data.toJSONString(), new com.alibaba.fastjson2.TypeReference<List<SgFaVo>>() {
|
|
// });
|
|
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<Map<String,String>> getZbhZt(String classId){
|
|
List<Map<String,String>> 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<String,String> 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<String,String> 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 "";
|
|
|
|
}
|
|
|
|
|
|
}
|