完成发送代码,开始编写查询和清理已发送数据的代码。
This commit is contained in:
parent
95047193eb
commit
f64cac1c21
@ -41,6 +41,8 @@ public class CpicximToXMNHS
|
|||||||
|
|
||||||
Vector<HmbXyxInfo> items = new Vector<HmbXyxInfo>();
|
Vector<HmbXyxInfo> items = new Vector<HmbXyxInfo>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,20 +72,56 @@ public class CpicximToXMNHS
|
|||||||
|
|
||||||
// 数据
|
// 数据
|
||||||
JSONObject requestObject = new JSONObject();
|
JSONObject requestObject = new JSONObject();
|
||||||
JSONObject xyxInfo = new JSONObject();
|
JSONObject xyxInfo = null;
|
||||||
JSONArray xyxInfoList = new JSONArray();
|
JSONArray xyxInfoList = new JSONArray();
|
||||||
|
|
||||||
requestObject.put( "topic", "hmbXyxInfo" );
|
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 )
|
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