提交 74ec9571 作者: 轩辕玉

测试文件提交

上级 c0e5b6f7
<?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>
<?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
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论