syntax = "proto3"; // 表示当前 proto 文件属于 protobuf 包,它不是 go 文件的 package // 主要用于导入外部 proto 文件 package proto; // 如果 protoc-gen-go 版本大于1.4.0, proto文件需要加上go_package,否则无法生成 // 分号隔开,前一个表示生成文件的位置,后一个表示生成的 .go 文件的 package,如果只有一个则表示 go 文件的 package 名称 // option go_package = "{out_path};out_go_package"; out_path 最终和 protoc 的 --go_out 拼接后才是完整路径 option go_package = "./registration"; // 通用结构定义 // 搜索项Filter message Filter{ string key = 1; // 搜索列 string value = 2; // 搜索内容 } // 分页 message Pagination{ int32 page = 1; int32 page_size = 2; int64 total = 3; } // ============ 数据源连接接口定义(5) ================/ // 1. 创建数据源连接接口 message CreateDBConnReq{ string request_id = 1;// 统一请求ID string conn_name = 2;// 连接标题名称 string host = 3; // 数据源地址 int32 port = 4; // 端口号 int32 type = 5; // 数据库类型: 1.mysql,2.Hive string username = 6; // 数据库用户名 string password = 7; // 数据库密码 string db_name = 8; // 数据库名称 string tls_cert = 9; // TLS证书 string creator = 10; // 创建用户 } message CreateDBConnResp{ int32 code = 1; string msg = 2; string data = 3; } // 2. 数据源连接列表查询接口 message GetDBConnListReq{ string request_id = 1; // 请求ID int32 page = 2; // 当前页 int32 page_size = 3; // 每页条数 repeated Filter filter = 4; // 搜索条件 } message GetDBConnListResp{ int32 code = 1; string msg = 2; DBConnListData data = 3; } message DBConnListData{ Pagination pagination = 1; repeated DBConn items = 2; } message DBConn { int32 id = 1; // 自增id string conn_name = 2; // 连接标题名称 string host = 3; // 数据源地址 int32 port = 4; // 端口号 int32 type = 6; // 数据库类型: 1.mysql,2.Hive string username = 7; // 数据库用户名 string db_name = 8; // 数据库名称 string created_at = 9;// 创建时间 } // 3. 获取数据源连接详情 message GetDBConnInfoReq{ string request_id = 1; // 请求ID int32 db_conn_id = 2; // 数据源连接id } message GetDBConnInfoResp{ int32 code = 1; string msg = 2; DBConnInfo data = 3; } message DBConnInfo{ int32 db_conn_id = 1; // 数据源连接ID string conn_name = 2; // 数据源连接名称 string host = 3; // 数据源地址 int32 port = 4; // 端口号 int32 type = 5; // 数据库类型: 1.mysql,2.Hive string username = 6; // 数据库用户名 string db_name = 7; // 数据库名称 string created_at = 8; // 创建时间 } // 4. 数据源连接删除接口 message DeleteDBConnReq{ string request_id = 1; // 请求ID int32 db_conn_id = 2; // 数据源连接id } message DeleteDBConnResp{ int32 code = 1; string msg = 2; string data = 3; } // 5. 数据源连接测试接口 message TestDBConnReq{ string request_id = 1; // 请求ID int32 db_conn_id = 2; // 数据源连接id } message TestDBConnResp{ int32 code = 1; string msg = 2; string data = 3; } // ============ 通用选项接口定义(8) ================/ // 1. 查询工业列表 message GetIndustryListReq { string request_id = 1; } message GetIndustryListResp { int32 code = 1; string msg = 2; repeated IndustryItem data = 3; } message IndustryItem { int32 id = 1; string code = 2; string title = 3; string created_at = 4; string updated_at = 5; } // 2. 资产规模类型查询接口 message GetScaleTypeListReq { string request_id = 1; } message GetScaleTypeListResp{ int32 code = 1; string msg = 2; repeated ScaleTypeItem data = 3; } message ScaleTypeItem{ int64 id = 1; // 规模类型编号 string name = 2; // 规模类型名称 } // 3. 使用对象列表接口 message GetUserCategoryListReq{ string request_id = 1; } message GetUserCategoryListResp{ int32 code = 1; string msg = 2; repeated UserCategoryItem data = 3; } message UserCategoryItem{ int32 id = 1; // 使用对象编号 string name = 2; // 使用对象名称 } // 4. 资产类型列表查询 message GetAssetTypeListReq{ string request_id = 1; } message GetAssetTypeListResp{ int32 code = 1; string msg = 2; repeated AssetTypeItem data = 3; } message AssetTypeItem{ int32 id = 1; // 资产类型编号 string name = 2; // 资产类型名称 } // 5. 数据存储格式查询接口 message GetDataFormatListReq{ string request_id = 1; } message GetDataFormatListResp{ int32 code = 1; string msg = 2; repeated DataFormatItem data = 3; } message DataFormatItem{ int32 id = 1; // 数据存储格式编号 string name = 2; // 数据存储格式名称 } // 6. 数据源取得方式查询接口 message GetSourceTypeListReq{ string request_id = 1; } message GetSourceTypeListResp{ int32 code = 1; string msg = 2; repeated SourceTypeItem data = 3; } message SourceTypeItem{ int32 id = 1; // 数据源取得方式编号 string name = 2; // 数据源取得方式名称 } // 7. 数据规模单位查询接口 message GetDataScaleUnitListReq{ string request_id = 1; } message GetDataScaleUnitListResp{ int32 code = 1; string msg = 2; repeated DataScaleUnitItem data = 3; } message DataScaleUnitItem{ int32 id = 1; // 数据规模单位编号 string name = 2; // 数据规模单位名称 } // 8. 更新周期单位查询接口 message GetUpdateCycleUnitListReq{ string request_id = 1; } message GetUpdateCycleUnitListResp{ int32 code = 1; string msg = 2; repeated UpdateCycleUnitItem data = 3; } message UpdateCycleUnitItem{ int32 id = 1; // 更新周期单位编号 string name = 2; // 更新周期单位名称 } // ============== 资产登记接口定义(1) ============== // message AssetBaseInfo { string asset_name = 1; // 资产名称 string asset_en_name = 2; // 资产英文简称 int32 asset_type = 3; // 资产类型 string tags = 4; // 关键字 int32 industry_id = 5; // 行业id string intro = 6; // 简介 repeated int32 user_category = 7; // 使用对象 int32 immediately_supply = 8; // 供应方式: 1即时供应,0延时供应 string delayed_supply_time = 9; // 延时供应时间 string suit_scenario = 10; // 适用场景 string disable_scenario = 11; // 禁用场景 } message AssetDataInfo { string source_name = 1; // 数据源名称 int32 source_type = 2; // 取得方式 string source_way = 3; // 来源渠道 string desensitization_way = 4; // 脱敏方式 int32 scale_type = 5; // 数据规模类型 int32 scale = 6; // 数据规模 int32 data_format = 7; // 存储格式 int32 update_type = 8; // 更新周期类型:1静态,2实时,3周期 int32 cycle = 9; // 更新周期 int32 unit = 10; // 更新周期单位 string time_span = 11; // 时间跨度 string data_sample = 12; // 数据产品示例 string custom_info = 13; // 个性化字段 } message AssetInfo { string asset_id = 1; // 资产编号 string creator = 2; // 创建者 string created_at = 3; // 创建时间 string update_user = 4; // 最后修改者 string updated_at = 5; // 最后修改时间 string holder = 6; // 持有者链账户地址 ProductInfo product_info = 7; // 产品信息 ChainInfo chain_info = 8; // 上链信息 CertificationInfo certification_info = 9; // 认证信息 } message ProductInfo { AssetBaseInfo product_base_info = 1; // 产品基础信息 AssetDataInfo product_data_info = 2; // 产品数据属性 DataSetInfo product_data_set = 3; // 数据集信息 ProductAPI product_api = 4; // 数据API信息 repeated FileInfo product_images = 5; // 资产图片 repeated FileInfo product_files = 6; // 产品附件 } message DataSetInfo { string table_name = 1; // 表名 string table_desc = 2; // 表描述 repeated SaveTableColumnItem items = 3; // 字段列表 } message FileInfo { string asset_id = 1; // 资产id int32 type = 2; // 资产附件类型:1图片,2合规证明材料,3. 估值证明材料,4相关附件 string name = 3; // 文件名称 string file_url = 4; // 文件URL } message ChainInfo { string txid = 1; // 交易id string uploaded_at = 2; // 上链时间 } message CertificationInfo { string certificate_at = 1; // 认证时间 string enterprise_name = 2; // 认证机构名称 string enterprise_credit_code = 3; // 企业信用证代码 int32 enterprise_type = 4; // 认证类型:0 合规,1 资产评估 string enterprise_address = 5; // 链账户地址 string result = 6; // 认证结果 repeated FileInfo file_info = 7; // 认证文件 } message ProductAPI { SaveAPIReq save_api_req = 1; // SaveAPIReq string created_at = 2; // 创建时间 string updated_at = 3; // 最后修改时间 } message SaveAPIReq { string asset_id = 1; // 资产编号 string header = 2; // header string url = 3; // API地址 string method = 4; // 请求方式: GET、POST等 string params = 5; // 入参 string response = 6; // 响应 string resp_type = 7; // 响应类型:默认json } message SaveTableColumnItem { string asset_id = 1; // 资产ID string name = 2; // 字段名称 string original_name = 3; // 原始字段名称 string data_type = 4; // 字段类型 int32 data_length = 5; // 字段长度 int32 is_primary_key = 6; // 是否为主键:1.是,0.否 int32 is_null = 7; // 是否为空:1.是,0.否 int32 privacy_query = 8; // 是否隐私查询:1是,0否 默认1 string description = 9; // 字段描述 string data_example = 10; // 数据示例 string custom_column = 11; // 个性化字段 int32 security_level = 12; // 分级分类:1 一级,2二级,3三级 } // ============== 隐私计算接口定义(1) ============== // message GetDataSetInfoReq{ string request_id = 1; string assetId = 2; // 资产编号 } message GetDataSetInfoResp{ int32 code = 1; string msg = 2; AssetDataSetInfo data = 3; } // 数据目录返回内容 message AssetDataSetInfo { string asset_id = 1; // 资产编号 string creator = 2; // 创建者 string created_at = 3; // 创建时间 string update_user = 4; // 最后修改者 string updated_at = 5; // 最后修改时间 string holder = 6; // 持有者链账户地址 ProductInfo product_info = 7; // 产品信息 ChainInfo chain_info = 8; // 上链信息 CertificationInfo certification_info = 9; // 认证信息 } message UpdateCycle { int32 updateType = 1; // 更新类型:1静态,2实时,3周期 int32 cycle =2; // 周期 int32 unit = 3; // 单位: 1分,2时,3天 } service Registration { // ============== 数据源 ============== // // 1. 创建数据源连接接口 rpc CreateDBConn(CreateDBConnReq) returns (CreateDBConnResp); // 2. 数据源连接列表查询接口 rpc GetDBConnList(GetDBConnListReq) returns (GetDBConnListResp); // 3. 数据源连接详情查询接口 rpc GetDBConnInfo(GetDBConnInfoReq) returns (GetDBConnInfoResp); // 4. 数据源连接删除接口 rpc DeleteDBConn(DeleteDBConnReq) returns (DeleteDBConnResp); // 5. 数据源连接测试接口 rpc TestDBConn(TestDBConnReq) returns (TestDBConnResp); // ============== 通用选项 ============== // // 1. 查询工业列表 rpc GetIndustryList(GetIndustryListReq) returns(GetIndustryListResp); // 2. 资产规模类型查询接口 rpc GetScaleTypeList(GetScaleTypeListReq) returns (GetScaleTypeListResp); // 3. 使用对象列表接口 rpc GetUserCategoryList(GetUserCategoryListReq) returns (GetUserCategoryListResp); // 4. 资产类型查询接口 rpc GetAssetTypeList(GetAssetTypeListReq) returns (GetAssetTypeListResp); // 5. 数据存储格式查询接口 rpc GetDataFormatList(GetDataFormatListReq) returns (GetDataFormatListResp); // 6. 数据源取得方式查询接口 rpc GetSourceTypeList(GetSourceTypeListReq) returns (GetSourceTypeListResp); // 7. 数据规模单位查询接口 rpc GetDataScaleUnitList(GetDataScaleUnitListReq) returns (GetDataScaleUnitListResp); // 8. 更新周期单位查询接口 rpc GetUpdateCycleUnitList(GetUpdateCycleUnitListReq) returns (GetUpdateCycleUnitListResp); // ============== 资产登记 ============== // // ============== 隐私计算 ============== // // 1. 数据目录详情接口 rpc GetDataSetInfo (GetDataSetInfoReq) returns (GetDataSetInfoResp); }