Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
rec-fj
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
史连宁
rec-fj
Commits
74ec9571
提交
74ec9571
authored
11月 15, 2024
作者:
轩辕玉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
测试文件提交
上级
c0e5b6f7
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
143 行增加
和
0 行删除
+143
-0
test.xml
src/main/resources/xml/test.xml
+54
-0
test1.xml
src/main/resources/xml/test1.xml
+17
-0
XmlTest.java
src/test/java/com/reconciliation/recfj/test/XmlTest.java
+72
-0
没有找到文件。
src/main/resources/xml/test.xml
0 → 100644
浏览文件 @
74ec9571
<?xml version="1.0" encoding="UTF-8"?>
<table>
<!-- 1、一个row表示一条记录,允许有多个row;type="add"
表示该条记录为新增,type="update" 表示该条记录为更新,type="delete",表示该条记录为删除。
add、update、delete的数据按照实际情况推送,无须三个同时存在,比如:没有更新数据则不用推送
type="update"的数据; 如果无主键,则全部数据都是type="add"。该接口支持有配置主键,才能进行"更新"、"删除"的操作。
如果没有配置主键,row节点下必须传一模一样的数据才能删除。
2、推送的xml格式要按照该文档格式进行推送,包括row节点下的子节点个数、子节点名称。row节点下的子节点顺序可以不用按照规范推送。但是如果缺少节点,那么该节点对应的字段将会置为空
3、附件字段isattachment属性的值为true,表示该字段属于附件;否则为false;该字段为预留字段,目前暂无使用,推送附件数据请按照非结构化数据接入方式接入;
4、对接过程中,请把示例XML中的换行、注释、空格等删除
5、若字段有值域则需要按值域规范传数据,例:[1-6)表示取值需大于等于1且小于6,该类型只支持数据; {1,3,5,7}表示取值只能取1或3或5或7
6、非结构化数据接入:先将非结构化数据以文件形式上传至FTP,再将关联的基本信息以XML格式形式通过数据推送接口接入汇聚平台,其中,XML节点中非结构化数据字段内容替换成上传到FTP中包含后缀的文件名称,如:123.txt。
-->
<row
type=
"add"
>
<primary_key
name=
"主键标识"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【primary_key】说明:,请按照实际数据填写-->
</primary_key>
<idx_no
name=
"对账指标唯一编号"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【idx_no】说明:,请按照实际数据填写-->
</idx_no>
<idx_type
name=
"对账指标"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【idx_type】说明:,请按照实际数据填写-->
</idx_type>
<table_name
name=
"目录标识"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【table_name】说明:,请按照实际数据填写-->
</table_name>
<date_time
name=
"数据时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
<!--指标【date_time】说明:,请填写时间格式为:【Date通用】的数据-->
</date_time>
<data_area
name=
"数据区域"
isattachment=
"false"
>
<![CDATA[XXX]]>
<!--指标【data_area】说明:,请按照实际数据填写-->
</data_area>
<other_dim
name=
"其他维度"
isattachment=
"false"
>
<![CDATA[XXX]]>
<!--指标【other_dim】说明:,请按照实际数据填写-->
</other_dim>
<data_count
name=
"统计值"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【data_count】说明:,请按照实际数据填写-->
</data_count>
<exec_time
name=
"业务系统对账执行时间"
isattachment=
"false"
>
<![CDATA[XXX(必填)]]>
<!--指标【exec_time】说明:,请填写时间格式为:【yyyy-MM-dd HH:mm:ss】的数据-->
</exec_time>
<max_updatetime
name=
"最新业务更新时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
<!--指标【max_updatetime】说明:,请填写时间格式为:【yyyy-MM-dd HH:mm:ss】的数据-->
</max_updatetime>
<remark
name=
"备注"
isattachment=
"false"
>
<![CDATA[XXX]]>
<!--指标【remark】说明:,请按照实际数据填写-->
</remark>
</row>
<row
type=
"update"
>
<primary_key
name=
"主键标识"
isattachment=
"false"
>
<![CDATA[XXX]]>
</primary_key>
<idx_no
name=
"对账指标唯一编号"
isattachment=
"false"
>
<![CDATA[XXX]]>
</idx_no>
<idx_type
name=
"对账指标"
isattachment=
"false"
>
<![CDATA[XXX]]>
</idx_type>
<table_name
name=
"目录标识"
isattachment=
"false"
>
<![CDATA[XXX]]>
</table_name>
<date_time
name=
"数据时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</date_time>
<data_area
name=
"数据区域"
isattachment=
"false"
>
<![CDATA[XXX]]>
</data_area>
<other_dim
name=
"其他维度"
isattachment=
"false"
>
<![CDATA[XXX]]>
</other_dim>
<data_count
name=
"统计值"
isattachment=
"false"
>
<![CDATA[XXX]]>
</data_count>
<exec_time
name=
"业务系统对账执行时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</exec_time>
<max_updatetime
name=
"最新业务更新时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</max_updatetime>
<remark
name=
"备注"
isattachment=
"false"
>
<![CDATA[XXX]]>
</remark>
</row>
<row
type=
"delete"
>
<primary_key
name=
"主键标识"
isattachment=
"false"
>
<![CDATA[XXX]]>
</primary_key>
<idx_no
name=
"对账指标唯一编号"
isattachment=
"false"
>
<![CDATA[XXX]]>
</idx_no>
<idx_type
name=
"对账指标"
isattachment=
"false"
>
<![CDATA[XXX]]>
</idx_type>
<table_name
name=
"目录标识"
isattachment=
"false"
>
<![CDATA[XXX]]>
</table_name>
<date_time
name=
"数据时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</date_time>
<data_area
name=
"数据区域"
isattachment=
"false"
>
<![CDATA[XXX]]>
</data_area>
<other_dim
name=
"其他维度"
isattachment=
"false"
>
<![CDATA[XXX]]>
</other_dim>
<data_count
name=
"统计值"
isattachment=
"false"
>
<![CDATA[XXX]]>
</data_count>
<exec_time
name=
"业务系统对账执行时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</exec_time>
<max_updatetime
name=
"最新业务更新时间"
isattachment=
"false"
>
<![CDATA[XXX]]>
</max_updatetime>
<remark
name=
"备注"
isattachment=
"false"
>
<![CDATA[XXX]]>
</remark>
</row>
</table>
src/main/resources/xml/test1.xml
0 → 100644
浏览文件 @
74ec9571
<?xml version="1.0" encoding="UTF-8"?>
<table>
<row
type=
"add"
>
<primary_key
name=
"主键标识"
isattachment=
"false"
>
<![CDATA[20241662015150]]>
</primary_key>
<idx_no
name=
"对账指标唯一编号"
isattachment=
"false"
>
<![CDATA[IDX1]]>
</idx_no>
<idx_type
name=
"对账指标"
isattachment=
"false"
>
<![CDATA[ee]]>
</idx_type>
<table_name
name=
"目录标识"
isattachment=
"false"
>
<![CDATA[tet]]>
</table_name>
<date_time
name=
"数据时间"
isattachment=
"false"
>
<![CDATA[]]>
</date_time>
<data_area
name=
"数据区域"
isattachment=
"false"
>
<![CDATA[null]]>
</data_area>
<other_dim
name=
"其他维度"
isattachment=
"false"
>
<![CDATA[null]]>
</other_dim>
<data_count
name=
"统计值"
isattachment=
"false"
>
<![CDATA[null]]>
</data_count>
<exec_time
name=
"业务系统对账执行时间"
isattachment=
"false"
>
<![CDATA[2024-11-15 11:28:53]]>
</exec_time>
<max_updatetime
name=
"最新业务更新时间"
isattachment=
"false"
>
<![CDATA[2024-11-15 11:28:53]]>
</max_updatetime>
<remark
name=
"备注"
isattachment=
"false"
>
<![CDATA[null]]>
</remark>
</row>
</table>
\ No newline at end of file
src/test/java/com/reconciliation/recfj/test/XmlTest.java
0 → 100644
浏览文件 @
74ec9571
package
com
.
reconciliation
.
recfj
.
test
;
import
com.reconciliation.recfj.entity.RecExcel
;
import
com.reconciliation.recfj.entity.RecXml
;
import
com.reconciliation.recfj.util.DateUtils
;
import
com.reconciliation.recfj.util.ExcelUtils
;
import
com.reconciliation.recfj.util.XmlBuilderUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author : Fengmao
* @date : 2024-11-15
**/
public
class
XmlTest
{
public
static
void
main
(
String
[]
args
)
{
List
<
RecExcel
>
list
=
new
ArrayList
<>();
RecExcel
recExcel
=
new
RecExcel
();
recExcel
.
setId
(
"20241662015150"
);
recExcel
.
setRecId
(
"IDX1"
);
recExcel
.
setThirdTable
(
"tet"
);
recExcel
.
setExecDate
(
new
Date
());
recExcel
.
setRecItem
(
"ee"
);
recExcel
.
setDataTimeStr
(
""
);
recExcel
.
setLatestUpdateDate
(
new
Date
());
list
.
add
(
recExcel
);
String
fileName
=
"RecData"
+
"_"
+
DateUtils
.
ConvertDateToYYYYMMddHHmmss
(
new
Date
());
File
file
=
new
File
(
fileName
+
".xlsx"
);
ExcelUtils
.
writeExcel
(
file
,
list
);
String
type
=
"add"
;
List
<
RecXml
>
recXmlList
=
packRecXmlData
(
list
,
type
);
String
xmlStr
=
XmlBuilderUtils
.
buildXml
(
recXmlList
);
System
.
out
.
printf
(
"xml文件是:"
+
xmlStr
);
}
/**
* 将数据封装成XML格式
* @param list
* @param type
* @return
*/
public
static
List
<
RecXml
>
packRecXmlData
(
List
<
RecExcel
>
list
,
String
type
)
{
List
<
RecXml
>
recXmlList
=
new
ArrayList
<>();
if
(
ObjectUtils
.
isEmpty
(
list
)){
return
null
;
}
list
.
forEach
(
recExcel
->
{
RecXml
recXml
=
new
RecXml
();
recXml
.
setType
(
type
);
recXml
.
setPrimaryKey
(
recExcel
.
getId
());
recXml
.
setIdxNo
(
recExcel
.
getRecId
());
recXml
.
setIdxType
(
recExcel
.
getRecItem
());
recXml
.
setTableName
(
recExcel
.
getThirdTable
());
recXml
.
setDateTime
(
recExcel
.
getDataTimeStr
());
recXml
.
setDataArea
(
recExcel
.
getDataArea
());
recXml
.
setOtherDim
(
recExcel
.
getOtherDimension
());
recXml
.
setDataCount
(
String
.
valueOf
(
recExcel
.
getValue
()));
Date
execDate
=
recExcel
.
getExecDate
();
String
execDateStr
=
DateUtils
.
format
(
execDate
,
DateUtils
.
P_YYYY_MM_DD_HH_MM_SS
);
recXml
.
setExecTime
(
execDateStr
);
recXml
.
setMaxUpdateTime
(
DateUtils
.
format
(
recExcel
.
getLatestUpdateDate
(),
DateUtils
.
P_YYYY_MM_DD_HH_MM_SS
));
recXml
.
setRemark
(
recExcel
.
getRemark
());
recXmlList
.
add
(
recXml
);
});
return
recXmlList
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论