完成发送代码,开始编写查询和清理已发送数据的代码。
This commit is contained in:
parent
95047193eb
commit
f64cac1c21
@ -41,6 +41,8 @@ public class CpicximToXMNHS
|
||||
|
||||
Vector<HmbXyxInfo> items = new Vector<HmbXyxInfo>();
|
||||
|
||||
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
@ -70,20 +72,56 @@ public class CpicximToXMNHS
|
||||
|
||||
// 数据
|
||||
JSONObject requestObject = new JSONObject();
|
||||
JSONObject xyxInfo = new JSONObject();
|
||||
JSONObject xyxInfo = null;
|
||||
JSONArray xyxInfoList = new JSONArray();
|
||||
|
||||
requestObject.put( "topic", "hmbXyxInfo" );
|
||||
requestObject.put( "hmbList", xyxInfoList );
|
||||
|
||||
int count = 0; // 计数,每个请求不能超过500条
|
||||
int request_count = 0; // 计数,每个请求不能超过500条
|
||||
int total_count = 0;
|
||||
|
||||
for ( HmbXyxInfo info : items )
|
||||
{
|
||||
if ( count >= HuixiabaoConfig.getMAX_COUNT_PER_REQUEST() - 1 )
|
||||
{
|
||||
// 达到上限,将当前数据送出
|
||||
xyxInfo = new JSONObject();
|
||||
|
||||
xyxInfo.put( "psnName", info.getPsnName() );
|
||||
xyxInfo.put( "cerno", info.getCertNo() );
|
||||
xyxInfo.put( "serviceId", info.getServiceId() );
|
||||
xyxInfo.put( "status", info.getStatus() );
|
||||
xyxInfo.put( "xyxNo", info.getXyxNo() );
|
||||
|
||||
xyxInfoList.add( xyxInfo );
|
||||
|
||||
request_count++;
|
||||
total_count++;
|
||||
|
||||
logger.info( "准备数据:" + xyxInfo.toJSONString() );
|
||||
|
||||
if ( request_count >= HuixiabaoConfig.getMAX_COUNT_PER_REQUEST() - 1 || total_count == items.size() )
|
||||
{
|
||||
// 达到上限,或者记录已经全部处理,将当前生成的数据送出
|
||||
requestObject.remove( "hmbList" );
|
||||
requestObject.put( "hmbList", xyxInfoList );
|
||||
|
||||
try
|
||||
{
|
||||
req.setData( requestObject );
|
||||
resp = client.execute( req );
|
||||
|
||||
logger.info( "发送成功,返回消息:" + resp.getData() );
|
||||
|
||||
// 将已发送的数据从update表中清理掉
|
||||
}
|
||||
catch ( ZephyrApiException error )
|
||||
{
|
||||
// 发送不成功,记录日志
|
||||
// 失败的数据就留在update表中,待以后重新发送
|
||||
logger.error( error.getMessage() );
|
||||
}
|
||||
|
||||
// 清理清单,重置计数
|
||||
xyxInfoList.clear();
|
||||
request_count = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
34
code/sql/HmbXyxInfo.sql
Normal file
34
code/sql/HmbXyxInfo.sql
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : mysql - 10.39.0.85
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 90200
|
||||
Source Host : 10.39.0.85:3306
|
||||
Source Schema : huixiabao
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 90200
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 12/03/2025 09:14:18
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for HmbXyxInfo
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `HmbXyxInfo`;
|
||||
CREATE TABLE `HmbXyxInfo` (
|
||||
`hmbListIndex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'hmbList的索引,由timestamp和hmbList的hash值组成。',
|
||||
`psnName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名',
|
||||
`certno` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '证件号',
|
||||
`serviceId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '服务id',
|
||||
`status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单状态',
|
||||
`xyxNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键id',
|
||||
PRIMARY KEY (`xyxNo`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'HmbXyxInfo的子表。\r\n保存hmbList集合的元素。' ROW_FORMAT = Dynamic;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
11
code/sql/触发器.txt
Normal file
11
code/sql/触发器.txt
Normal file
@ -0,0 +1,11 @@
|
||||
drop TRIGGER xyxinfo_update;
|
||||
CREATE TRIGGER xyxinfo_update BEFORE INSERT ON huixiabao.HmbXyxInfo FOR EACH ROW
|
||||
BEGIN
|
||||
delete from huixiabao.HmbXyxInfo_Update u where u.xyxNo = NEW.xyxNo;
|
||||
INSERT INTO huixiabao.HmbXyxInfo_Update ( xyxNo, update_time )
|
||||
VALUES
|
||||
(
|
||||
new.xyxNo,
|
||||
SYSDATE());
|
||||
|
||||
END
|
Loading…
x
Reference in New Issue
Block a user