⌘CtrlK
Appearance
Appearance
SDK全称为Software Development Kit,软件开发工具包,SDK接口,则是这些资源中的API接口,可以让开发者与底层的软件系统进行交互,实现各种自定义的功能。
本文档适用于集成主数据管理平台的三方应用系统(供开发者参考),文档的适用产品版本为:7.3.0。
本文档主要介绍sdk的调用方式,以及覆盖编码配置、数据模型及主题、参考数据及主题的查询,数据及国际化的操作等功能的api接口,为使用主数据管理平台服务进行后续开发提供便利。
本文档的适用读者范围主要是在EOS平台使用主数据管理平台服务的设计和开发人员。
<dependency>
<groupId>com.primeton.mdm</groupId>
<artifactId>mdm-starter</artifactId>
<version>7.3.0</version>
</dependency><dependency>
<groupId>com.primeton.mdm</groupId>
<artifactId>mdm-sdk</artifactId>
<version>7.3.0</version>
</dependency>eos.springmvc.eos-serialize.exclude-packages=com.primeton.mdm
spring.jpa.open-in-view=false
spring.jpa.properties.javax.persistence.validation.mode=none
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=false
## Database Dialect
## MySQL
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
## Oracle
# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
## SQLServer
# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
## Dameng
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.DmDialect
### GaussDB
#spring.jpa.database=postgresql
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL9Dialect
#spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false
# unit: millis
mdm.schedule.fixed-delay.mdm-inst-heart-beat=30000
# default : statistic every hour
mdm.report.statistic.interval=0 0 * * * ?
# [file, db]
mdm.data-file.storage-type=file
mdm.data-file.storage-location=./data/data-files
# data model cache
#mdm.data-model-cache.enabled=true
# if set true, and request with a header 'X-MDM-UNIFIED-RESPONSE' = true, mdm will return unified response
mdm.support-unified-response=false
#data record log
mdm.data.record.log.enabled=true
mdm.data.record.log.keep.days=15
# data-push
mdm.push.enabled=true
# if MDM singleton instance lock disabled, else enabled
mdm.push.lock-enabled=true
mdm.push.thread-pool.corePoolSize=10
mdm.push.thread-pool.maxPoolSize=100
mdm.push.thread-pool.queueCapacity=10000
mdm.push.scan.interval-seconds=60
mdm.push.data-page-size=10
mdm.push.data-step-minutes=30
mdm.push.http.validate-response-body.enabled=true
mdm.push.http.validate-response-body.code-attr=code
mdm.push.http.validate-response-body.msg-attr=message
mdm.push.http.validate-response-body.ok-code=200
# t1, t1 + step, t1 + 2*step, ..., t1 + n*step
# t1 + n*step + mistake < now && lastModifiedAt BETWEEN (t1 + (n-1)*step) AND (t1 + n*step - 1s.)
mdm.push.time-mistake-seconds=30
mdm.push.in-time.event-queue-size=100000
# regular cleanup sequenceDate code maxValue
# default true
mdm.block-sequence-code.clear=true
mdm.block-sequence-code.clear.interval=0 0 2 * * ?
mdm.op-log.clean.keep-days=30
#mill s
mdm.afc.copy.scheduled.time=1000
mdm.batch.update.insert.size=1000
#email
spring.mail.host=smtp.126.com
spring.mail.username=youremail@126.com
spring.mail.password=RNGFEHNEKHJHVKKB
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8mdm.application.name=localhost:28090
mdm.application.afc-token=fb9d872b8a5545d1b38bbe21c8e0175d@Autowired
IMDMClient mdmClient;
public PageResultList<MDMDataFieldBlockRuleDTO> findBlockRule() {
IBlockRuleAPI blockRuleAPI = mdmClient.getBlockRuleAPI();
return blockRuleAPI.findBlockRule("test", "name", 0, 10);
} MDMDataModelDTO findById(String id, Integer version, Boolean includeRelatedModel);| 参数 | 类型 | 说明 |
|---|---|---|
| id | String | 模型id,必填 |
| version | Integer | 模型版本 |
| includeRelatedModel | Boolean | 是否携带关联模型 |
| 返回值 | MDMDataModelDTO | 数据模型 |
MDMDataModelDTO findByCode(String code, Integer version, Boolean includeRelatedModel);| 参数 | 类型 | 说明 |
|---|---|---|
| code | String | 模型编码,必填 |
| version | Integer | 模型版本 |
| includeRelatedModel | Boolean | 是否携带关联模型 |
| 返回值 | MDMDataModelDTO | 数据模型 |
PageResultList<MDMDataModelDTO> findByTopicId(String topicId, String matchWord, int pageIndex, int pageSize);| 参数 | 类型 | 说明 |
|---|---|---|
| topicId | String | 主题id |
| matchWord | String | 模糊查询 |
| pageIndex | int | 页码,必填 |
| pageSize | int | 每页大小,必填 |
| 返回值 | PageResultList | 分页模型列表 |
PageResultList<MDMDataModelDTO> findByOrgId(String orgId, int pageIndex, int pageSize);| 参数 | 类型 | 说明 |
|---|---|---|
| orgId | String | 主题id,必填 |
| pageIndex | int | 页码,必填 |
| pageSize | int | 每页大小,必填 |
| 返回值 | PageResultList | 分页模型列表 |
List<MDMDataModelVersionDTO> findVersions(String dataModelId);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelId | String | 模型编码,必填 |
| 返回值 | List | 分页数据模型版本 |
List<MDMExtendedInfoDTO> findExtendedInfo(String modelId);| 参数 | 类型 | 说明 |
|---|---|---|
| modelId | String | 模型id,必填 |
| 返回值 | List | 扩展信息 |
MDMDataPermissionDTO findDataPermission(String dataModelCode);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 数据模型编码 |
| 返回值 | MDMDataPermissionDTO | 数据权限 |
List<MDMModelAndTopicDTO> queryDataModels();| 参数 | 类型 | 说明 |
|---|---|---|
| 返回值 | List | 模型树 |
List<MDMModelDTO> queryDataModelsByCode(String dataModelCode, boolean includeProperty);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码:支持模糊匹配 |
| includeProperty | boolean | 是否包含属性 |
| 返回值 | PageResultList | 模型DTO |
List<MDMModelTreeDTO> queryWithTree(String dataModelCode, String pid, MDMQueryParam queryParam);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型code,必填 |
| pid | boolean | 为空时查询根列表,否则查询其子列表 |
| 返回值 | PageResultList | 编码规则配置 |
PageResultList<Map<String, Object>> find(String dataModelCode, boolean withSysColumn, MDMQueryParam param, int pageIndex, int pageSize, Map<String, String> args);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| withSysColumn | boolean | 是否查询系统字段 |
| param | MDMQueryParam | 查询条件,必填 |
| pageIndex | int | 页码 |
| pageSize | int | 每页大小 |
| args | Map<String, String> | 额外查询条件 |
| 返回值 | PageResultList | 数据列表 |
Map<String, Object> diff(String dataModelCode, String uid, int v1, int v2);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| uid | String | 数据uid |
| v1 | int | 版本1 |
| v2 | int | 版本2 |
| 返回值 | Map | 对比结果 |
List<String> validate(String dataModelCode, Map<String, Object> data);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | Map | 数据,必填 |
| 返回值 | List<String> | 校验是否通过 |
Map<String, Object> findById(String dataModelCode, String id, boolean isParseRefReferenceField);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码 |
| id | String | 数据id,必填 |
| isParseRefReferenceField | boolean | 是否存在引用字段 |
| 返回值 | Map | 数据 |
List<Map<String, Object>> findByIds(String dataModelCode, String[] ids, boolean isParseRefReferenceField);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码 |
| ids | String[] | 数据id,必填 |
| isParseRefReferenceField | boolean | 是否存在引用字段 |
| 返回值 | Map | 数据 |
List<Map<String, Object>> findByDataId(String dataModelCode, String uid, boolean isParseRefReferenceField);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| uid | String | 数据unique id,必填 |
| isParseRefReferenceField | boolean | 是否存在引用字段 |
| 返回值 | List | 数据的全部版本 |
String insert(String dataModelCode, Map<String, Object> data, boolean mustCheck);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | Map | 数据 |
| mustCheck | boolean | 是否数据遮罩 |
| 返回值 | String | 数据id |
String insertAndRelease(String dataModelCode, Map<String, Object> data);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | Map | 数据 |
| 返回值 | String | 数据id |
List<String> batchInsert(String dataModelCode, List<Map<String, Object>> data, boolean autoRelease);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | List | 数据 |
| autoRelease | boolean | 是否自动生效 |
| 返回值 | List | 数据id列表 |
void update(String dataModelCode, Map<String, Object> data, boolean isPrimaryKey, boolean autoRelease, boolean isAllRefData);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | Map | 数据,必填 |
| isPrimaryKey | boolean | 是否根据主键更新 |
| autoRelease | boolean | 是否自动生效 |
| isAllRefData | boolean | 是否存在引用字段 |
| 返回值 | 无 | 无 |
void updateAndRelease(String dataModelCode, Map<String, Object> data, boolean isAllRefData);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| data | Map | 数据,必填 |
| isAllRefData | boolean | 是否存在引用字段 |
| 返回值 | 无 | 无 |
void batchUpdate(String dataModelCode, List<Map<String, Object>> dataList, boolean isAllRefData, boolean autoRelease);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| dataList | List | 数据列表,必填 |
| autoRelease | boolean | 是否自动更新 |
| isAllRefData | boolean | 是否存在引用字段 |
| 返回值 | 无 | 无 |
String copy(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | String | 新数据id |
void delete(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | 无 | 无 |
void batchDelete(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | 无 | 无 |
String revise(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | String | 修订版本数据id |
List<String> batchRevise(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | List | 修订版本数据id列表 |
MDMResult release(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
MDMResult newRelease(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
MDMResult reviseRelease(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
void batchRelease(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | 无 | 无 |
void approve(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | 无 | 无 |
void batchApprove(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | 无 | 无 |
void reject(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | 无 | 无 |
void batchReject(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | 无 | 无 |
void rollback(String dataModelCode, String id, String version);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| version | String | 版本,必填 |
| 返回值 | 无 | 无 |
MDMResult enable(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
MDMResult batchEnable(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | MDMResult |
MDMResult disable(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
MDMResult batchDisable(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | MDMResult |
MDMResult deprecate(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | MDMResult |
MDMResult batchDeprecate(String dataModelCode, List<String> ids);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据id列表,必填 |
| 返回值 | MDMResult |
void push(String dataModelCode, List<String> ids, List<String> subscriberId);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelCode | String | 模型编码,必填 |
| ids | List | 数据unique id列表,必填 |
| subscriberId | List | 订阅者id,必填 |
| 返回值 | 无 | 无 |
List<Map<String, Object>> findDataTree(String dataModelId, String id, int pageIndex, int pageSize);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelId | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| pageIndex | int | 页码 |
| pageSize | int | 每页大小 |
| 返回值 | List | 数据树 |
void approveProcess(ProcessContext processContext);| 参数 | 类型 | 说明 |
|---|---|---|
| processContext | ProcessContext | 流程 |
| 返回值 | 无 | 无 |
void rejectProcess(ProcessContext processContext);| 参数 | 类型 | 说明 |
|---|---|---|
| processContext | ProcessContext | 流程 |
| 返回值 | 无 | 无 |
Map<String, Object> getDataSysInfo(String dataModelCode, String id);| 参数 | 类型 | 说明 |
|---|---|---|
| dataModelId | String | 模型编码,必填 |
| id | String | 数据id,必填 |
| 返回值 | Map |
MDMDataTopicDTO find(String id, String code);| 参数 | 类型 | 说明 |
|---|---|---|
| id | String | 主题id |
| code | String | 主题编码 |
| 返回值 | MDMDataTopicDTO | 主题信息 |
List<MDMDataTopicDTO> findByParentId(String parentId, String parentCode);| 参数 | 类型 | 说明 |
|---|---|---|
| parentId | String | 上级id |
| parentCode | String | 上级编码 |
| 返回值 | List | 主题列表 |
List<MDMExtendedInfoDTO> findExtendedInfo(String topicId);| 参数 | 类型 | 说明 |
|---|---|---|
| topicId | String | 主题id,必填 |
| 返回值 | List | 扩展信息 |
API:
PageResultList<Map<String, Object>> find(String dictModelId, String dictModelCode, String columnCode, String matchWord,int pageIndex, int pageSize);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| columnCode | String | 字段编码值 |
| matchWord | String | 字段值 |
| pageIndex | int | 页码 |
| pageSize | int | 每页大小 |
| 返回值 | PageResultList | 参考数据列表 |
API:
List<Map<String, Object>> findById(String dictModelId, String dictModelCode, String id);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| id | String | 参考数据id |
| 返回值 | List | 参考数据列表 |
API:
PageResultList<Map<String, Object>> findByParent(String dictModelId, String dictModelCode, String parentValue, int pageIndex, int pageSize);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| parentValue | String | 父级数据 |
| pageIndex | int | 页码 |
| pageSize | int | 每页大小 |
| 返回值 | PageResultList | 参考数据列表 |
API:
void save(String dictModelId, String dictModelCode, List<Map<String, Object>> dictDataList);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| dictDataList | List | 参考数据列表 |
| 返回值 | 无 | 无 |
API:
void batchDelete(String dictModelId, String dictModelCode, String[] dataCodes);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| dataCodes | String[] | 数据Code列表 |
| 返回值 | 无 | 无 |
API:
void push(String dictModelId, String dictModelCode, List<String> dictPushes, List<Object> dataIds);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| dictModelId | String | 参考数据模型id |
| dictModelCode | String | 参考数据模型编码 |
| dictPushes | List | 推送目标 |
| dataIds | List | 推送的数据id列表 |
| 返回值 | 无 | 无 |
API:
DMDictModelDTO findById(String id, Integer version);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| id | String | 参考数据模型id,必填 |
| version | Integer | 参考数据模型版本 |
| 返回值 | MDMDictModelDTO | 参考数据模型信息 |
API:
MDMDictModelDTO findByCode(String code, Integer version);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| code | String | 参考数据模型编码 |
| version | Integer | 参考数据模型版本 |
| 返回值 | MDMDictModelDTO | 参考数据模型信息 |
API:
PageResultList<MDMDictModelDTO> find(String topicId, String matchWord, int pageIndex, int pageSize);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| topicId | String | 主题id |
| matchWord | String | 模糊查询 |
| pageIndex | int | 页码 |
| pageSize | int | 每页大小 |
| 返回值 | PageResultList | 主题下参考数据模型列表 |
API:
List<MDMDictFieldDTO> findByVersion(String modelId, String modelCode, int version);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| modelId | String | 参考数据模型id |
| modelCode | String | 参考数据模型编码 |
| version | int | 版本,必填 |
| 返回值 | List | 某个参考数据模型版本的字段信息 |
API:
MDMDictTopicDTO find(String id, String code);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| id | String | 主题id |
| code | String | 主题编码 |
| 返回值 | MDMDictTopicDTO | 主题信息 |
API:
List<MDMDictTopicDTO> findByParentId(String parentId, String parentCode);参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| parentId | String | 上级id |
| parentCode | String | 上级编码 |
| 返回值 | List | 主题列表 |