Skip to content

BindPatron()

任延华 edited this page Jan 20, 2020 · 4 revisions

对应于dp2library的BindPatron() API。

其中strQueryWord参数的使用方法如下:

        //      strQueryWord    用于定位读者记录的检索词。
        //          0) 如果以"RI:"开头,表示利用 参考ID 进行检索
        //          1) 如果以"NB:"开头,表示利用姓名生日进行检索。姓名和生日之间间隔以'|'。姓名必须完整,生日为8字符形式
        //          2) 如果以"EM:"开头,表示利用email地址进行检索。注意 email 本身应该是 email:xxxx 这样的形态。也就是说,整个加起来是 EM:email:xxxxx
        //          3) 如果以"TP:"开头,表示利用电话号码进行检索
        //          4) 如果以"ID:"开头,表示利用身份证号进行检索
        //          5) 如果以"CN:"开头,表示利用证件号码进行检索
        //          6) 如果以"UN:"开头,表示利用用户名进行检索,意思就是工作人员的账户名了,不是针对读者绑定
        //          7) 否则用证条码号进行检索

注:为避免返回的读者记录过大,超过dp2mserver底层SignalR限制的单条消息尺寸引起惩罚性重连,dp2library在API返回前特意清除了读者记录中的borrows元素和borrowHistory等元素。

案例1:

Remote User Name:dp2capo
Action:bind
Query Word:R0000001
Password:test
Bindid:weixinid:12345
Style:single
Result Type List:xml

注:Style如果为multiple,表示允许多重绑定。如果为single,表示只允许单重绑定,即如果名字(冒号左边部分)一样的绑定ID(冒号右边部分),再次绑定会冲掉前一次的绑定ID。

返回的是读者记录XML格式

案例2:

Remote User Name:dp2capo
Action:bind
Query Word:UN:superviosor
Password:test
Bindid:weixinid:12345
Style:single
Result Type List:

返回的是用户账户信息的XML格式(不受Result Type List 的影响):

<account name="supervisor" 
rights="amerce,amercemodifycomment,amercemodifyprice,amerceundo,batchtask,bindpatron,borrow,changecalendar,changereaderbarcode,changereaderpassword,changereaderstate,changeuser,changeuserpassword,clearalldbs,client_deletebibliosubrecords,client_simulateborrow,client_uimodifyorderrecord,deletecalendar,deletesettlement,deleteuser,devolvereaderinfo,download,foregift,getbiblioinfo,getbibliosummary,getcalendar,getchannelinfo,getcommentinfo,getissueinfo,getiteminfo,getoperlog,getorderinfo,getpatrontempid,getreaderinfo,getrecord,getres,getsystemparameter,getuser,hire,inventory,inventorydelete,listbibliodbfroms,listdbfroms,lost,managecache,managechannel,managecomment,managedatabase,movereaderinfo,newcalendar,newuser,order,passgate,read,renew,repairborrowinfo,reservation,restore,return,returnforegift,search,searchbiblio,searchcharging,searchcomment,searchissue,searchitem,searchorder,searchreader,setbiblioinfo,setclock,setcommentinfo,setissueinfo,setiteminfo,setorderinfo,setreaderinfo,setsystemparameter,settailnumber,settlement,setutilinfo,undosettlement,upload,urgentrecover,verifyreaderpassword,viewreport,writeobject,writerecord,writetemplate,writeres,level-1,resetpasswordreturnmessage,getmsmqmessage" 
libraryCode="" 
access="" 
comment="" 
binding="testid:123456" />

案例3:

Remote User Name:dp2capo
Action:bind
Query Word: PQR:R0000001@OULTPG6IDX2LZU20JVJMY1NR08
Password:xxxxx
Bindid:weixinid:12345
Style:single
Result Type List:

其中,Query Word为读者二维码。二维码字符串本身内容为“PQR:xxxxxx”形态。

Password为二维码字符串通过SHA1算法计算出来的hash码: string strSHA1 = Cryptography.GetSHA1(strQueryWord);

Clone this wiki locally