Skip to content

预约到书通知

任延华 edited this page Jan 20, 2020 · 1 revision

主体格式如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <type>patronNotify</type>
    <recipient>R0000001@LUID:62637a12-1965-4876-af3a-fc1d3009af8a</recipient>
    <mime>xml</mime>
    <body>...</body>
</root>

其中,type元素值patronNotify表示这是针对读者的一种通知。
recipient元素里面是一个描述读者标识的字符串,由读者证条码号和图书馆ID组成。LUID是图书馆的UID。通过LUID可以了解这个读者是哪个图书馆的,这在多馆共享一个微信公众号模块时候特别重要。至于读者证条码号是不是方便用于给读者发送微信消息,这里并未特别在意,一般可以考虑进一步在读者记录里面找到更合适的标识来达到目的。

body元素里面是预约到书通知记录(注意这是一个字符串,需要另行装入一个XmlDocument解析),其格式如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <type>预约到书通知</type>
    <itemBarcode>0000001</itemBarcode>
    <itemRefID> </itemRefID>
    <notifyID>xxxx</notifyID>
    <onShelf>false</onShelf>
    <opacURL>/book.aspx?barcode=0000001</opacURL>
    <reserveTime>2天</reserveTime>
    <today>2016/5/17 10:10:59</today>
    <summary>船舶柴油机 / 聂云超主编. -- ISBN 7-...</summary>
    <patronName>张三</patronName>
    <patronRecord>
        <barcode>R0000001</barcode>
        <readerType>本科生</readerType>
        <name>张三</name>
        <refID>be13ecc5-6a9c-4400-9453-a072c50cede1</refID>
        <department>数学系</department>
        <address>address</address>
        <cardNumber>C12345</cardNumber>
        <email>email:xietao@dp2003.com,weixinid:testwx2</email>
        <tel>13641016400</tel>
        <idCardNumber>1234567890123</idCardNumber>
    </patronRecord>
</root>

其中,itemBarcode元素是所预约并到达的图书的册条码号;
itemRefID元素是册参考ID(目前这里还有点小问题,此元素暂时没有值);
notifyID元素是预约到书记录的ID;
onShelf元素表示图书是否在架,true表示在架,false表示不在架(而在出纳台保留书架);
opacURL元素是这一册图书在dp2OPAC里面相关页面的URL,为了抽象和通用,只是给出了相对路径,没有给出主机名和dp2OPAC路径部分;

reserveTime元素是保留天数;
today是通知创建当时的时间。如果要得到保留到的最后期限时间,可以通过today元素加上reserveTime元素天数算出。
summary是书目摘要;
patronName是读者的姓名;
patronRecord元素相当于一条读者记录,是比较完整的读者信息,是从读者记录中复制重要字段形成的。
为了获得读者的详细信息,可以从patronRecord元素下的各个元素去获得。

Clone this wiki locally