DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
105 stars 54 forks source link

dp2 restful api #769

Open renyh opened 3 years ago

renyh commented 3 years ago

dp2library API 调用指南  https://github.com/DigitalPlatform/dp2/issues/537

检索图书/期刊 API,检索读者的API https://github.com/DigitalPlatform/dp2/wiki/dp2Library-API-%E5%A4%A7%E5%85%A8

restful api测试工具:可以给chrome安装Talend API Tester插件 https://blog.csdn.net/yuanfate/article/details/108615333 ,或者下载postman工具 https://www.postman.com/downloads/

测试服务器地址:http://dp2003.com/dp2library/demo/rest

renyh commented 3 years ago

登录

http://dp2003.com/dp2library/demo/rest/login POST Content-Type:application/json

request

{
  "strUserName":"test",
  "strPassword":"2024",
  "strParameters":"type=worker,client=testclient|0.1"
}

response

{
    "LoginResult": {
        "ErrorCode": 0,
        "ErrorInfo": null,
        "Value": 1
    },
    "strOutputUserName": "test",
    "strRights": "borrow,getbiblioinfo,getiteminfo,getreaderinfo,renew,return,searchbiblio,searchitem,searchreader,getsystemparameter,librarian,checkclientversion",
    "strLibraryCode": ""
}
renyh commented 3 years ago

检索读者

接口文档:https://github.com/DigitalPlatform/dp2/wiki/dp2API%E4%B9%8BSearchReader

http://dp2003.com/dp2library/demo/rest/SearchReader POST Content-Type:application/json sessionid=c02c4b00-0e11-4396-813f-e413d10a37b8; Path=/; Domain=123.57.163.11;

request

{
    "strReaderDbNames":"<全部>",
    "strQueryWord":"",
    "strFrom":"__id",
    "strMatchStyle":"left",
    "nPerMax":"-1",
    "strResultSetName":"readers"
}

样例2

{
    "strReaderDbNames":"<全部>",
    "strQueryWord":"任",
    "strFrom":"姓名",
    "strMatchStyle":"left",
    "nPerMax":"-1",
    "strResultSetName":"myResult"
}

response

{
    "SearchReaderResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 30
    }
}

获取检索结果

http://dp2003.com/dp2library/demo/rest/GetSearchResult POST Content-Type:application/json

request

{
"strResultSetName":"readers",
"lStart,":"0",
"lCount":"2",
"strBrowseInfoStyle":"id,cols"
}

response

{
    "GetSearchResultResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 30
    },
    "searchresults": [
        {
            "Cols": [
                "XZP00002",
                "朱婧媛",
                "",
                "学生",
                "2018级初中一班",
                "",
                "",
                ""
            ],
            "Keys": null,
            "Path": "星洲学校读者/2",
            "RecordBody": null
        },
        {
            "Cols": [
                "XZP00003",
                "李萍",
                "",
                "学生",
                "2018级初中一班",
                "",
                "",
                ""
            ],
            "Keys": null,
            "Path": "星洲学校读者/3",
            "RecordBody": null
        }
    ]
}
renyh commented 3 years ago

检索书目

http://dp2003.com/dp2library/demo/rest/SearchBiblio POST Content-Type:application/json

request

{
"strBiblioDbNames":"<all>",
"strFromStyle":"recid",
"strMatchStyle":"left",
"nPerMax":"-1",
"strResultSetName":"biblios"
}

response

{
    "SearchBiblioResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 1748
    },
    "strQueryXml": "<target list='中文图书:__id;中文期刊:__id;西文图书:__id;西文期刊:__id;外源库:__id;西文采访:__id;代理商订单:__id;图书交换1:__id;USMARC临时库:__id'><option warning='0'/><item><word></word><match>left</match><relation>=</relation><dataType>string</dataType><maxCount>-1</maxCount></item><lang></lang></target>"
}

从结果集中取数据

http://dp2003.com/dp2library/demo/rest/GetSearchResult POST Content-Type:application/json

request

{
"strResultSetName":"biblios",
"lStart,":"0",
"lCount":"2",
"strBrowseInfoStyle":"id,cols"
}

response

{
    "GetSearchResultResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 1748
    },
    "searchresults": [
        {
            "Cols": [
                "我与胡适先生",
                "周汝昌著; 周丽苓,周伦苓编",
                "漓江出版社",
                "现代",
                "K825.6=76; K825.4=72",
                "",
                "0; 本书有三大亮点:一,独家资料 红学泰斗周汝昌与一代鸿儒胡适之往来书信首度悉数面世,大量翔实而珍贵的资料、照片、书影报影图说历史;二,正本清源 当事人米寿高龄从容回忆与胡适及顾随、俞平伯、陶心如、张伯驹、文怀沙、周策纵、潘重规等的交往旧事,展现出许多大师学者的美好瞬间;三,典藏珍本 彩色影印,一流装帧,附赠周汝昌、周祜昌、胡适之珍贵手迹,书信原件仿真。; 本书平静简洁的文字勾勒出作者丰富的学术轨迹,淡然的叙述中蕴涵着历史和人生的诸多况味,体现了先哲后贤人格上的感召和精神上的传承。",
                "7-5407-3428-0"
            ],
            "Keys": null,
            "Path": "中文图书/1",
            "RecordBody": null
        },
        {
            "Cols": [
                "网络是怎样连接的 (图灵程序设计丛书)",
                "户根勤著; 周自恒译",
                "人民邮电出版社",
                "2017.1",
                "TP393",
                "",
                "",
                "9787115441249; 9787115441249"
            ],
            "Keys": null,
            "Path": "中文图书/3",
            "RecordBody": null
        }
    ]
}

获取一条书目

http://dp2003.com/dp2library/demo/rest/GetBiblioInfos POST Content-Type:application/json

{
"strBiblioRecPath":"中文图书/1",
"formats":["xml"]
}

response

{
    "GetBiblioInfosResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 1
    },
    "results": [
        "<unimarc:record xmlns:dprms=\"http://dp2003.com/dprms\" xmlns:unimarc=\"http://dp2003.com/UNIMARC\"><unimarc:leader>01960nam0 2200373   450 </unimarc:leader><unimarc:controlfield tag=\"001\">001517267</unimarc:controlfield><unimarc:controlfield tag=\"005\">20051110110358.0</unimarc:controlfield><unimarc:datafield tag=\"010\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">7-5407-3428-0</unimarc:subfield><unimarc:subfield code=\"d\">CNY34.80</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"035\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">(A100000NLC)002889117</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"049\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">A100000NLC</unimarc:subfield><unimarc:subfield code=\"b\">UCS01001517267</unimarc:subfield><unimarc:subfield code=\"c\">002889117</unimarc:subfield><unimarc:subfield code=\"d\">NLC01</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"100\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">20050316d2005    em y0chiy50      ea</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"101\" ind1=\"0\" ind2=\" \"><unimarc:subfield code=\"a\">chi </unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"102\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">CN</unimarc:subfield><unimarc:subfield code=\"b\">450000</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"105\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">a   z   000yd</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"106\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">r</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"200\" ind1=\"1\" ind2=\" \"><unimarc:subfield code=\"a\">我与胡适先生</unimarc:subfield><unimarc:subfield code=\"9\">wo yu hu shi xian sheng</unimarc:subfield><unimarc:subfield code=\"b\">专著</unimarc:subfield><unimarc:subfield code=\"f\">周汝昌著</unimarc:subfield><unimarc:subfield code=\"g\">周丽苓,周伦苓编</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"210\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">桂林</unimarc:subfield><unimarc:subfield code=\"c\">漓江出版社</unimarc:subfield><unimarc:subfield code=\"d\">现代</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"215\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">224页</unimarc:subfield><unimarc:subfield code=\"c\">照片,图,书影</unimarc:subfield><unimarc:subfield code=\"d\">23cm</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"312\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">封面英文题:Dr.Hushih &amp; I</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"330\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">本书是红学泰斗周汝昌与一代鸿儒胡适之的交往回忆。包括《两进燕园》、《相濡以沫》、《师友情谊与学识见解》等。</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"510\" ind1=\"1\" ind2=\" \"><unimarc:subfield code=\"a\">Dr.Hushih &amp; I</unimarc:subfield><unimarc:subfield code=\"z\">eng</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"600\" ind1=\" \" ind2=\"0\"><unimarc:subfield code=\"a\">周汝昌</unimarc:subfield><unimarc:subfield code=\"f\">(1918-2012)</unimarc:subfield><unimarc:subfield code=\"x\">回忆录</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"600\" ind1=\" \" ind2=\"0\"><unimarc:subfield code=\"a\">胡适</unimarc:subfield><unimarc:subfield code=\"f\">(1891-1962)</unimarc:subfield><unimarc:subfield code=\"x\">生平事迹</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"610\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">0</unimarc:subfield><unimarc:subfield code=\"a\">本书有三大亮点:一,独家资料 红学泰斗周汝昌与一代鸿儒胡适之往来书信首度悉数面世,大量翔实而珍贵的资料、照片、书影报影图说历史;二,正本清源 当事人米寿高龄从容回忆与胡适及顾随、俞平伯、陶心如、张伯驹、文怀沙、周策纵、潘重规等的交往旧事,展现出许多大师学者的美好瞬间;三,典藏珍本 彩色影印,一流装帧,附赠周汝昌、周祜昌、胡适之珍贵手迹,书信原件仿真。</unimarc:subfield><unimarc:subfield code=\"a\">本书平静简洁的文字勾勒出作者丰富的学术轨迹,淡然的叙述中蕴涵着历史和人生的诸多况味,体现了先哲后贤人格上的感召和精神上的传承。</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"690\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">K825.6=76</unimarc:subfield><unimarc:subfield code=\"v\">4</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"690\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">K825.4=72</unimarc:subfield><unimarc:subfield code=\"v\">4</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"701\" ind1=\" \" ind2=\"0\"><unimarc:subfield code=\"a\">唐女著</unimarc:subfield><unimarc:subfield code=\"9\">zhou ru chang</unimarc:subfield><unimarc:subfield code=\"f\">(1918-2012)</unimarc:subfield><unimarc:subfield code=\"4\">著</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"702\" ind1=\" \" ind2=\"0\"><unimarc:subfield code=\"a\">周丽苓</unimarc:subfield><unimarc:subfield code=\"9\">zhou li ling</unimarc:subfield><unimarc:subfield code=\"c\">(女)</unimarc:subfield><unimarc:subfield code=\"4\">编</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"702\" ind1=\" \" ind2=\"0\"><unimarc:subfield code=\"a\">周伦苓</unimarc:subfield><unimarc:subfield code=\"9\">zhou lun ling</unimarc:subfield><unimarc:subfield code=\"4\">编</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"801\" ind1=\" \" ind2=\"2\"><unimarc:subfield code=\"a\">CN</unimarc:subfield><unimarc:subfield code=\"b\">OLCC</unimarc:subfield><unimarc:subfield code=\"c\">20120605</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"856\" ind1=\"4\" ind2=\" \"><unimarc:subfield code=\"3\">Cover image</unimarc:subfield><unimarc:subfield code=\"u\">https://images-cn.ssl-images-amazon.com/images/I/413cOJcrVVL.jpg</unimarc:subfield><unimarc:subfield code=\"q\">image/jpeg</unimarc:subfield><unimarc:subfield code=\"x\">type:FrontCover.LargeImage;size:370X500px;source:Amazon:B0011BR92O@webservices.amazon.cn</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"997\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"a\">9787540734282|我与胡适先生|唐女著|漓江出版社,|</unimarc:subfield><unimarc:subfield code=\"h\">bc8beb97ce4ef250ef52de885ef5d20b</unimarc:subfield><unimarc:subfield code=\"v\">0.04</unimarc:subfield></unimarc:datafield><unimarc:datafield tag=\"998\" ind1=\" \" ind2=\" \"><unimarc:subfield code=\"u\">2018-10-11 05:50:57Z</unimarc:subfield><unimarc:subfield code=\"z\">supervisor</unimarc:subfield><unimarc:subfield code=\"a\">数据导入20181011</unimarc:subfield></unimarc:datafield><operations><operation name=\"create\" time=\"Thu, 11 Oct 2018 05:51:30 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Wed, 03 Jul 2019 15:53:47 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Thu, 31 Oct 2019 16:04:00 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Fri, 08 Nov 2019 12:40:37 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Fri, 08 Nov 2019 13:05:45 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Sun, 24 Nov 2019 15:06:50 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Thu, 06 Feb 2020 11:28:33 +0800\" operator=\"supervisor\" /><operation name=\"change\" time=\"Fri, 29 May 2020 15:38:42 +0800\" operator=\"t1\" /><operation name=\"change\" time=\"Fri, 11 Sep 2020 14:39:12 +0800\" operator=\"ryh\" /><operation name=\"change\" time=\"Mon, 30 Nov 2020 11:16:47 +0800\" operator=\"supervisor\" /></operations></unimarc:record>"
    ],
    "baTimestamp": [
        247,
        52,
        21,
        95,
        222,
        148,
        216,
        8,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        18
    ]
}
renyh commented 3 years ago

获取书目下的册记录

http://dp2003.com/dp2library/demo/rest/GetEntities POST Content-Type:application/json

request

{
"strBiblioRecPath":"中文图书/1",
"lStart":"0",
"lCount":"-1",
"strStyle":"opac"
}

response

{
    "GetEntitiesResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 11
    },
    "entityinfos": [
        {
            "Action": "",
            "ErrorCode": 0,
            "ErrorInfo": "",
            "NewRecPath": "",
            "NewRecord": "",
            "NewTimestamp": null,
            "OldRecPath": "中文图书实体/88",
            "OldRecord": "<root><parent>1</parent><location>星洲学校/图书馆</location><price>CNY34.80</price><bookType>普通</bookType><batchNo>图书登记20181009</batchNo><accessNo></accessNo><barcode>XZ000100</barcode><refID>07a97769-6844-451d-a5a2-d99e40ef1ad1</refID><operations><operation name=\"create\" time=\"Wed, 31 Oct 2018 13:19:59 +0800\" operator=\"supervisor\" /><operation name=\"lastModified\" time=\"Sat, 17 Oct 2020 10:11:38 +0800\" operator=\"ryh\" /></operations><state></state><publishTime>20080709</publishTime><seller></seller><source></source><registerNo></registerNo><comment>F</comment><mergeComment></mergeComment><volume></volume><intact></intact><binding /><bindingCost></bindingCost><shelfNo></shelfNo><borrowHistory count=\"9\"><borrower returnDate=\"Tue, 10 Dec 2019 16:56:50 +0800\" barcode=\"XZP10199\" borrowDate=\"Tue, 10 Dec 2019 16:56:42 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Fri, 10 Jan 2020 12:00:00 +0800\" borrowOperator=\"marui\" operator=\"marui\" /><borrower returnDate=\"Tue, 10 Dec 2019 16:53:06 +0800\" barcode=\"XZP10199\" borrowDate=\"Tue, 10 Dec 2019 16:53:01 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Fri, 10 Jan 2020 12:00:00 +0800\" borrowOperator=\"marui\" operator=\"marui\" /><borrower returnDate=\"Tue, 10 Dec 2019 16:52:22 +0800\" barcode=\"XZP10199\" borrowDate=\"Tue, 10 Dec 2019 16:52:18 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Fri, 10 Jan 2020 12:00:00 +0800\" borrowOperator=\"marui\" operator=\"marui\" /><borrower returnDate=\"Tue, 10 Dec 2019 16:52:09 +0800\" barcode=\"XZP10999\" borrowDate=\"Tue, 10 Dec 2019 16:52:01 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Fri, 10 Jan 2020 12:00:00 +0800\" borrowOperator=\"marui\" operator=\"marui\" /><borrower returnDate=\"Thu, 28 Nov 2019 15:07:17 +0800\" barcode=\"XZP10001\" borrowDate=\"Thu, 24 Oct 2019 17:05:16 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sun, 24 Nov 2019 12:00:00 +0800\" borrowOperator=\"supervisor\" operator=\"supervisor\" /><borrower returnDate=\"Tue, 30 Jul 2019 15:32:01 +0800\" barcode=\"XZP00017\" borrowDate=\"Thu, 13 Jun 2019 14:10:26 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sun, 14 Jul 2019 12:00:00 +0800\" borrowOperator=\"XZP00017\" operator=\"supervisor\" /><borrower returnDate=\"Mon, 18 Mar 2019 14:29:11 +0800\" barcode=\"XZP20019\" borrowDate=\"Mon, 10 Dec 2018 09:57:15 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 10 Jan 2019 12:00:00 +0800\" borrowOperator=\"px\" operator=\"supervisor\" /><borrower returnDate=\"Mon, 10 Dec 2018 09:54:36 +0800\" barcode=\"XZP20019\" borrowDate=\"Mon, 10 Dec 2018 09:50:17 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 10 Jan 2019 12:00:00 +0800\" borrowOperator=\"px\" operator=\"px\" /><borrower returnDate=\"Mon, 10 Dec 2018 09:48:04 +0800\" barcode=\"XZP20019\" borrowDate=\"Mon, 10 Dec 2018 09:46:44 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 10 Jan 2019 12:00:00 +0800\" borrowOperator=\"px\" operator=\"px\" /></borrowHistory><reservations></reservations></root>",
            "OldTimestamp": [
                15,
                184,
                224,
                250,
                65,
                114,
                216,
                8,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                211
            ],
            "RefID": "",
            "Style": ""
        },
        {
            "Action": "",
            "ErrorCode": 0,
            "ErrorInfo": "",
            "NewRecPath": "",
            "NewRecord": "",
            "NewTimestamp": null,
            "OldRecPath": "中文图书实体/90",
            "OldRecord": "<root><parent>1</parent><bookType>普通</bookType><batchNo>图书验收0928</batchNo><barcode>XZ000101</barcode><refID>fab81681-3489-42fd-b23a-a345813acb52</refID><state></state><seller>新华书店</seller><source>本馆经费</source><price>CNY100</price><location>星洲学校/图书馆</location><accessNo>K825.6=76/Z780</accessNo><operations><operation name=\"create\" time=\"Wed, 31 Oct 2018 14:41:33 +0800\" operator=\"supervisor\" /><operation name=\"lastModified\" time=\"Mon, 10 Feb 2020 11:40:37 +0800\" operator=\"ryh\" /></operations><borrowHistory count=\"9\"><borrower returnDate=\"Fri, 21 Feb 2020 18:21:46 +0800\" barcode=\"XZP10001\" borrowDate=\"Thu, 13 Feb 2020 08:35:34 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sun, 15 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"ryh\" /><borrower returnDate=\"Wed, 12 Feb 2020 20:09:20 +0800\" barcode=\"XZP00001\" borrowDate=\"Wed, 12 Feb 2020 20:05:27 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sat, 14 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"ryh\" /><borrower returnDate=\"Wed, 12 Feb 2020 14:31:13 +0800\" barcode=\"XZP10199\" borrowDate=\"Wed, 12 Feb 2020 14:26:32 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sat, 14 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"ryh\" /><borrower returnDate=\"Tue, 11 Feb 2020 00:31:44 +0800\" barcode=\"XZP10001\" borrowDate=\"Mon, 10 Feb 2020 21:36:04 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 12 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"marui\" /><borrower returnDate=\"Mon, 10 Feb 2020 16:57:19 +0800\" barcode=\"XZP00001\" borrowDate=\"Mon, 10 Feb 2020 15:56:18 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 12 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"ryh\" /><borrower returnDate=\"Mon, 10 Feb 2020 14:53:50 +0800\" barcode=\"XZP10001\" borrowDate=\"Mon, 10 Feb 2020 14:49:27 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Thu, 12 Mar 2020 12:00:00 +0800\" borrowOperator=\"ryh\" operator=\"ryh\" /><borrower returnDate=\"Thu, 13 Jun 2019 17:09:29 +0800\" barcode=\"XZP00018\" borrowDate=\"Thu, 13 Jun 2019 14:10:23 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sun, 14 Jul 2019 12:00:00 +0800\" borrowOperator=\"XZP00018\" operator=\"supervisor\" /><borrower returnDate=\"Thu, 13 Jun 2019 13:15:45 +0800\" barcode=\"XZP00001\" borrowDate=\"Thu, 13 Jun 2019 06:21:09 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sun, 14 Jul 2019 12:00:00 +0800\" borrowOperator=\"supervisor\" operator=\"supervisor\" /><borrower returnDate=\"Thu, 13 Jun 2019 06:01:18 +0800\" barcode=\"XZP00002\" borrowDate=\"Wed, 12 Jun 2019 13:22:51 +0800\" borrowPeriod=\"31day\" denyPeriod=\"\" returningDate=\"Sat, 13 Jul 2019 12:00:00 +0800\" borrowOperator=\"supervisor\" operator=\"supervisor\" /></borrowHistory><reservations></reservations></root>",
            "OldTimestamp": [
                42,
                159,
                134,
                19,
                12,
                208,
                215,
                8,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                5
            ],
            "RefID": "",
            "Style": ""
        }

    ]
}
renyh commented 3 years ago

借阅历史

http://dp2003.com/dp2library/demo/rest/SearchCharging POST Content-Type:application/json

request

{
    "patronBarcode":"XZP10001",
    "timeRange":"2022/01/01~",
    "actions":"return,lost",
    "order":"",
    "start":"0",
    "count":"-1"
}

参数说明: patronBarcode:读者证条码号 timeRange:时间范围,格式为:2022/10/11 00:00~2022/11/09 23:59,有几种写法:~表示全部借阅历史,2022/01/01~表示从2022/01/01至今的借阅历史。 actions:以逗号分隔,borrow表示借,return表示还,lost表示丢失的。 order:排序方式。默认 ascending start:要跳过这么多个记录 count:希望返回的记录数

response

{
    "SearchChargingResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 3404
    },
    "results": [
        {
            "Item": {
                "Action": "return",
                "BiblioRecPath": null,
                "ClientAddress": "58.240.197.146",
                "Id": "5c8f3e762faee906acdf7743",
                "ItemBarcode": "NKX0006103",
                "LibraryCode": "星洲学校",
                "No": null,
                "OperTime": "2019/3/18 14:45:10",
                "Operation": "return",
                "Operator": "supervisor",
                "PatronBarcode": "XZP10001",
                "Period": null,
                "Volume": null
            },
            "RelatedItem": {
                "Action": "borrow",
                "BiblioRecPath": null,
                "ClientAddress": "58.240.197.146",
                "Id": "5c8f3d702faee906acdf7740",
                "ItemBarcode": "NKX0006103",
                "LibraryCode": "星洲学校",
                "No": "0",
                "OperTime": "2019/3/18 14:40:48",
                "Operation": "borrow",
                "Operator": "supervisor",
                "PatronBarcode": "XZP10001",
                "Period": "31day",
                "Volume": null
            }
        },
        {
            "Item": {
                "Action": "return",
                "BiblioRecPath": null,
                "ClientAddress": "58.240.197.146",
                "Id": "5c8f3e762faee906acdf7744",
                "ItemBarcode": "NKX0006102",
                "LibraryCode": "星洲学校",
                "No": null,
                "OperTime": "2019/3/18 14:45:10",
                "Operation": "return",
                "Operator": "supervisor",
                "PatronBarcode": "XZP10001",
                "Period": null,
                "Volume": null
            },
            "RelatedItem": {
                "Action": "borrow",
                "BiblioRecPath": null,
                "ClientAddress": "58.240.197.146",
                "Id": "5c8f3d702faee906acdf7741",
                "ItemBarcode": "NKX0006102",
                "LibraryCode": "星洲学校",
                "No": "0",
                "OperTime": "2019/3/18 14:40:48",
                "Operation": "borrow",
                "Operator": "supervisor",
                "PatronBarcode": "XZP10001",
                "Period": "31day",
                "Volume": null
            }
        }      
    ]
}
renyh commented 3 years ago

获取一条预约信息

http://dp2003.com/dp2library/demo/rest/GetRecord

{"strPath":"预约到书/20"}

{
    "GetRecordResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 0
    },
    "timestamp": [
        70,
        39,
        83,
        26,
        14,
        204,
        216,
        8,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    ],
    "strXml": "<root><state>outof</state><itemBarcode>BY200000009</itemBarcode><itemRefID></itemRefID><onShelf>true</onShelf><libraryCode>星洲学校</libraryCode><readerBarcode>XZP10002</readerBarcode><notifyDate>Sun, 23 Feb 2020 13:53:04 +0800</notifyDate><refID>ec881461-2097-47b0-98c6-e65789817213</refID><location>星洲学校/图书馆</location><accessNo>TP393/H637</accessNo></root>"
}
renyh commented 3 years ago

预约接口

        LibraryServerResult Reservation(
                    string strFunction,
                    string strReaderBarcode,
                    string strItemBarcodeList);

用途:预约借书。

参数表: 类型 参数名 说明 string strFunction 动作参数 string strReaderBarcode 证条码号 string strItemBarcodeList 册条码号列表。多个册条码号之间用逗号间隔

返回值: 成员 返回值 说明 LibraryServerResult.Value
-1 出错 0 操作成功 LibraryServerResult.ErrorInfo 出错信息

权限:需要reservation权限。

strFunction参数指定了动作参数。其值为new/delete/merge/split之一。 “new”表示创建新的预约事项。 “delete”表示删除已经存在的预约事项。 “merge”表示合并已经存在的预约事项。 “split”表示分割已经存在的预约事项。 系统允许一个或者多个册构成一个预约事项。如果一个预约事项中包含多个册,当这个预约事项中的任何一个册还回的时候,系统通知预约者来取这一册,同时这个预约事项被清除,也即这个预约事项中没有还回的其他册的预约自动失效。也就是说,如果读者希望定义多个册中只要到来任意一册就满足,那么需要把这些册设法组合在一个预约事项中。

而独立的预约事项之间,任何一个事项内的预约册到来,都不会导致其他事项被清除。其他事项会一直有效,直到预约册还回满足。

dp2OPAC的预约操作界面上,可以把任意两个或者多个已经创建的预约事项组合起来,或者把一个预约事项拆散为多个。

删除已经存在的预约事项,如果拟删除的预约事项处在尚未到书的状态,则表示不再需要预约事项中所列的册; 而如果拟删除的预约事项处于已经到书的状态(那必定是系统已经通知过读者了),则表示读者放弃这次取书,系统会自动把相关册的借阅权转移给后面正在排队预约的读者,并且这次放弃不会被计入“预约到书未取”次数(一直等到保留期过了都没有去取书、也不通过删除预约事项来明确告知系统放弃取书,才算“预约到书未取”)。也就是说,如果读者在预约到书后打算去正常取书,则不要去删除相关的预约事项,等读者去图书馆办理了借书手续后,相关的预约事项会被系统自动清除。

本API会对当前读者的状态进行如下检查: 如果当天已经过了读者证的失效期,则拒绝操作;如果读者记录的元素内容为非空,则拒绝操作。

检查根元素下的元素,检查其count属性值,如果已经超过系统定义的“预约到书后未取之极限值”(参见library.xml中元素的outofReservationThreshold属性值介绍),则拒绝进行操作。

dp2circulation的读者窗中有相关功能可以清除读者记录中元素count属性中的累计值

如果系统允许预约在架的册(这个参数请参见library.xml中元素的canReserveOnshelf属性),本API在发现所预约的册为在架状态时,会立即触发预约到书通知。如果系统不允许预约在架的册,则当本API发现拟预约的册为在架状态时,会拒绝进行预约。

一般意义上的“预约”,是图书已经被其他读者借走的情况下发生的。而允许预约在架的册,意思是当册本来就没有被借出,正在书架上存在的情况下,允许对这样的册进行预约操作。那么可以推断,这种预约请求肯定是会立即得到满足的。

renyh commented 3 years ago

获取读者信息

接口说明

https://github.com/DigitalPlatform/dp2/wiki/GetReaderInfo%28%29%E2%80%90%E8%8E%B7%E5%8F%96%E8%AF%BB%E8%80%85%E4%BF%A1%E6%81%AF

示例

http://dp2003.com/dp2library/demo/rest/GetReaderInfo POST Content-Type:application/json

request

{
  "strBarcode":"证条码号",
  "strResultTypeList":"advancexml,advancexml_borrow_bibliosummary"
}

注: strBarcode:测试读者可用P999999 strBarcode也传读者记录路径,格式样例为:@path:读者/72", strResultTypeList中的advancexml_borrow_bibliosummary参数表示可以带上书目摘要

response

{
    "GetReaderInfoResult": {
        "ErrorCode": 0,
        "ErrorInfo": "",
        "Value": 1
    },
    "results": [
        "<root><barcode>P999999</barcode><name>测试读者</name><readerType>读者</readerType>
<department>2018级初中一班</department><tel>13862157150</tel><refID>fd61a579-5aba-4478-9133-440f3ece2024</refID><libraryCode></libraryCode><borrows><borrow barcode=\"0999\" oi=\"CN-320506-C-ZG\" 
recPath=\"中文图书实体/714\" biblioRecPath=\"中文图书/3\" location=\"流通库\" borrowDate=\"Wed, 14 Apr 2021 08:04:41 +0800\" 
borrowPeriod=\"31day\" borrowID=\"f361d43f-8725-4eb9-82e5-2a305625d61d\" returningDate=\"Sat, 15 May 2021 12:00:00 +0800\" 
operator=\"supervisor\" type=\"普通\" volume=\"年度经费\" price=\"\" summary=\"网络是怎样连接的 (图灵程序设计丛书) / 户根勤著 ; 周自恒译. -- 第1版. -- ISBN 9787115441249 (Kindle电子书 ) : CNY30ISBN 9787115441249\" 
isOverdue=\"yes\" overdueInfo=\"已超过借阅期限 (2021年5月15日) 1 天。\" overdueInfo1=\" (已超期 1 天)\" timeReturning=\"Sat, 15 May 2021 12:00:00 +0800\" /></borrows><overdues></overdues><borrowHistory count=\"1\">
<borrow barcode=\"0998\" oi=\"CN-320506-C-ZG\" recPath=\"中文期刊实体/100\" biblioRecPath=\"中文期刊/215\" 
location=\"流通库\" borrowDate=\"Wed, 14 Apr 2021 08:04:44 +0800\" borrowPeriod=\"31day\" borrowID=\"b644ffcf-4b50-47c6-876d-da7c8b882605\" 
returningDate=\"Sat, 15 May 2021 12:00:00 +0800\" operator=\"supervisor\" type=\"普通\" price=\"\" returnDate=\"Wed, 14 Apr 2021 08:15:01 +0800\" borrowOperator=\"supervisor\" /></borrowHistory><oi>CN-320506-C-ZG</oi><info>
<item name=\"可借总册数\" value=\"10\" /><item name=\"日历名\"><value>新建日历</value></item><item name=\"当前还可借\" value=\"9\" /></info></root>"
    ],
    "strRecPath": "读者/72",
    "baTimestamp": [
        82,
        74,
        217,
        164,
        219,
        254,
        216,
        8,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        21
    ]
}
renyh commented 3 years ago

读者记录字段说明

barcode:证条码号</barcode>
name:姓名</name>
readerType:读者类型</readerType>
refID:参考ID
libraryCode:分馆代码
hire:租金节点
    @expireDate:租金失效期
    @period:租金周期

idCardNumber:身份证号</idCardNumber>
email:邮箱</email>
dateOfBirth:生日</dateOfBirth>
gender:性别</gender>
department:单位</department>
post:职务</post> 
address:地址</address>
tel:电话
borrows:在借图书容器节点
    borrow:一册在借图书节点
        @barcode:图书册条码
        @oi:图书机构代码
        @recPath:册记录路径
        @biblioRecPath:书目记录路径
        @location:馆藏地
        @borrowDate:借书时间
        @borrowPeriod:借阅期限
        @borrowID:系统产生的借书id,不用管
        @returningDate:还书时间
        @operator:操作人员帐号
        @type:图书类型
        @price:图书价格
        @notifyHistory:提醒标志,系统信息,不用管
        @isOverdue:是否超期
        @overdueInfo:超期信息
        @overdueInfo1:超期信息格式2
        @timeReturning:应还时间,一般不用这个参数,使用returningDate

borrowHistory:借阅历史容器节点
    borrow:一册借阅历史册
        @barcode:图书册条码
         ...略

读者记录样例

<?xml version="1.0" encoding="utf-8"?>
<root>
    <barcode>P001</barcode>
    <name>小明</name>
    <readerType>学生</readerType>
    <refID>ffd2b2c2-4a86-464e-b5d4-de61d766953b</refID>
    <libraryCode>
    </libraryCode>
    <hire expireDate="" period="" />
    <idCardNumber>500103197408256419</idCardNumber>
    <email>weixinid:~~40228cd3-76ed-435f-938d-306572c24355</email>
    <overdues>
    </overdues>
    <dateOfBirth>Tue, 13 Sep 2005 00:00:00 +0800</dateOfBirth>
    <gender>男</gender>
    <department>2020级一班</department>
    <address>华苑小区</address>
    <tel>123456789</tel>
    <createDate>Fri, 01 Jan 2021 00:00:00 +0800</createDate>
    <expireDate>Fri, 31 Dec 2021 00:00:00 +0800</expireDate>
    <post>小组长</post>
    <dprms:file id="0" usage="face" xmlns:dprms="http://dp2003.com/dprms" />
    <oi>CN-110108-1-ABC</oi>
    <info>
        <item name="可借总册数" value="5" />
        <item name="日历名">
            <value>基本日历</value>
        </item>
        <item name="当前还可借" value="3" />
    </info>
    <borrows>
        <borrow barcode="B002" oi="CN-110108-1-ABC" recPath="中文图书实体/2" biblioRecPath="中文图书/2" location="流通库" borrowDate="Fri, 12 Mar 2021 10:08:18 +0800" borrowPeriod="31day" borrowID="0410f3a5-4b9d-4174-9ad1-0096cff6773d" returningDate="Mon, 12 Apr 2021 12:00:00 +0800" operator="supervisor" type="普通" price="CNY10" notifyHistory="yny" isOverdue="yes" overdueInfo="已超过借阅期限 (2021年4月12日) 2 天。" overdueInfo1=" (已超期 2 天)" timeReturning="Mon, 12 Apr 2021 12:00:00 +0800" />
        <borrow barcode="B001" oi="CN-110108-1-ABC" recPath="中文图书实体/32" biblioRecPath="中文图书/1" location="流通库" borrowDate="Fri, 12 Mar 2021 10:07:35 +0800" borrowPeriod="31day" borrowID="8df1e52e-b047-4773-b27d-a3fe022984fd" returningDate="Mon, 12 Apr 2021 12:00:00 +0800" operator="supervisor" type="普通" price="" notifyHistory="yny" isOverdue="yes" overdueInfo="已超过借阅期限 (2021年4月12日) 2 天。" overdueInfo1=" (已超期 2 天)" timeReturning="Mon, 12 Apr 2021 12:00:00 +0800" />
    </borrows>
    <borrowHistory count="261">
        <borrow barcode="B001" oi="CN-110108-1-ABC" recPath="中文图书实体/32" biblioRecPath="中文图书/1" location="流通库" borrowDate="Tue, 15 Dec 2020 11:04:27 +0800" borrowPeriod="31day" borrowID="ff538380-eba3-469a-9271-97c666c4ba90" returningDate="Fri, 15 Jan 2021 12:00:00 +0800" operator="supervisor" type="普通" price="" notifyHistory="yny" returnDate="Fri, 22 Jan 2021 15:26:38 +0800" borrowOperator="zizhu" />
        <borrow barcode="B001" oi="CN-110108-1-ABC" recPath="中文图书实体/32" biblioRecPath="中文图书/1" location="流通库" borrowDate="Tue, 15 Dec 2020 11:01:02 +0800" borrowPeriod="31day" borrowID="465996bd-7dd2-4042-978f-e0ce9ba61b36" returningDate="Fri, 15 Jan 2021 12:00:00 +0800" operator="zizhu" type="普通" price="" returnDate="Tue, 15 Dec 2020 11:03:27 +0800" borrowOperator="zizhu" />
        <borrow barcode="B008" recPath="中文图书实体/8" biblioRecPath="中文图书/8" location="流通库" borrowDate="Thu, 03 Sep 2020 14:44:53 +0800" borrowPeriod="31day" borrowID="386fcc1c-4633-4ca3-8a36-95705889e49a" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="教材" price="CNY16.80" returnDate="Thu, 03 Sep 2020 14:53:55 +0800" borrowOperator="supervisor" />
        <borrow barcode="B006" recPath="中文图书实体/6" biblioRecPath="中文图书/6" location="流通库" borrowDate="Thu, 03 Sep 2020 14:44:53 +0800" borrowPeriod="31day" borrowID="0a0980a9-1489-4e9f-bdf2-f381c4b2accf" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="教材" price="CNY16.80" returnDate="Thu, 03 Sep 2020 14:53:51 +0800" borrowOperator="supervisor" />
        <borrow barcode="B005" recPath="中文图书实体/5" biblioRecPath="中文图书/5" location="流通库" borrowDate="Thu, 03 Sep 2020 14:44:53 +0800" borrowPeriod="31day" borrowID="62e5f1c0-39bf-4e64-b1bf-9e7b7bfae37a" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="普通" price="CNY16.80" returnDate="Thu, 03 Sep 2020 14:45:26 +0800" borrowOperator="supervisor" />
        <borrow barcode="B008" recPath="中文图书实体/8" biblioRecPath="中文图书/8" location="流通库" borrowDate="Thu, 03 Sep 2020 14:37:38 +0800" borrowPeriod="31day" borrowID="4b60ebdc-7d24-40e1-bc10-6dbeab5d7695" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="教材" price="CNY16.80" returnDate="Thu, 03 Sep 2020 14:44:40 +0800" borrowOperator="supervisor" />
        <borrow barcode="B007" recPath="中文图书实体/7" biblioRecPath="中文图书/7" location="流通库" borrowDate="Thu, 03 Sep 2020 14:37:38 +0800" borrowPeriod="31day" borrowID="0ad2c6fe-e01a-47fd-9894-8bdf77732441" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="教材" price="CNY16.80" returnDate="Thu, 03 Sep 2020 14:44:40 +0800" borrowOperator="supervisor" />
        <borrow barcode="B001" recPath="中文图书实体/1" biblioRecPath="中文图书/1" location="流通库" borrowDate="Thu, 03 Sep 2020 14:37:38 +0800" borrowPeriod="31day" borrowID="53e0d188-760d-4840-bf50-44a6c17766f8" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="普通" price="" returnDate="Thu, 03 Sep 2020 14:44:40 +0800" borrowOperator="supervisor" />
        <borrow barcode="B005" recPath="中文图书实体/5" biblioRecPath="中文图书/5" location="流通库" borrowDate="Thu, 03 Sep 2020 13:29:29 +0800" borrowPeriod="31day" borrowID="dccb5296-2862-48f3-b662-e37eedee324c" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="普通" price="CNY16.80" returnDate="Thu, 03 Sep 2020 13:39:00 +0800" borrowOperator="supervisor" />
        <borrow barcode="B003" recPath="中文图书实体/3" biblioRecPath="中文图书/3" location="流通库" borrowDate="Thu, 03 Sep 2020 13:29:29 +0800" borrowPeriod="31day" borrowID="5fe22ea0-db5b-4536-9750-fea9ce142f2c" returningDate="Sun, 04 Oct 2020 12:00:00 +0800" operator="supervisor" type="普通" price="CNY16.80" returnDate="Thu, 03 Sep 2020 13:39:00 +0800" borrowOperator="supervisor" />
    </borrowHistory>
</root>