20 KiB
Executable File
ControlProxy接口
基本要求:
1.返回结果的result 不应该是jsonstr格式,当它可以是json对象时,需要以json对象返回。 2.异常处理,约定异常格式。提供工具类返回异常格式的消息。
3.输入参数都以json格式,如参数为doId:
{ "doId":"xx.yy/zz" }
4.正常返回:(只返回状态的接口)
{ "msg":"success", "code":0, }
5.正常返回:(返回一共数组)
{ "msg":"success", "code":0, "data":{}//要返回的数据 }
6.异常返回:
{ "msg":"missing argument", "code":1 } { "msg":"request to much", "code":2 } ...
7.若返回一个列表的部分的接口,需要给定总数字段:(这样的接口参数需要提供count和offset)
//搜索接口返回 //这个例子表示符合条件的一共有9999条数据,只返回count和offset限定的3条数据 { "data":[ {}, {}, {} ], "total":9999 }
Repo元数据
字段 值 说明 示例 doId string Repo的Id "bdware.txte/Repo" name string Repo名称 "xx数字对象仓库" owner string 所有者 "xx局" contractID string 合约名称或者合约ID "DBRepo" type string Repo类型(待扩展) "Table"/"Http" description string 说明 "这是一段关于该repo的说明" enableIndex bool 是否索引 true createTime long 创建时间 1641364002477 status string 状态(在线/离线) "online"或者"offline" check string 审核情况(提交/通过/不通过) "submit"或"success"或"faild" operator string 操作员 "张三" manager array 管理员 ["xx局","yy局","zz部门"] DO元数据
字段 值 说明 示例 doId string do的Id "bdware.txte/Repo/do.dbname.tablename" name string do的名称 "xx表格" type string Repo类型(待扩展) "SQL"或者"CSV" description string 说明 "这是一段关于该DO的说明" schema string 数据格式描述(DOd?) "" createTime long 创建时间 1641364002477 Repo元数据示例
{ "doId":"bdware.txte/Repo", "name":"xx部门数据仓库", "type":"?", "description":"这是一个repo", "owner":"xx省yy市zz部门", "contractID":"DBRepo", "enableIndex":true, "createTime":1641364002477, "status":"online", "check":"submit", "operator":"张三", "manager":["xx局","yy局","zz部门"] }
示例说明:getDoCount
说明:调用搜索引擎的统计接口,返回对应repo的doId当中含有输入参数的repo的do数量
参数:一个字符串,用于doId的模糊匹配
{ "key":"bdware.txte/Repo" }
正常返回:result的值是json对象而不是字符串
//空: { "data":[] } //非空: { "data":[ {"doId":"bdware.txte/Repo1","count":10}, {"doId":"bdware.txte/Repo2","count":12} ], "total":9999 } //调用返回的全部内容,是正常还是异常看status字段 {"needSeq":false,"seq":0,"status":"Success","result":{"data":[{"doId":"bdware.txte/Repo1","count":10},{"doId":"bdware.txte/Repo2","count":12}]},"isInsnLimit":false,"totalGas":0,"executionGas":0,"extraGas":0,"size":0,"eventRelated":false,"responseID":"1645085355104_1279","action":"onExecuteResult","executeTime":"9"}
异常返回:抛出异常,result的内容是个字符串表示异常内容或者异常的信息
//异常返回方式 YancloudUtil.exceptionReturn({"msg":"missing arguments repoId ","code":1}); //结果 {"needSeq":false,"seq":0,"status":"Exception","result":{"msg":"xxx","code":1},"isInsnLimit":false,"totalGas":0,"executionGas":0,"extraGas":0,"size":0,"eventRelated":false,"responseID":"1645085126815_8926","action":"onExecuteResult","executeTime":"17"}
一、ControlProxy.yjs @李智
1.addRepo
-
说明:调用Gateway的addLocalRepo,由GateWay检查参数等,正确返回代码为0,错误返回提供具体错误代码及原因
-
参数
{ "doId":"bdware.txte/Repo", "name":"xx部门数据仓库", "type":"?", "description":"这是一个repo", "owner":"xx省yy市zz部门", "contractID":"DBRepo", "enableIndex":true, "createTime":1641364002477, "status":"online", "check":"submit", "operator":"张三", "manager":["xx局","yy局","zz部门"] }
-
正常返回
{ "msg":"success", "rrt":"110ms", "code":0 }
-
异常返回:msg:错误信息,code:错误代码
{ "msg":"missing arguments repoId ", "code":1 }
2.pingRepo
-
说明
-
参数
{ "doId":"bdware.ss/Repox" }
-
正常返回
{ "msg":"success", "rrt":"110ms", "code":0, "repoInfo": { "doId":"bdware.txte/Repo", "name":"xx部门数据仓库", "type":"?", "description":"这是一个repo", "owner":"xx省yy市zz部门", "contractID":"DBRepo", "enableIndex":true, "createTime":1641364002477, "status":"online", "check":"submit", "operator":"张三", "manager":["xx局","yy局","zz部门"] }//repo元数据 }
-
异常返回
{ "msg":"repo is unconnected", "code":1 }
3.getRepoList
-
说明
-
参数:无
-
正常返回
{ "data":[ {},//repo元数据 {},//repo元数据 {}//repo元数据 ], "total":9999 }
-
异常返回
{ "msg":"repo is unconnected", "code":1 }
4.deleteRepo
-
说明
-
参数
{ "doId":"bdware.ss/Repox" }
-
正常返回
{ "msg":"success", "code":0 }
-
异常返回:msg:错误信息,code:错误代码
{ "msg":"can not found repo", "code":1 }
5.deleteRepoList(4和5是同一个)
-
说明
-
参数
[ {"doId":"bdware.ss/Repox"}, {"doId":"bdware.ss/Repoy"} ]
-
正常返回
{ [{ "msg":"success", "code":0 }, { "msg":"success", "code":0 }, { "msg":"success", "code":0 }] }
-
异常返回
{ "msg":"can not found repo", "code":1 }
6.updateRepo
-
说明
-
参数:全部元数据
{ "doId":"bdware.txte/Repo", "name":"xx部门数据仓库", "type":"?", "description":"这是一个repo", "owner":"xx省yy市zz部门", "contractID":"DBRepo", "enableIndex":true, "createTime":1641364002477, "status":"online", "check":"submit", "operator":"张三", "manager":["xx局","yy局","zz部门"] }
- 正常返回
{ "doId":"bdware.ss/Repox" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
二、networking.yjs @范博
1.getRouterInfo
-
说明
-
参数:无
-
正常返回
{ "date": 1642467459759, "name": "next路由器", "doId": "bdwaretest.loccall.next1", "version": "2.1", "address": "127.0.0.1:2222", "status": "已审核", "protocol": "IRP", "pubKey":"04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
2.listLRS
-
说明
-
参数:无
-
说明:该接口暂时不会有太多数据,因此没有提供total字段和count,offset方式
-
正常返回
{ //"result":"success", "data":[ { "protocol":"DO-IRP协议","name":"ee","pubKey":"046c31d1e4f0056325c352a6c9934c1d15a51ef4b5bc552387a1c43188b2317a1863a9072cf612c2c15e5353083cf47e2024b49e416e8f6f8d4b0db496b67336f5","version":"2.0","address":"1.1.1.1:333","doId":"bdtest5.r1.121111111444","date":1643340044943 }, {"protocol":"DO-IRP协议","name":"aaa","pubKey":"04bb83950bf8f0b02cc9c95eb25a30950958e2c271c423c28a3612f5bc199a94c55c637d15876e442c265e1b3f970fb167ba59a489157f279955d69a12359501df","version":"2.0","address":"1.1.1.1:44","doId":"bdtest5.r1.ss","date":1645510310038},{"protocol":"DO-IRP协议","name":"test2","pubKey":"04bb83950bf8f0b02cc9c95eb25a30950958e2c271c423c28a3612f5bc199a94c55c637d15876e442c265e1b3f970fb167ba59a489157f279955d69a12359501df","version":"2.0","address":"1.1.1.1:44","doId":"bdtest5.r1.test2","date":1645510310038}, {"protocol":"DO-IRP协议","name":"test","pubKey":"04982fc8507302c57a0389de1f6fc8a72c70577dff15fb0f23d3898742ac7684ace75c3b12dec94b8866ffcea9ef4795c09074327e4f1822b546cc6f783931da94","version":"2.0","address":"1.1.1.1:55","doId":"bdtest5.r1.tttTest","date":1643338165008 } ], "count":4 }
-
异常返回
{ "msg":"can not found repo", "code":1 }
3.updateLRS
-
说明
-
参数
{ "date": 1642467459759, "oldName": "路由器", "oldDoId": "bdwaretest.loccall.next0", "name": "next路由器", "doId": "bdwaretest.loccall.next1", "version": "2.1", "address": "127.0.0.1:2222", "status": "已审核", "protocol": "IRP", "pubKey":"04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回:新的doid
{ "data":"xxx.xx/aa"; }
-
异常返回
{ "msg":"can not found repo", "code":1 }
4.createLRS(除了oldname和olddoid,其他和undate一样)
-
说明
-
参数
{ "date": 1642467459759, "name": "next路由器", "doId": "bdwaretest.loccall.next1", "version": "2.1", "address": "127.0.0.1:2222", "status": "已审核", "protocol": "IRP", "pubKey":"04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回
{ "data":"bdware.ss/Repox" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
5.deleteLRS
-
说明
-
参数
{ "name": "Repo1", "doId": "bdwaretest.loccall/Repo1", "pubKey":"04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回
{ "data":"bdware.ss/Repox" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
6.listRepo(同listLRS)
-
说明
-
参数
{ "doId":"...", "address":"...", "owner":"...", "...":"..." }
-
正常返回
{ "doId":"bdware.ss/Repox" }
-
异常返回
{ "doId":"bdware.ss/Repox" }
7.updateRepo(同updateLRS)
-
说明
-
参数
{ "doId":"...", "address":"...", "owner":"...", "...":"..." }
-
正常返回
{ "doId":"bdware.ss/Repox" }
-
异常返回
{ "doId":"bdware.ss/Repox" }
8.createRepo(同createLRS)
-
说明
-
参数
{ "date": 1642467459759, "name": "Repo1", "doId": "bdwaretest.loccall/Repo1", "version": "2.1", "address": "tcp://127.0.0.1:21042", "status": "已审核", "protocol": "DOIP", "pubKey": "04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回
{ "doId":"bdware.ss/Repox" }
-
异常返回
{ "doId":"bdware.ss/Repox" }
9.deleteRepo(同deleteLRS)
-
说明
-
参数
{ "name": "next路由器", "doId": "bdwaretest.loccall.next1", "pubKey": "04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回
{ "doId":"bdware.ss/Repox" }
-
异常返回
{ "doId":"bdware.ss/Repox" }
10.setRootRouterInfo(和Create一样)
-
说明
-
参数
{ "date": 1642467459759, "name": "Repo1", "doId": "bdwaretest.loccall/Repo1", "version": "2.1", "address": "tcp://127.0.0.1:21042", "status": "已审核", "protocol": "DOIP", "pubKey": "04d1924329f72ced148f6f333fb985ccbaa31b1e3aacf10be5f43d4a4ff5ad88899a005e79e37fc06993e1d66ada8cf8b711cb36f59538bb7d3e39e70fa9360ddd" }
-
正常返回
{ "data":"bdware.ss/Repox" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
11.reInit
-
说明
-
参数:无
-
正常返回
{ "data":"verify and start server success" }
-
异常返回
{ "msg":"can not found repo", "code":1 }
三、repodetail.yjs
1.getDoList @张宏伟
-
说明:如果指定repo,那么就是指定repo的dolist,否则是全部的
-
参数
{"doId":"xxx"} //或者 {}
-
正常返回
{ "data":[{},{},{}], "total":9999 }
-
异常返回
{ "msg":"can not found repo", "code":1 }
2.getRepoTopology
-
说明
-
参数
{ "doId":"..." }
-
正常返回
{ "data":[ {"name":"小店区仓库","doId":"bdware.ss.ab/Repo1","previousNode":["bdware.ss/Gateway1","bdware.ss/Gateway2"]}, {"name":"小店区仓库","doId":"bdware.ss.ab/Repo1","previousNode":["bdware.ss/Gateway1","bdware.ss/Gateway2"]}, {"name":"小店区仓库","doId":"bdware.ss.ab/Repo1","previousNode":["bdware.ss/Gateway1","bdware.ss/Gateway2"]}, {"name":"小店区仓库","doId":"bdware.ss.ab/Repo1","previousNode":["bdware.ss/Gateway1","bdware.ss/Gateway2"]} ], "total":9999 }
-
异常返回
{ "msg":"can not found repo", "code":1 }
3.getStaticIndex(先不管)
-
说明
4.fakeList(略
-
说明
四、search.yjs
1.getDoCount @张宏伟
-
说明:调用搜索引擎的统计接口,返回对应repo的doId当中含有输入参数的repo的do数量
-
参数:一个字符串,用于doId的模糊匹配
bdware.txte/Repo
-
正常返回:result的值是json对象而不是字符串
//空: { "data":[], "total":0 } //非空: { "data":[ {"doId":"bdware.txte/Repo1","count":10}, {"doId":"bdware.txte/Repo2","count":12} ], "total":2 } //调用返回的全部内容,是正常还是异常看status字段 {"needSeq":false,"seq":0,"status":"Success","result":{"data":[{"doId":"bdware.txte/Repo1","count":10},{"doId":"bdware.txte/Repo2","count":12}]},"isInsnLimit":false,"totalGas":0,"executionGas":0,"extraGas":0,"size":0,"eventRelated":false,"responseID":"1645085355104_1279","action":"onExecuteResult","executeTime":"9"}
-
异常返回:抛出异常,result的内容是个字符串表示异常内容
{"needSeq":false,"seq":0,"status":"Exception","result":{"msg":"xxx","code":1},"isInsnLimit":false,"totalGas":0,"executionGas":0,"extraGas":0,"size":0,"eventRelated":false,"responseID":"1645085126815_8926","action":"onExecuteResult","executeTime":"17"}
2.countRecordByDate @董瑞
-
说明:
//=====全域监管:数字对象溯源 针对单个DO的,通过SQL查询来实现。 //根据 doId --> 找到“数字对象世系” //86.500.1/Repo.1/Doab //根据 doId+时间范围+interval+protocol --> 不同operation的统计数据 (AuditProxy) //countDORecordByDate() //{"doId":xxxx,"startTime","endTime","interval","eventPrefix":["doip_create","doip_update"]} //{"eventxxx":[1,2,3],"event2":[1,2,3]}
//根据 doId +查找条件(时间范围 protocol operation user?) +offset/count -->总数+指定条数的数组(AuditProxy) // queryDoRecordByDate //{"doId":xxxx,"startTime","endTime","eventPrefix":["doip_create","doip_update"]} //{"count":xx, "data":[{doip_request的某一行。},]} // queryDoRecordByOffset //{"doId":xxxx,"offset","count","eventPrefix":["doip_create","doip_update"]} //{"total":xx,"count":xx, "data":[{doip_request的某一行。},]} //==============
-
参数:下面的内容表示owner字段当中包含"xxx"且doid当中包含"aibd"的结果
{ "startTime":1641454745128, "endTime":1641494745128, "interval":5000, "eventPrefix":["abc"] }
-
正常返回:repo元数据的数组,每一个{}表示一个元数据
{ "doip_search":[1,2,3,4], "doip_create":[5,6,7,8] }
-
异常返回
{ "msg":"can not found repo", "code":1 }
3.getDoFilter @张宏伟
-
说明:按照某一字段值的范围查询
-
参数:下面是按照字段createTime的时间来查询,count和offset可缺省
{ "type":"creatTime", "count":10, "offset":0, "from":"1141363811328", "to":"1941363811328" }
-
正常返回:repo元数据的数组,每一个{}表示一个元数据
{ "data":[ {},{},{} ], "total":3 }
-
异常返回
{ "msg":"can not found repo", "code":1 }
4.search
-
说明:支持多个字段的搜索
-
参数:下面的内容表示owner字段当中包含"xxx"且doid当中包含"aibd"的结果
{ "params":[ {"type":"owner","keyword":"xxx"}, {"type":"doid","keyword":"aibd"} ], "count":10, "offset":0 }
-
正常返回:repo元数据的数组,每一个{}表示一个元数据
{ "data":[ {},{},{} ], "total":3 }
-
异常返回
{ "msg":"can not found repo", "code":1 }