6 Commits

Author SHA1 Message Date
dddf8520a1 保存进度! 2025-03-14 12:57:16 +08:00
2fe8043791 保存进度! 2025-03-14 11:37:33 +08:00
5d117f7b51 保存进度 2025-03-13 22:42:26 +08:00
bec378be36 保存进度 2025-03-13 22:15:51 +08:00
66d55f9e87 Merge branch 'feature-NHSA-repeater' of http://222.76.244.118:3000/CPICXIM/cpicxim-huixiabao into feature-NHSA-repeater 2025-03-13 22:02:03 +08:00
d12a7b14e4 1111 2025-03-13 22:01:52 +08:00
7 changed files with 107 additions and 65 deletions

View File

@@ -14,9 +14,9 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compile.source>18</maven.compile.source> <maven.compile.source>1.8</maven.compile.source>
<maven.compile.target>18</maven.compile.target> <maven.compile.target>1.8</maven.compile.target>
<maven.compiler.release>18</maven.compiler.release> <!-- <maven.compiler.release>1.8</maven.compiler.release> -->
</properties> </properties>
<dependencyManagement> <dependencyManagement>
@@ -45,23 +45,23 @@
</dependency> </dependency>
<!--jackson--> <!--jackson-->
<dependency> <!-- <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.14.2</version> <version>2.14.2</version>
</dependency> </dependency> -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency> <!-- <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
<version>2.13.4</version> <version>2.13.4</version>
</dependency> </dependency> -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency> <!-- <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.13.4</version> <version>2.13.4</version>
</dependency> </dependency> -->
<!-- log-4j --> <!-- log-4j -->
<dependency> <dependency>
@@ -81,7 +81,7 @@
</dependency> </dependency>
<!-- POI --> <!-- POI -->
<dependency> <!-- <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId> <artifactId>poi</artifactId>
<version>5.2.3</version> <version>5.2.3</version>
@@ -90,28 +90,21 @@
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId> <artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <version>5.2.3</version>
</dependency> </dependency> -->
<!-- mybatis --> <!-- mybatis -->
<dependency> <!-- <dependency>
<groupId>org.mybatis</groupId> <groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId> <artifactId>mybatis</artifactId>
<version>3.5.19</version> <version>3.5.19</version>
</dependency> </dependency> -->
<dependency> <dependency>
<groupId> cn.hsa.zephyr</groupId> <groupId> cn.hsa.zephyr</groupId>
<artifactId>zephyr-api-sdk</artifactId> <artifactId>zephyr-api-sdk</artifactId>
<version>2.0.1</version> <version>2.0.1</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/zephyr-api-sdk.jar</systemPath> <systemPath>${project.basedir}/lib/zephyr-api-sdk-cx.jar</systemPath>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<!-- <version>1.2.83</version> -->
<version>2.0.56</version>
</dependency> </dependency>
<dependency> <dependency>
@@ -125,12 +118,16 @@
<artifactId>bcprov-jdk18on</artifactId> <artifactId>bcprov-jdk18on</artifactId>
<version>1.80</version> <version>1.80</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency> <dependency>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
<version>1.3.5</version> <version>1.3.5</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
<!-- <version>2.0.56</version> -->
</dependency> </dependency>
</dependencies> </dependencies>
@@ -149,6 +146,9 @@
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version> <version>3.14.0</version>
<configuration> <configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments> <compilerArguments>
<extdirs>${project.basedir}/lib</extdirs> <extdirs>${project.basedir}/lib</extdirs>
</compilerArguments> </compilerArguments>
@@ -181,7 +181,7 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<version>3.4.3</version> <version>2.6.0</version>
<configuration> <configuration>
<mainClass>com.cpic.xim.huixiabao.AppMain</mainClass> <mainClass>com.cpic.xim.huixiabao.AppMain</mainClass>
<includeSystemScope>true</includeSystemScope> <includeSystemScope>true</includeSystemScope>

View File

@@ -13,12 +13,12 @@
*/ */
package com.cpic.xim.huixiabao.data.pojo; package com.cpic.xim.huixiabao.data.pojo;
import com.fasterxml.jackson.annotation.JsonInclude; // import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; // import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; // import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude( JsonInclude.Include.NON_EMPTY ) //@JsonInclude( JsonInclude.Include.NON_EMPTY )
@JsonPropertyOrder( alphabetic = true ) //@JsonPropertyOrder( alphabetic = true )
public class HmbXyxInfo public class HmbXyxInfo
{ {
@@ -91,19 +91,19 @@ public class HmbXyxInfo
return "HmbXyxInfo [psnName=" + psnName + ", certNo=" + certNo + ", serviceId=" + serviceId + ", status=" + status + ", xyxNo=" + xyxNo + "]"; return "HmbXyxInfo [psnName=" + psnName + ", certNo=" + certNo + ", serviceId=" + serviceId + ", status=" + status + ", xyxNo=" + xyxNo + "]";
} }
@JsonProperty( "psnName" ) //@JsonProperty( "psnName" )
private String psnName; private String psnName;
@JsonProperty( "certno" ) //@JsonProperty( "certno" )
private String certNo; private String certNo;
@JsonProperty( "serviceId" ) //@JsonProperty( "serviceId" )
private String serviceId; private String serviceId;
@JsonProperty( "status" ) //@JsonProperty( "status" )
private String status; private String status;
@JsonProperty( "xyxNo" ) //@JsonProperty( "xyxNo" )
private String xyxNo; private String xyxNo;
} }

View File

@@ -10,12 +10,12 @@
package com.cpic.xim.huixiabao.data.pojo; package com.cpic.xim.huixiabao.data.pojo;
import java.util.Vector; import java.util.Vector;
import com.fasterxml.jackson.annotation.JsonInclude; // import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; // import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; // import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude( JsonInclude.Include.NON_EMPTY ) // @JsonInclude( JsonInclude.Include.NON_EMPTY )
@JsonPropertyOrder( alphabetic = true ) // @JsonPropertyOrder( alphabetic = true )
public class HmbXyxInfoRequest public class HmbXyxInfoRequest
{ {
public HmbXyxInfoRequest() public HmbXyxInfoRequest()
@@ -51,9 +51,9 @@ public class HmbXyxInfoRequest
this.hmbList = hmbList; this.hmbList = hmbList;
} }
@JsonProperty("topic") //@JsonProperty("topic")
private String topic; // 业务类型 private String topic; // 业务类型
@JsonProperty("hmbList") //@JsonProperty("hmbList")
private Vector<HmbXyxInfo> hmbList; private Vector<HmbXyxInfo> hmbList;
} }

View File

@@ -9,8 +9,6 @@
*/ */
package com.cpic.xim.huixiabao.data.pojo; package com.cpic.xim.huixiabao.data.pojo;
import com.fasterxml.jackson.annotation.JsonProperty;
public class NHACommenRequestBody public class NHACommenRequestBody
{ {

View File

@@ -24,14 +24,18 @@ import java.util.Vector;
import com.cpic.xim.huixiabao.data.pojo.*; import com.cpic.xim.huixiabao.data.pojo.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import cn.hsa.zephyr.apisdk.DefaultZephyrClient; import cn.hsa.zephyr.apisdk.DefaultZephyrClient;
import cn.hsa.zephyr.apisdk.internal.exception.ZephyrApiException; 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.EncryptionModeEnum;
import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum; import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum;
import cn.hsa.zephyr.apisdk.request.DefaultZephyrRequest; import cn.hsa.zephyr.apisdk.request.ZephyrCommonRequest;
import cn.hsa.zephyr.apisdk.response.DefaultZephyrResponse; import cn.hsa.zephyr.apisdk.response.ZephyrCommonResponse;
import cn.hsa.zephyr.apisdk.ZephyrRequest;
import cn.hsa.zephyr.apisdk.ZephyrResponse;
import com.cpic.xim.huixiabao.data.config.HuixiabaoConfig; import com.cpic.xim.huixiabao.data.config.HuixiabaoConfig;
@SuppressWarnings( @SuppressWarnings(
@@ -47,7 +51,7 @@ public class CpicximToXMNHS
private static String password = "Kane@1981"; private static String password = "Kane@1981";
/** /**
* 从数据库中获取未发送过的小药箱数据。 * 从HmbXyxInfo_Update中获取未发送过的小药箱数据。
* *
* @return * @return
*/ */
@@ -68,11 +72,16 @@ public class CpicximToXMNHS
String url = CpicximToXMNHS.url; String url = CpicximToXMNHS.url;
String userName = CpicximToXMNHS.userName; String userName = CpicximToXMNHS.userName;
String password = CpicximToXMNHS.password; String password = CpicximToXMNHS.password;
String sql = """ // String sql = """
select info.psnName, info.certNo, info.serviceId, info.status, info.xyxNo // select info.psnName, info.certNo, info.serviceId, info.status, info.xyxNo
from HmbXyxInfo info, // from HmbXyxInfo info,
HmbXyxInfo_Update u // HmbXyxInfo_Update u
where info.xyxNo = u.xyxNo """; // where info.xyxNo = u.xyxNo """;
String sql = "select info.psnName, info.certNo, info.serviceId, info.status, info.xyxNo \n" +
" from HmbXyxInfo info, \n" +
" HmbXyxInfo_Update u \n" +
" where info.xyxNo = u.xyxNo";
connection = DriverManager.getConnection( url, userName, password ); connection = DriverManager.getConnection( url, userName, password );
statement = connection.createStatement(); statement = connection.createStatement();
@@ -139,6 +148,11 @@ public class CpicximToXMNHS
return items; return items;
} }
/**
* 将 postedItems 中的小药箱数据冲HmbXyxInfo_update中清除。
*
* @param postedItems 已发送的小药箱数据
*/
public static void removePostedHmbXyxInfo( Vector<HmbXyxInfo> postedItems ) public static void removePostedHmbXyxInfo( Vector<HmbXyxInfo> postedItems )
{ {
Vector<HmbXyxInfo> items = new Vector<HmbXyxInfo>(); Vector<HmbXyxInfo> items = new Vector<HmbXyxInfo>();
@@ -155,8 +169,7 @@ public class CpicximToXMNHS
String url = CpicximToXMNHS.url; String url = CpicximToXMNHS.url;
String userName = CpicximToXMNHS.userName; String userName = CpicximToXMNHS.userName;
String password = CpicximToXMNHS.password; String password = CpicximToXMNHS.password;
String sql = """ String sql = "delete from HmbXyxInfo_Update where xyxNo = ?";
delete from HmbXyxInfo_Update where xyxNo = ?""";
connection = DriverManager.getConnection( url, userName, password ); connection = DriverManager.getConnection( url, userName, password );
statement = connection.prepareStatement( sql.trim() ); statement = connection.prepareStatement( sql.trim() );
@@ -245,10 +258,11 @@ public class CpicximToXMNHS
signKey, signKey,
encType, encType,
encKey ); encKey );
DefaultZephyrRequest req = new DefaultZephyrRequest(); ZephyrCommonRequest req = new ZephyrCommonRequest();
DefaultZephyrResponse resp = null; ZephyrCommonResponse resp = null;
// 数据 // 数据
JSONObject data = new JSONObject();
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
JSONObject xyxInfo = null; JSONObject xyxInfo = null;
JSONArray xyxInfoList = new JSONArray(); JSONArray xyxInfoList = new JSONArray();
@@ -285,18 +299,31 @@ public class CpicximToXMNHS
try try
{ {
req.setData( requestObject ); data.remove("data");
data.put( "data", requestObject );
logger.info( "发送请求内容:" + data.toJSONString() );
logger.info( "请求地址:" + HuixiabaoConfig.getUrl() );
req.setData( data );
resp = client.execute( req ); resp = client.execute( req );
logger.info( "发送成功,返回消息:" + resp.getData() ); if ( resp != null )
{
logger.info( "发送成功,返回消息:" + resp.getBody() );
// 将已发送的数据从update表中清理掉 // 将已发送的数据从HmbXyxInfo_update表中清理掉
removePostedHmbXyxInfo( postedInfo ); // removePostedHmbXyxInfo( postedInfo );
}
else
{
logger.info( "已发送请求但获取的DefaultZephyrResponse为null" );
}
} }
catch ( ZephyrApiException error ) catch ( ZephyrApiException error )
{ {
// 发送不成功,记录日志 // 发送不成功,记录日志
// 失败的数据就留在update表中,待以后重新发送 // 不从HmbXyxInfo_update中清理当前这批数据,待以后重新发送
logger.error( "发送异常:" + error.getMessage() ); logger.error( "发送异常:" + error.getMessage() );
} }
finally finally

View File

@@ -30,8 +30,9 @@ import cn.hsa.zephyr.apisdk.DefaultZephyrClient;
import cn.hsa.zephyr.apisdk.internal.exception.ZephyrApiException; 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.EncryptionModeEnum;
import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum; import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum;
import cn.hsa.zephyr.apisdk.request.DefaultZephyrRequest; import cn.hsa.zephyr.apisdk.request.ZephyrCommonRequest;
import cn.hsa.zephyr.apisdk.response.DefaultZephyrResponse; import cn.hsa.zephyr.apisdk.response.ZephyrCommonResponse;
/** /**
* Unit test for simple App. * Unit test for simple App.
@@ -87,9 +88,9 @@ public class AppTest
encType, encType,
encKey ); encKey );
DefaultZephyrRequest req = new DefaultZephyrRequest(); ZephyrCommonRequest req = new ZephyrCommonRequest();
JSONObject jsonObject1 = new JSONObject(); JSONObject jsonObject1 = new JSONObject();
DefaultZephyrResponse resp = null; ZephyrCommonResponse resp = null;
jsonObject1.put( "code", "XXXXXXXXXXXXXXXXXX" ); jsonObject1.put( "code", "XXXXXXXXXXXXXXXXXX" );
jsonObject1.put( "scene_code", "XXX" ); jsonObject1.put( "scene_code", "XXX" );
@@ -97,7 +98,7 @@ public class AppTest
req.setData( jsonObject1 ); req.setData( jsonObject1 );
resp = client.execute( req ); resp = client.execute( req );
System.out.println( resp.getData() ); System.out.println( resp.getBody() );
} }
catch ( ZephyrApiException e ) catch ( ZephyrApiException e )
{ {

16
code/sql/调试.sql Normal file
View File

@@ -0,0 +1,16 @@
/*
delete from HmbXyxInfo;
insert into HmbXyxInfo( psnName, certno, serviceid, status, xyxno)
values( '王炜', '350402198106130016', '100007', '1', '100001');
insert into HmbXyxInfo( psnName, certno, serviceid, status, xyxno)
values( '王炜', '350402198106130016', '100007', '1', '100002');
insert into HmbXyxInfo( psnName, certno, serviceid, status, xyxno)
values( '王炜', '350402198106130016', '100007', '1', '100003');
commit;
/*
select * from HmbXyxInfo_Update;
select a.*
from HmbXyxInfo a,
HmbXyxInfo_Update b
where a.xyxNo = b.xyxNo;