123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package com.iamberry.nuonuo.test;
- import com.iamberry.nuonuo.bean.PrivateData;
- import com.iamberry.nuonuo.bean.PublicData;
- import com.iamberry.nuonuo.bean.RequestMode;
- import com.iamberry.nuonuo.exception.OpensnsException;
- import com.iamberry.nuonuo.oauth.Oauth2AccessToken;
- import com.iamberry.nuonuo.service.OpenApiV1;
- import com.iamberry.nuonuo.util.SecurityUtil;
- import com.iamberry.nuonuo.util.StateData;
- import com.iamberry.nuonuo.util.ValidataUtil;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 测试示例
- * @author sdk.jss.com.cn
- * @version 2.0
- * @since jdk1.6
- */
- public class TestOpenApiV1 {
-
- public static void main(String[] args) {
- TestOpenApiV1.setHeader();
- Map<String,String> headers = getHeaders();
- PublicData pdData = getPublicData();
- PrivateData<Object> pvData = new PrivateData<Object>();
- List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
- List<Map<String,Object>> list_invoiceDetail = new ArrayList<Map<String,Object>>();
- Map<String,Object> map_s = new HashMap<String,Object>();
- Map<String,Object> map_order = new HashMap<String,Object>();
- Map<String,Object> map_invoiceDetails = new HashMap<String,Object>();
- map_order.put("pushMode", "1");
- map_order.put("buyerName", "安徽省安迈达进出口有限公司");
- map_order.put("buyerTaxNum", "913400007349708745");
- map_order.put("buyerPhone", "17098074113");
- map_order.put("buyerAddress", "333");
- map_order.put("buyerAccount", "333");
- map_order.put("orderNo", System.currentTimeMillis() + "001");
- map_order.put("invoiceDate", "2016-06-15 01:59:41");
- map_order.put("clerk", "袁牧庆");
- map_order.put("salerAccount", "东亚银行杭州分行131001088303400");
- map_order.put("salerTel", "0571-87022168");
- map_order.put("salerAddress", "杭州市中河中路222号平海国际商务大厦5楼");
- map_order.put("salerTaxNum", "339901999999142");
- map_order.put("invoiceType", "1");
- map_order.put("remark", "开票机号为02 请前往诺诺网(www.jss.com.cn)查询发票详情");
- map_order.put("payee", "络克");
- map_order.put("checker", "朱燕");
- map_order.put("invoiceCode", "11");
- map_order.put("invoiceNum", "11");
- map_order.put("pushMode", "1");
- map_order.put("email", "122@qq.com");
- map_order.put("listFlag", "0");
- map_order.put("listName", "1111");
- map_order.put("buyerTel", "0571-88888888");
- map_order.put("proxyInvoiceFlag", "0");
- map_order.put("departmentId", "23456790");
- map_order.put("clerkId", "");
- map_invoiceDetails.put("goodsName", "1");
- map_invoiceDetails.put("num", "1");
- map_invoiceDetails.put("withTaxFlag", "1");
- map_invoiceDetails.put("price", "46.79");
- map_invoiceDetails.put("taxRate", "0.16");
- map_invoiceDetails.put("specType", "1");
- map_invoiceDetails.put("unit", "1");
- map_invoiceDetails.put("goodsCode", "1090511030000000000");
- map_invoiceDetails.put("selfCode", null);
- map_invoiceDetails.put("invoiceLineProperty", "0");
- map_invoiceDetails.put("favouredPolicyFlag", "0");
- map_invoiceDetails.put("favouredPolicyName", null);
- map_invoiceDetails.put("zeroRateFlag", null);
- map_invoiceDetails.put("deduction", null);
- map_invoiceDetails.put("tax", "6.45");
- map_invoiceDetails.put("taxIncludedAmount", "46.79");
- map_invoiceDetails.put("taxExcludedAmount", "40.34");
- list_invoiceDetail.add(map_invoiceDetails);
- map_order.put("invoiceDetail", list_invoiceDetail);
- map_order.put("invoiceLine", "p");
- map_order.put("productOilFlag", "0");
- map_s.put("order", map_order);
- list.add(map_s);
- pvData.setServicedata(list);
- RequestMode requestMode = getRequestMode(pdData,pvData);
- OpenApiV1 sdk = new OpenApiV1();
- try {
- String result = sdk.handle(StateData.url,headers, requestMode);
- } catch (OpensnsException e) {
- e.printStackTrace();
- }
- }
- public static void setHeader(){
- StateData.app_secret = "SD950B2179EB4A77"; // 填写本APP申请的 appSecret,注意区分正式环境与沙箱环境参数,如: 9B4CA8CEA5EE4823
- StateData.app_key = "SDnyMiOMQZ"; // 填写本APP申请的 appKey,注意区分正式环境与沙箱环境参数,如:fk5dWkPA
- StateData.app_api = "nuonuo.electronInvoice.requestBilling"; // 填写APP调用接口名称,如:nuonuo.speedBilling.billingByCode --开票:nuonuo.electronInvoice.requestBilling
- StateData.app_apiVersion = "V1.0.0"; // 填写本APP调用接口版本,如:1.0.0
- StateData.app_accessToken = "fdd052d08bbad090aeff770febrcasfs"; // 填写本APP申请的 令牌 ,注意区分正式环境与沙箱环境参数,如://{"access_token":"fdd052d08bbad090aeff770kgia1mkms","expires_in":86400}
- StateData.app_dataType = "JSON"; // 填写本APP传输数据格式,如:JSON,XML
- StateData.app_compressType = ""; // 填写本APP传输数据压缩格式,如:GZIP
- StateData.app_signType = "AES"; // 填写本APP传输数据加密格式,如:AES/AES
- StateData.user_Tax = ""; // 业务发生方税号(ISV类型用户必填);如:339901999999142 授权商户的税号(商家应用非必填,服务商应用必填)
- StateData.url = "https://sandbox.jss.com.cn/openPlatform/services";
- StateData.grant_type_token = "authorization_code";
- Oauth2AccessToken.client_id = "SDnyMiOMQZ"; //创建应用后,分配给应用的appKey
- Oauth2AccessToken.client_secret = "SD950B2179EB4A77"; //创建应用后,分配给应用的appSecret
- Oauth2AccessToken.token_grant_type = StateData.grant_type_token; //授权类型,在本步骤中,此值为“authorization_code”
- }
- // 定义请求头数据
- private static Map<String, String> getHeaders() {
- Map<String, String> headers = new HashMap<String, String>();
- headers.put("appKey", StateData.app_key); // 用户申请的appkey
- headers.put("accessToken", StateData.app_accessToken); // 用户Oauth登录后得到的令牌accessToken
- headers.put("compress", StateData.app_compressType);// 压缩方式:提供GZIP 置空“”不压缩
- headers.put("signMethod", StateData.app_signType); // 加密方式:提供AES/AES,不可为空
- headers.put("dataType", StateData.app_dataType); // 数据请求格式: JSON/XML
- headers.put("appRate", StateData.app_rate); // app并发请求数 ,平台默认10如需升级请联系开放平台
- headers.put("userTax", StateData.user_Tax); // ISV下商家需要填写当前商户税号,普通商家模式用户可以不填写此值
- headers.put("Content-Type", StateData.contentType); // http发送模式
- return headers;
- }
- // 定义请求体中的公共数据
- private static PublicData getPublicData() {
- PublicData pdData = new PublicData();
- pdData.setVersion(StateData.app_apiVersion); // API版本
- pdData.setTimestamp(String.valueOf(System.currentTimeMillis()));
- pdData.setMethod(StateData.app_api);// API名称
- return pdData;
- }
- private static RequestMode getRequestMode(PublicData pdata, PrivateData<Object> pvData) {
- RequestMode requestMode = new RequestMode();
- requestMode.setPrivate(pvData);
- requestMode.setPublic(pdata);
- return requestMode;
- }
- }
|