Skip to content

SetInfo()

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

修改各种记录信息。包装了dp2library的SetEntities() SetOrders() SetIssues() SetComments() SetBiblioInfo() SetReaderInfo() API。

setReaderInfo

修改读者信息。

SetInfoRequest中,Operation成员填”setReaderInfo”。BiblioRecPath成员保持为空即可。Entities成员是集合类型,里面包含一条或者多条记录。当API返回的时候,会返回针对每条记录操作的结果,数量、顺序和提交的记录是一致的。

下面介绍Entities集合中每个元素的结构。每个元素的类型为Entity。

    public class Entity
    {
        public string Action { get; set; }
        public string RefID { get; set; }
        public Record OldRecord { get; set; }
        public Record NewRecord { get; set; }
        public string Style { get; set; }
        public string ErrorInfo { get; set; }
        public string ErrorCode { get; set; }
    }

其中,Action是针对这一条记录要执行的动作,一般是new/change/delete之一,需要查dp2library具体API的帮助文档确定该怎么用这些值(有一些不常见的动作类型)。

RefID用途是为了锁定请求和响应中的记录位置关系,一般情况此参数可以不用,保持为空即可。

OldRecord和NewRecord是修改前后的记录内容,后面另外会介绍结构,它们都是Record类型的结构。如果是创建新记录,只需要提供NewRecord即可;如果是修改记录,OldRecord和NewRecord都要提供(OldRecord至少要提供Timestamp部分)。如果是删除记录,只提供OldRecord即可,最低限度提供OldRecord的RecPath和Timestamp即可。

Style是操作风格,特殊情况下才会用到。

ErrorInfo和ErrorCode只是在Entity结构被当作返回值的时候才会用到,用在请求中的时候,这两个成员保持为空即可。

下面介绍Record结构。

    public class Record
    {
        public string RecPath { get; set; }
        public string Format { get; set; }
        public string Data { get; set; }
        public string Timestamp { get; set; }
	}

其中RecPath是记录路径。

Format是数据格式,一般默认XML,保持为空即可。

Data是数据内容,一般是一个XML格式的字符串。

Timestamp是时间戳。

new和change操作后,API会返回记录的时间戳,前端一般需要记录下来,以便后面需要再次修改保存记录的时候使用。如果是首次修改记录,需要用getReaderInfo功能获得原有记录的时间戳,用在提交保存的调用中才能成功。

delete操作需要提交原记录的时间戳。

Clone this wiki locally