Sfoglia il codice sorgente

【英唐电子发票】

DINGYL 2 anni fa
parent
commit
9984bd64da

BIN
lib/commons-codec-1.12.jar


BIN
lib/commons-logging-1.2.jar


BIN
lib/httpclient-4.5.5.jar


BIN
lib/httpcore-4.4.9.jar


BIN
lib/open-sdk-1.0.5.2.jar


+ 12 - 0
pom.xml

@@ -174,6 +174,18 @@
 			<artifactId>guava</artifactId>
 			<version>18.0</version>
 		</dependency>
+
+		<dependency>
+			<groupId>com.nuonuo</groupId>
+			<artifactId>open-sdk</artifactId>
+			<version>1.0.5.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter</artifactId>
+			<version>RELEASE</version>
+			<scope>compile</scope>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 1 - 1
src/main/java/com/uas/eis/UasEisApplication.java

@@ -11,7 +11,7 @@ import com.uas.eis.core.support.TokenPropertiesListener;
 
 @SpringBootApplication
 @EnableCaching
-@EnableScheduling
+/*@EnableScheduling*/
 /*@Import({DynamicDataSourceRegister.class})*/
 public class UasEisApplication {
 	public static void main(String[] args) {

+ 1 - 1
src/main/java/com/uas/eis/task/PnsDataSyncTask.java

@@ -40,7 +40,7 @@ public class PnsDataSyncTask {
      * 第二商品营业部 733
      * */
 
-    @Scheduled(cron = "0 0/5 * * * ?")
+    //@Scheduled(cron = "0 0/5 * * * ?")
     public void UploadSaleData(){
         logger.info("Sale Upload Start---");
         List<PNSSendData> saleUploads = getSaleDataUpload();

+ 38 - 0
src/main/java/nuonuo/open/sdk/demo/OpenApi.java

@@ -0,0 +1,38 @@
+package nuonuo.open.sdk.demo;
+
+import java.util.UUID;
+
+import nuonuo.open.sdk.NNOpenSDK;
+
+/**
+ * 请求Api
+ * 
+ *【这是一个Eclipse工程, JDK支持1.7+】
+ */
+public class OpenApi {
+    
+    /**
+     * 请求开放平台api
+     * 
+     * 请求地址, 详见 https://open.nuonuo.com/#/dev-doc/sdk-usage
+     */
+    public void requestApi() {
+    	// 参数配置
+    	String taxnum = "23***789";//授权企业税号, 商户填""
+    	String appKey = "填写应用的appKey";
+    	String appSecret = "填写应用的appSecret";
+    	String method = "填写API方法名";
+    	String token = "填写访问令牌,可通过OpenToken.java获取";
+    	String content = "填写API私有请求参数, 标准JSON格式";
+    	String url = "https://sdk.nuonuo.com/open/v1/services";// 票据识别请使用https://sdk.nuonuo.com/open/v2/ocr
+    	String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,由企业自己生成32位随机码
+    	
+    	// 接口调用
+    	NNOpenSDK sdk = NNOpenSDK.getIntance();
+        String json = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
+        
+        // 响应报文解析
+        System.out.println("\n\n\n【API请求】");
+    	System.out.println(json);
+    }
+}

+ 72 - 0
src/main/java/nuonuo/open/sdk/demo/OpenToken.java

@@ -0,0 +1,72 @@
+package nuonuo.open.sdk.demo;
+
+import nuonuo.open.sdk.NNOpenSDK;
+
+/**
+ * 获取Token
+ * 
+ * 【这是一个Eclipse工程, JDK支持1.7+】
+ */
+public class OpenToken {
+   
+    /**
+     * 商户获取授权码
+     * 
+     * 辅助页面 https://open.nuonuo.com/#/dev-doc/auth-business
+     */
+    public void getMerchantToken() {
+    	// 参数配置
+    	String appKey = "SD47646161";
+    	String appSecret = "SD681C05C3EA4408";
+    	// 接口调用
+    	NNOpenSDK sdk = NNOpenSDK.getIntance();
+    	String json = sdk.getMerchantToken(appKey, appSecret);
+    	
+    	// 响应报文解析
+    	System.out.println("\n\n\n【商户获取Token】");
+    	System.out.println(json);
+    }
+    
+    
+    /**
+     * ISV获取授权码
+     * 
+     * 辅助页面 https://open.nuonuo.com/#/dev-doc/auth-service
+     */
+    public void getISVToken() {
+    	// 参数配置
+    	String appKey = "填写应用的appKey";
+    	String appSecret = "填写应用的appSecret";
+    	String code = "临时授权码,请求authorize时返回的code";
+    	String taxnum = "授权企业的税号,获取临时授权码返回的taxnum";
+    	String redirect_uri = "回调地址,必传且不能为空";
+    	
+    	// 接口调用
+    	NNOpenSDK sdk = NNOpenSDK.getIntance();
+    	String json = sdk.getISVToken(appKey, appSecret, code, taxnum, redirect_uri);
+        
+    	// 响应报文解析
+    	System.out.println("\n\n\n【ISV获取Token】");
+    	System.out.println(json);
+    }
+    
+    /**
+     * ISV刷新授权码
+     * 
+     * 辅助页面 https://open.nuonuo.com/#/dev-doc/auth-service
+     */
+    public void refreshISVToken() {
+    	// 参数配置
+    	String refreshToken = "刷新令牌,由接口getISVToken返回";
+    	String userId = "获取access_token时授权商户的userId";
+    	String appSecret = "填写应用的appSecret";
+    	
+    	// 接口调用
+    	NNOpenSDK sdk = NNOpenSDK.getIntance();
+    	String json = sdk.refreshISVToken(refreshToken, userId, appSecret);
+        
+    	// 响应报文解析
+    	System.out.println("\n\n\n【ISV刷新Token】");
+    	System.out.println(json);
+    }
+}

+ 36 - 0
src/main/resources/application-dev.yml

@@ -0,0 +1,36 @@
+spring:
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driverClassName: oracle.jdbc.OracleDriver
+        username: N_HUASL_SZ
+        password: select!#%*(
+        url: jdbc:oracle:thin:@10.1.81.208:11756:orcl
+        initialSize: 1
+        maxActive: 3
+        maxWait: 30000
+        testOnBorrow: false
+        testOnReturn: false
+        testWhileIdle: true
+        validationQuery: SELECT 1 FROM DUAL
+        timeBetweenEvictionRunsMillis: 60000
+        removeAbandoned: true
+        removeAbandonedTimeout: 1800
+        minEvictableIdleTimeMillis: 300000
+        poolPreparedStatements: true
+        maxPoolPreparedStatementPerConnectionSize: 3
+server:
+    tomcat:
+        uri_encoding: UTF-8
+    context-path:
+        /EIS
+    port: 8183
+
+action:
+    api_action: /EIS/api,/EIS/mes,/EIS/erp
+    public_actions: /EIS/logout,/EIS/hello1
+
+extral:
+    panasonic:
+        route: https://sandbox.nuonuocs.cn/open/v1/services
+        appKey : SDG6bvh0ke
+        appSecret : SD7C288389DB4AF1

+ 5 - 5
src/main/resources/application-prod.yml

@@ -2,9 +2,9 @@ spring:
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: oracle.jdbc.OracleDriver
-        username: HSL_PSI
+        username: YITOA_DATACENTER
         password: select!#%*(
-        url: jdbc:oracle:thin:@10.10.10.103:1521:orcl
+        url: jdbc:oracle:thin:@10.1.81.208:11756:orcl
         initialSize: 1
         maxActive: 3
         maxWait: 30000
@@ -31,6 +31,6 @@ action:
 
 extral:
     panasonic:
-        route: https://esb-prod.panasonic.cn/esb/open/api/ISP_customerEDI/route
-        if_key: 230522Sn33WtIQhgViiGGyBOwv4FOB
-        cust_id: 80946488
+        route: https://sdk.nuonuo.com/open/v1/services
+        APPKey: SDG6bvh0ke
+        Appsecret: SD7C288389DB4AF1

+ 1 - 1
src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
     profiles:
-        active: prod
+        active: dev
     http:
         encoding:
             force: true

+ 36 - 8
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -1,27 +1,55 @@
 package com.uas.eis;
 
 import com.uas.eis.beans.result.CrmQueryResult;
+import com.uas.eis.dao.BaseDao;
 import com.uas.eis.listener.UasProdInOutListener;
 import com.uas.eis.task.PnsDataSyncTask;
+import nuonuo.open.sdk.NNOpenSDK;
+import nuonuo.open.sdk.demo.OpenToken;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.UUID;
+
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = {UasEisApplication.class})
 public class UasEisApplicationTests {
 	@Autowired
-	private PnsDataSyncTask pnsDataSyncTask;
-   /***
-	* test 230517Vxy3rDjP5VgcNoyoknUnrHTw http://47.100.162.77:10001/esb/open/api/ISP_customerEDI/route
-	* prod 230522Sn33WtIQhgViiGGyBOwv4FOB http://106.14.251.235:10001/esb/open/api/ISP_customerEDI/route
-	* */
-
+	private BaseDao baseDao;
 	@Test
 	public void Test() {
-		pnsDataSyncTask.UploadSaleData();
-
+		System.out.println("test");
+		System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
+		Object ob=baseDao.getFieldDataByCondition("enterprise","EN_WHICHSYSTEM","1=1");
+		//账套 id
+		System.out.println(ob.toString());
+		NNOpenSDK sdk = NNOpenSDK.getIntance();
+		String taxnum = "339901999999142"; // 授权企业税号
+		String appKey = "SD47646161";
+		String appSecret = "SD681C05C3EA4408";
+		String method = "nuonuo.ElectronInvoice.getPDF"; // API方法名
+		String token = "3792fb46bc927024c7f6a50btcogafcs"; // 访问令牌
+		String content = "{\"inTaxAmount\": \"1288.80\",\"exTaxAmount\": \"687.99\",\"invoiceNo\": \"12345678\",\"invoiceCode\": \"123456789012\"}";
+		String url = "https://sandbox.nuonuocs.cn/open/v1/services"; // SDK请求地址
+		String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
+		String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
+		System.out.println(result);
 	}
+	@Test
+	public void Test1() {
+		String appKey = "SD47646161";
+		String appSecret = "SD681C05C3EA4408";
+		// 接口调用
+		NNOpenSDK sdk = NNOpenSDK.getIntance();
+		String json = sdk.getMerchantToken(appKey, appSecret);
 
+		// 响应报文解析
+		System.out.println("\n\n\n【商户获取Token】");
+		System.out.println(json);
+	}
 }