diff --git a/code/cpicxim-XMNHSA-repeater/pom.xml b/code/cpicxim-XMNHSA-repeater/pom.xml
index d336526..cc4b111 100644
--- a/code/cpicxim-XMNHSA-repeater/pom.xml
+++ b/code/cpicxim-XMNHSA-repeater/pom.xml
@@ -118,10 +118,23 @@
9.2.0
+
+ org.bouncycastle
+ bcprov-jdk18on
+ 1.80
+
+
+
+
+ commons-logging
+ commons-logging
+ 1.3.5
+
+
- compile
+ compile
diff --git a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/config/HuixiabaoConfig.java b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/config/HuixiabaoConfig.java
index 3b9e866..d38d9b3 100644
--- a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/config/HuixiabaoConfig.java
+++ b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/config/HuixiabaoConfig.java
@@ -12,27 +12,40 @@ package com.cpic.xim.huixiabao.data.config;
public class HuixiabaoConfig
{
-
- public String getAppid()
+ public static String getAppid()
{
return appid;
}
- public String getAppSecret()
+
+ public static String getAppSecret()
{
return appSecret;
}
- public String getSignKey()
+
+ public static String getSignKey()
{
return signKey;
}
- public String getEncKey()
+
+ public static String getEncKey()
{
return encKey;
}
- private String url = "https://172.18.1.150:9040";
- private String appid = "hxb-tb";
- private String appSecret = "60F468FB46170DD4CF6CBECE215DBFC0";
- private String signKey = "1A2F447BD0F930798D8031B137EC6E25";
- private String encKey = "08307695B1668EB9FD6210250FED874F";
+ public static int getMAX_COUNT_PER_REQUEST()
+ {
+ return MAX_COUNT_PER_REQUEST;
+ }
+
+ public static String getUrl()
+ {
+ return url;
+ }
+
+ private static final int MAX_COUNT_PER_REQUEST = 500;
+ private static final String url = "https://172.18.1.150:9040";
+ private static final String appid = "hxb-tb";
+ private static final String appSecret = "60F468FB46170DD4CF6CBECE215DBFC0";
+ private static final String signKey = "1A2F447BD0F930798D8031B137EC6E25";
+ private static final String encKey = "08307695B1668EB9FD6210250FED874F";
}
diff --git a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbListItem.java b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfo.java
similarity index 95%
rename from code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbListItem.java
rename to code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfo.java
index 6709ddb..ea7c943 100644
--- a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbListItem.java
+++ b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfo.java
@@ -3,7 +3,7 @@
* @Date: 2025-03-06 14:33:27
* @LastEditors: Kane
* @FilePath: /Cpicxim-XMNHSA-Repeater/src/main/java/com/cpicxim/huixiabao/data/pojo/HmbListItem.java
- * @Description:
+ * @Description: 小药箱接口参数描述
*
* Copyright (c) ${2023} by Kane, All Rights Reserved.
*/
@@ -15,7 +15,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude( JsonInclude.Include.NON_EMPTY )
@JsonPropertyOrder( alphabetic = true )
-public class HmbListItem
+public class HmbXyxInfo
{
public String getPsnName()
diff --git a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfoRequest.java b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfoRequest.java
index 29a3e23..7f09dab 100644
--- a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfoRequest.java
+++ b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfoRequest.java
@@ -2,7 +2,7 @@
* @Author: Kane
* @Date: 2025-03-06 14:27:05
* @LastEditors: Kane
- * @FilePath: /Cpicxim-XMNHSA-Repeater/src/main/java/com/cpicxim/huixiabao/data/pojo/HmbXyxInfoRequest.java
+ * @FilePath: /cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/data/pojo/HmbXyxInfoRequest.java
* @Description:
*
* Copyright (c) ${2023} by Kane, All Rights Reserved.
@@ -24,7 +24,7 @@ public class HmbXyxInfoRequest
this.hmbList = new Vector<>();
}
- public HmbXyxInfoRequest( String topic, Vector hmbList )
+ public HmbXyxInfoRequest( String topic, Vector hmbList )
{
this.topic = topic;
this.topic = "hmbXyxInfo";
@@ -41,12 +41,12 @@ public class HmbXyxInfoRequest
this.topic = topic;
}
- public Vector getHmbList()
+ public Vector getHmbList()
{
return hmbList;
}
- public void setHmbList( Vector hmbList )
+ public void setHmbList( Vector hmbList )
{
this.hmbList = hmbList;
}
@@ -55,5 +55,5 @@ public class HmbXyxInfoRequest
private String topic; // 业务类型
@JsonProperty("hmbList")
- private Vector hmbList;
+ private Vector hmbList;
}
\ No newline at end of file
diff --git a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/nhs/CpicximToXMNHS.java b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/nhs/CpicximToXMNHS.java
index c476153..cbaa031 100644
--- a/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/nhs/CpicximToXMNHS.java
+++ b/code/cpicxim-XMNHSA-repeater/src/main/java/com/cpic/xim/huixiabao/nhs/CpicximToXMNHS.java
@@ -13,16 +13,67 @@ import java.util.Vector;
import com.cpic.xim.huixiabao.data.pojo.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import cn.hsa.zephyr.apisdk.DefaultZephyrClient;
+import cn.hsa.zephyr.apisdk.internal.exception.ZephyrApiException;
+import cn.hsa.zephyr.apisdk.internal.util.encrypt.EncryptionModeEnum;
+import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum;
+import cn.hsa.zephyr.apisdk.request.DefaultZephyrRequest;
+import cn.hsa.zephyr.apisdk.response.DefaultZephyrResponse;
+import com.cpic.xim.huixiabao.data.config.HuixiabaoConfig;
public class CpicximToXMNHS
{
private static Logger logger = LoggerFactory.getLogger( CpicximToXMNHS.class );
- public Vector getNeverTransHmbList()
+ /**
+ * 从数据库中获取未发送过的小药箱数据。
+ * @return
+ */
+ public Vector getNeverTransHmbList()
{
- Vector items = new Vector();
+ Vector items = new Vector();
return items;
}
-}
\ No newline at end of file
+
+ public void postHmbList( Vector items )
+ {
+ String url = HuixiabaoConfig.getUrl();
+ String appId = HuixiabaoConfig.getAppid();
+ String appSecret = HuixiabaoConfig.getAppSecret();
+ String funId = "xxx";
+ String encKey = HuixiabaoConfig.getEncKey();
+ String signKey = HuixiabaoConfig.getSignKey();
+
+ SignTypeEnum signType = SignTypeEnum.SM3;
+ EncryptionModeEnum encType = EncryptionModeEnum.SM4;
+
+ // 发送用工具对象
+ DefaultZephyrClient client = new DefaultZephyrClient( url, funId, appId, appSecret,
+ signType, signKey, encType, encKey );
+ DefaultZephyrRequest req = new DefaultZephyrRequest();
+ DefaultZephyrResponse resp = null;
+
+ // 数据
+ JSONObject requestObject = new JSONObject();
+ JSONObject xyxInfo = new JSONObject();
+ JSONArray xyxInfoList = new JSONArray();
+
+ requestObject.put( "topic", "hmbXyxInfo" );
+ requestObject.put( "hmbList", xyxInfoList );
+
+ int count = 0; // 计数,每个请求不能超过500条
+
+ for ( HmbXyxInfo info : items )
+ {
+ if ( count >= HuixiabaoConfig.getMAX_COUNT_PER_REQUEST() - 1 )
+ {
+ // 达到上限,将当前数据送出
+
+ }
+ }
+ }
+}
diff --git a/code/cpicxim-XMNHSA-repeater/src/test/java/com/cpic/xim/huixiabao/AppTest.java b/code/cpicxim-XMNHSA-repeater/src/test/java/com/cpic/xim/huixiabao/AppTest.java
index 7fb50fb..cbf3f8b 100644
--- a/code/cpicxim-XMNHSA-repeater/src/test/java/com/cpic/xim/huixiabao/AppTest.java
+++ b/code/cpicxim-XMNHSA-repeater/src/test/java/com/cpic/xim/huixiabao/AppTest.java
@@ -14,6 +14,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import cn.hsa.zephyr.apisdk.DefaultZephyrClient;
import cn.hsa.zephyr.apisdk.internal.exception.ZephyrApiException;
@@ -48,9 +49,10 @@ public class AppTest
}
}
+ @Test
public void nhsTest()
{
- String url = "";
+ String url = "172.18.1.150:9040";
String appId = "待定";
String appSecret = "待定";
String funId = "xxx";
@@ -59,7 +61,7 @@ public class AppTest
SignTypeEnum signType = SignTypeEnum.SM3;
EncryptionModeEnum encType = EncryptionModeEnum.SM4;
-
+
try
{
DefaultZephyrClient client = new DefaultZephyrClient( url, funId, appId, appSecret,
@@ -73,7 +75,7 @@ public class AppTest
req.setData( jsonObject1 );
resp = client.execute( req );
-
+
System.out.println( resp.getData() );
}
catch ( ZephyrApiException e )
@@ -81,4 +83,27 @@ public class AppTest
e.printStackTrace();
}
}
+
+ @Test
+ public void jsonTest()
+ {
+ JSONObject requestObject = new JSONObject();
+ JSONObject item = new JSONObject();
+ JSONArray hmbList = new JSONArray();
+
+ requestObject.put( "topic", "hmbXyxInfo" );
+ requestObject.put("hmbList", hmbList );
+
+ item.put( "psnName", "王炜" );
+ item.put( "cerno", "350402198106130016" );
+ item.put( "serviceId", "100007" );
+ item.put( "status", "1" );
+ item.put( "xyxNo", "1234567" );
+
+ hmbList.add( item );
+
+ String json = requestObject.toJSONString();
+
+ System.out.println( json );
+ }
}