Compare commits
	
		
			No commits in common. "a27ed436ab4b8cc0244e0cc0c1475364d0463d70" and "af32f0e46e90b874f60b406000875d8a27d4848c" have entirely different histories.
		
	
	
		
			a27ed436ab
			...
			af32f0e46e
		
	
		| 
						 | 
					@ -343,7 +343,7 @@ import java.util.zip.GZIPInputStream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    HYSuperDMO dmo = new HYSuperDMO();
 | 
					                    HYSuperDMO dmo = new HYSuperDMO();
 | 
				
			||||||
                    SaleOrderHVO[] hvo = (SaleOrderHVO[]) dmo.queryByWhereClause(SaleOrderHVO.class, "csaleorderid='" + csaleorderid + "'");
 | 
					                    SaleOrderHVO[] hvo = (SaleOrderHVO[]) dmo.queryByWhereClause(SaleOrderHVO.class, "vbillcode='" + def2 + "'");
 | 
				
			||||||
                    SaleOrderBVO[] bvos = (SaleOrderBVO[]) dmo.queryByWhereClause(SaleOrderBVO.class, "csaleorderid='" + hvo[0].getPrimaryKey() + "'");
 | 
					                    SaleOrderBVO[] bvos = (SaleOrderBVO[]) dmo.queryByWhereClause(SaleOrderBVO.class, "csaleorderid='" + hvo[0].getPrimaryKey() + "'");
 | 
				
			||||||
                    if (bvos != null) {
 | 
					                    if (bvos != null) {
 | 
				
			||||||
                        itemvo.setSrc_billid(bvos[0].getCsaleorderid());
 | 
					                        itemvo.setSrc_billid(bvos[0].getCsaleorderid());
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					package nccloud.openapi;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ArriveResourcesTest extends nccloud.openapi.BaseOpenApiTest {
 | 
				
			||||||
 | 
					    public void save() {
 | 
				
			||||||
 | 
					        String url = "/nccloud/api/pu/arrive/saveFromOrder";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            String result = requestOpenApiByJSON(url, "resources/Arrive.json");
 | 
				
			||||||
 | 
					            System.out.println(result);
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
 | 
					        ArriveResourcesTest test = new ArriveResourcesTest();
 | 
				
			||||||
 | 
					        test.save();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,406 @@
 | 
				
			||||||
 | 
					package nccloud.openapi;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.alibaba.fastjson.JSONObject;
 | 
				
			||||||
 | 
					import nc.ws.opm.pub.utils.security.SecurityUtil;
 | 
				
			||||||
 | 
					import nccloud.openapi.BaseOpenApiTest.HttpClientWapper.Response;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.Header;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.HttpClient;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.NameValuePair;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.methods.GetMethod;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.methods.PostMethod;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.methods.StringRequestEntity;
 | 
				
			||||||
 | 
					import org.apache.commons.httpclient.util.EncodingUtil;
 | 
				
			||||||
 | 
					import org.apache.commons.lang3.StringUtils;
 | 
				
			||||||
 | 
					import org.springframework.core.io.ClassPathResource;
 | 
				
			||||||
 | 
					import sun.misc.BASE64Decoder;
 | 
				
			||||||
 | 
					import sun.misc.BASE64Encoder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.crypto.Cipher;
 | 
				
			||||||
 | 
					import java.io.*;
 | 
				
			||||||
 | 
					import java.net.URLEncoder;
 | 
				
			||||||
 | 
					import java.nio.charset.StandardCharsets;
 | 
				
			||||||
 | 
					import java.security.*;
 | 
				
			||||||
 | 
					import java.security.spec.X509EncodedKeySpec;
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import java.util.Map.Entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @description: 审批流程接口测试
 | 
				
			||||||
 | 
					 * @author:guoxqc@yonyou.com
 | 
				
			||||||
 | 
					 * @date:2020年10月23日
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class BaseOpenApiTest {
 | 
				
			||||||
 | 
					    //	public static final String BASE_URL_DEV="http://192.168.82.5:9999";
 | 
				
			||||||
 | 
					    public static final String BASE_URL_DEV = "http://127.0.0.1:8088";
 | 
				
			||||||
 | 
					//     public static final String BASE_URL_DEV = "http://192.168.82.104:7788";
 | 
				
			||||||
 | 
					//	public static final String BASE_URL_DEV="http://192.168.82.1:9081";
 | 
				
			||||||
 | 
					//	public static final String BASE_URL_DEV="http://172.23.17.146:8001";
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * APP ID
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static final String CLIENT_ID;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * APP Secret
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static final String CLIENT_SECRET;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 公钥
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static final String PUBLIC_KEY;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 账套编码
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static final String BIZ_CENTER;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 用户编码
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static final String USER_CODE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    static {
 | 
				
			||||||
 | 
					        ResourceBundle config = ResourceBundle.getBundle("nccloud.openapi.config");
 | 
				
			||||||
 | 
					        CLIENT_ID = config.getString("client_id");
 | 
				
			||||||
 | 
					        CLIENT_SECRET = config.getString("client_secret");
 | 
				
			||||||
 | 
					        PUBLIC_KEY = config.getString("pub_key");
 | 
				
			||||||
 | 
					        BIZ_CENTER = config.getString("biz_center");
 | 
				
			||||||
 | 
					        USER_CODE = config.getString("user_code");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public HttpClientWapper client = new HttpClientWapper();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param url
 | 
				
			||||||
 | 
					     * @param param
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String requestOpenApi(String url, Map<String, Object> param) throws Exception {
 | 
				
			||||||
 | 
					        return requestOpenApi(url, new JSONObject(param));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param url
 | 
				
			||||||
 | 
					     * @param param
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String requestOpenApi(String url, JSONObject param) throws Exception {
 | 
				
			||||||
 | 
					        return requestOpenApi(url, param.toJSONString());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param url
 | 
				
			||||||
 | 
					     * @param fileName
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String requestOpenApiByJSON(String url, String fileName) throws Exception {
 | 
				
			||||||
 | 
					        ClassPathResource classPathResorce = new ClassPathResource(fileName, this.getClass());
 | 
				
			||||||
 | 
					        StringBuffer data = new StringBuffer();
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            InputStream in = classPathResorce.getInputStream();
 | 
				
			||||||
 | 
					            BufferedReader reader = new BufferedReader(new InputStreamReader(in, "utf-8"));
 | 
				
			||||||
 | 
					            String line = reader.readLine();
 | 
				
			||||||
 | 
					            while (StringUtils.isNotEmpty(line)) {
 | 
				
			||||||
 | 
					                data.append(line);
 | 
				
			||||||
 | 
					                line = reader.readLine();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } catch (IOException e1) {
 | 
				
			||||||
 | 
					            e1.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return requestOpenApi(url, data.toString());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String requestOpenApi(String url, String param) throws Exception {
 | 
				
			||||||
 | 
					        String accessToken = this.getAccessTokenByClient();
 | 
				
			||||||
 | 
					        System.out.println(param.replace("	", ""));
 | 
				
			||||||
 | 
					        String sign = digest(CLIENT_ID + PUBLIC_KEY);
 | 
				
			||||||
 | 
					        List<Header> headers = new ArrayList<Header>();
 | 
				
			||||||
 | 
					        headers.add(new Header("Content-Type", "application/json;charset=UTF-8"));
 | 
				
			||||||
 | 
					        headers.add(new Header("signature", sign));
 | 
				
			||||||
 | 
					        headers.add(new Header("ucg_flag", "y"));
 | 
				
			||||||
 | 
					        headers.add(new Header("access_token", accessToken));
 | 
				
			||||||
 | 
					        headers.add(new Header("client_id", CLIENT_ID));
 | 
				
			||||||
 | 
					        Response response;
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            response = client.post(BASE_URL_DEV + url, headers.toArray(new Header[headers.size()]), null, param);
 | 
				
			||||||
 | 
					//			System.out.println(response.getData());
 | 
				
			||||||
 | 
					            return response.getData();
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            System.out.println(e.getMessage());
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					            return e.getMessage();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param seed 种子,用于生成公钥
 | 
				
			||||||
 | 
					     * @param src  明文
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     * @description RSA加密
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String pubEncrypt(String seed, String src) throws Exception {
 | 
				
			||||||
 | 
					        String target = null;
 | 
				
			||||||
 | 
					        ByteArrayOutputStream out = null;
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            Key key = genPublicKey(PUBLIC_KEY);
 | 
				
			||||||
 | 
					            Cipher cipher = Cipher.getInstance("RSA");
 | 
				
			||||||
 | 
					            cipher.init(1, key);
 | 
				
			||||||
 | 
					            byte[] data = src.getBytes();
 | 
				
			||||||
 | 
					            int inputLen = data.length;
 | 
				
			||||||
 | 
					            out = new ByteArrayOutputStream();
 | 
				
			||||||
 | 
					            int offSet = 0;
 | 
				
			||||||
 | 
					            int i = 0;
 | 
				
			||||||
 | 
					            while (inputLen - offSet > 0) {
 | 
				
			||||||
 | 
					                byte[] cache;
 | 
				
			||||||
 | 
					                ;
 | 
				
			||||||
 | 
					                if (inputLen - offSet > 117) {
 | 
				
			||||||
 | 
					                    cache = cipher.doFinal(data, offSet, 117);
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    cache = cipher.doFinal(data, offSet, inputLen - offSet);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                out.write(cache, 0, cache.length);
 | 
				
			||||||
 | 
					                i++;
 | 
				
			||||||
 | 
					                offSet = i * 117;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            target = new BASE64Encoder().encodeBuffer(out.toByteArray());
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            throw new Exception("加密失败" + e.getMessage());
 | 
				
			||||||
 | 
					        } finally {
 | 
				
			||||||
 | 
					            if (out != null) {
 | 
				
			||||||
 | 
					                out.close();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return target;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param str
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @description 信息摘要
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static String digest(String str) {
 | 
				
			||||||
 | 
					        String encodestr = "";
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
 | 
				
			||||||
 | 
					            messageDigest.update(str.getBytes(StandardCharsets.UTF_8));
 | 
				
			||||||
 | 
					            encodestr = byte2Hex(messageDigest.digest());
 | 
				
			||||||
 | 
					        } catch (NoSuchAlgorithmException e) {
 | 
				
			||||||
 | 
					            throw new RuntimeException(e);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return encodestr;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static String byte2Hex(byte[] bytes) {
 | 
				
			||||||
 | 
					        StringBuffer stringBuffer = new StringBuffer();
 | 
				
			||||||
 | 
					        String temp = null;
 | 
				
			||||||
 | 
					        for (int i = 0; i < bytes.length; i++) {
 | 
				
			||||||
 | 
					            temp = Integer.toHexString(bytes[i] & 0xFF);
 | 
				
			||||||
 | 
					            if (temp.length() == 1) {
 | 
				
			||||||
 | 
					                stringBuffer.append("0");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            stringBuffer.append(temp);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return stringBuffer.toString();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param PUBLIC_KEY
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     * @description 根据种子生成密钥对
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static Key genPublicKey(String seed) throws Exception {
 | 
				
			||||||
 | 
					        Key key = null;
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            byte[] keyBytes = new BASE64Decoder().decodeBuffer(seed);
 | 
				
			||||||
 | 
					            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
 | 
				
			||||||
 | 
					            X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes);
 | 
				
			||||||
 | 
					            key = keyFactory.generatePublic(x509KeySpec);
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            throw new Exception("无效的密钥  " + e.getMessage());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return key;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Http请求包装类
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @author guoxiangqiao
 | 
				
			||||||
 | 
					     * @date 2019年12月11日
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public class HttpClientWapper {
 | 
				
			||||||
 | 
					        public static final int HTTP_STATUS_SUCCESS = 200;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * post请求
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
 | 
					         * @param url
 | 
				
			||||||
 | 
					         * @param headers
 | 
				
			||||||
 | 
					         * @param requestBody
 | 
				
			||||||
 | 
					         * @return
 | 
				
			||||||
 | 
					         * @throws Exception
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public Response post(String url, Header[] headers, NameValuePair[] requestBody, String requestEntityStr) throws Exception {
 | 
				
			||||||
 | 
					            HttpClient client = new HttpClient();
 | 
				
			||||||
 | 
					            PostMethod postMethod = new PostMethod(url);
 | 
				
			||||||
 | 
					            if (headers != null) {
 | 
				
			||||||
 | 
					                for (Header header : headers) {
 | 
				
			||||||
 | 
					                    postMethod.setRequestHeader(header);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (requestBody != null) {
 | 
				
			||||||
 | 
					                postMethod.setRequestBody(requestBody);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (StringUtils.isNotEmpty(requestEntityStr)) {
 | 
				
			||||||
 | 
					                StringRequestEntity requestEntity = new StringRequestEntity(requestEntityStr, null, "utf-8");
 | 
				
			||||||
 | 
					                postMethod.setRequestEntity(requestEntity);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            int httpStatus = client.executeMethod(postMethod);
 | 
				
			||||||
 | 
					            String result = this.getResponseBodyAsString(postMethod);
 | 
				
			||||||
 | 
					            return new Response(httpStatus, result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public String getResponseBodyAsString(PostMethod postMethod) throws IOException {
 | 
				
			||||||
 | 
					            byte[] rawdata = null;
 | 
				
			||||||
 | 
					            rawdata = postMethod.getResponseBody();
 | 
				
			||||||
 | 
					            return rawdata != null ? EncodingUtil.getString(rawdata, "utf-8") : null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * @param params
 | 
				
			||||||
 | 
					         * @return
 | 
				
			||||||
 | 
					         * @description Map转URL参数
 | 
				
			||||||
 | 
					         * @author guoxqc@yonyou.com
 | 
				
			||||||
 | 
					         * @date 2020年10月22日
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public String getURLParam(Map<String, Object> params) {
 | 
				
			||||||
 | 
					            StringBuffer paramStr = new StringBuffer();
 | 
				
			||||||
 | 
					            if (!params.isEmpty()) {
 | 
				
			||||||
 | 
					                for (Entry<String, Object> kv : params.entrySet()) {
 | 
				
			||||||
 | 
					                    paramStr.append(kv.getKey());
 | 
				
			||||||
 | 
					                    paramStr.append("=");
 | 
				
			||||||
 | 
					                    paramStr.append(kv.getValue());
 | 
				
			||||||
 | 
					                    paramStr.append("&");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                paramStr.deleteCharAt(paramStr.length() - 1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return paramStr.toString();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * get请求
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
 | 
					         * @param url
 | 
				
			||||||
 | 
					         * @param headers
 | 
				
			||||||
 | 
					         * @param params
 | 
				
			||||||
 | 
					         * @return
 | 
				
			||||||
 | 
					         * @throws Exception
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public Response get(String url, Header[] headers, NameValuePair[] params) throws Exception {
 | 
				
			||||||
 | 
					            HttpClient client = new HttpClient();
 | 
				
			||||||
 | 
					            GetMethod getMethod = new GetMethod(url);
 | 
				
			||||||
 | 
					            if (params != null) {
 | 
				
			||||||
 | 
					                getMethod.setQueryString(params);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (headers != null) {
 | 
				
			||||||
 | 
					                for (Header header : headers) {
 | 
				
			||||||
 | 
					                    getMethod.setRequestHeader(header);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            int httpStatus = client.executeMethod(getMethod);
 | 
				
			||||||
 | 
					            String result = getMethod.getResponseBodyAsString();
 | 
				
			||||||
 | 
					            return new Response(httpStatus, result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * 获取url查询参数
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
 | 
					         * @param params
 | 
				
			||||||
 | 
					         * @return
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public String getQueryString(NameValuePair[] params) {
 | 
				
			||||||
 | 
					            GetMethod getMethod = new GetMethod();
 | 
				
			||||||
 | 
					            getMethod.setQueryString(params);
 | 
				
			||||||
 | 
					            return getMethod.getQueryString();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        class Response {
 | 
				
			||||||
 | 
					            private int httpStatus;
 | 
				
			||||||
 | 
					            private String data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public int getHttpStatus() {
 | 
				
			||||||
 | 
					                return httpStatus;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public void setHttpStatus(int httpStatus) {
 | 
				
			||||||
 | 
					                this.httpStatus = httpStatus;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public String getData() {
 | 
				
			||||||
 | 
					                return data;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public void setData(String data) {
 | 
				
			||||||
 | 
					                this.data = data;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public Response(int httpStatus, String data) {
 | 
				
			||||||
 | 
					                super();
 | 
				
			||||||
 | 
					                this.httpStatus = httpStatus;
 | 
				
			||||||
 | 
					                this.data = data;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            public Response() {
 | 
				
			||||||
 | 
					                super();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static String getSHA256(String str, String key) throws Exception {
 | 
				
			||||||
 | 
					        byte[] salt = new byte[16];
 | 
				
			||||||
 | 
					        SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
 | 
				
			||||||
 | 
					        random.setSeed(key.getBytes());
 | 
				
			||||||
 | 
					        random.nextBytes(salt);
 | 
				
			||||||
 | 
					        String salt_value = new BASE64Encoder().encodeBuffer(salt);
 | 
				
			||||||
 | 
					        return digest(str + salt_value.replaceAll("\r|\n", ""));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     * @throws Exception
 | 
				
			||||||
 | 
					     * @description 获取AccessToken
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @SuppressWarnings("static-access")
 | 
				
			||||||
 | 
					    public String getAccessTokenByClient() throws Exception {
 | 
				
			||||||
 | 
					        String url = BASE_URL_DEV + "/nccloud/opm/accesstoken";
 | 
				
			||||||
 | 
					        List<Header> headers = new ArrayList<Header>();
 | 
				
			||||||
 | 
					        headers.add(new Header("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"));
 | 
				
			||||||
 | 
					        // 获取信息摘要
 | 
				
			||||||
 | 
					        String signature = getSHA256(CLIENT_ID + CLIENT_SECRET + PUBLIC_KEY, PUBLIC_KEY);
 | 
				
			||||||
 | 
					        // 使用PUBLIC_KEY生成公钥,对CLIENT_SECRET加密
 | 
				
			||||||
 | 
					        SecurityUtil securityUtil = new SecurityUtil();
 | 
				
			||||||
 | 
					        String CLIENT_SECRETEn = URLEncoder.encode(securityUtil.pubEncrypt(PUBLIC_KEY, CLIENT_SECRET), "utf-8");
 | 
				
			||||||
 | 
					        Map<String, Object> params = new HashMap<String, Object>();
 | 
				
			||||||
 | 
					        params.put("client_id", CLIENT_ID);
 | 
				
			||||||
 | 
					        params.put("userCode", USER_CODE);
 | 
				
			||||||
 | 
					        params.put("grant_type", "client_credentials");
 | 
				
			||||||
 | 
					        params.put("biz_center", BIZ_CENTER);
 | 
				
			||||||
 | 
					        params.put("signature", signature);
 | 
				
			||||||
 | 
					        params.put("client_secret", CLIENT_SECRETEn);
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            Response response = client.post(url, headers.toArray(new Header[headers.size()]), null, client.getURLParam(params));
 | 
				
			||||||
 | 
					            System.out.println(response.getData());
 | 
				
			||||||
 | 
					            JSONObject result = JSONObject.parseObject(response.getData());
 | 
				
			||||||
 | 
					            boolean success = result.getBoolean("success");
 | 
				
			||||||
 | 
					            if (success) {
 | 
				
			||||||
 | 
					                return result.getJSONObject("data").getString("access_token");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            System.out.println(e.getMessage());
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return null;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue