插件开发技术说明(4)---xml编程

来源:互联网 发布:cda数据分析师报名费 编辑:程序博客网 时间:2024/05/17 06:19

以下是sba.pr协议规则文件中2个协议处理的描述.

通过本示例可以了解如何使用l编写xml协议处理脚本,取代编写c++代码。

 

使用xml协议规则文件的具体的局限和缺陷后续给出。

 协议规则文件与插件同名,扩展名为:pr

1.示例

7150-Request:演示如何insert

7151-Request:演示如何查询数据,有条件

 

sba插件的 sba.pr内容如下:

<?xml version="1.0" encoding="gb2312" standalone="yes" ?><protocol><msgs><!--@加入购物车 --><msg id="7150" type="5" desc="加入购物车"><parameters><parameter><name>EId,UserID,CoEId,GoodsID</name><comment>企业ID,用户ID,供应商ID,商品ID</comment> <type>1</type>  <!-- 整型 --><nullable>false</nullable>  <!-- 不允许为空 --></parameter><parameter><name>SKUNum,PKNum</name> <comment>单品数,整装数</comment> <type>1</type><nullable>true</nullable>  <!--允许为空 --> </parameter><parameter><name>handlerid</name> <comment>HandlerID</comment> <type>3</type> <!--字符串类型 --><nullable>false</nullable>  </parameter></parameters><script><action>1</action> <!--必须参数 动作1-Insert 2-update 3-delete 4-query  --><table>t_Ven_ShoppingCart</table> <!--除action=4外,必须有此参数 --><vars><var>curdate=DATE()</var> <!-- 定义变量curdate,取值DATE()函数,获取当前时间--></vars><field_bind> <!-- 字段绑定参数和字段的绑定,如果action=4则不需要此节点 --><field><name>EId,UserID,CoEId,GoodsID,SKUQty,PackQty</name> <method>1</method>  <!-- 绑定方式: 1-参数值 2-参数编码表 3-常量 4-变量--><value>EId,UserID,CoEId,GoodsID,SKUNum,PKNum</value> </field><field><name>AddTime</name> <method>4</method>  <!-- 绑定方式: 1-参数值 2-参数编码表 3-常量 4-变量--><value>curdate</value> </field></field_bind><result><parameters> <!-- 需要显式返回的参数--><parameter><name>handlerid</name><method>1</method><!-- 参数计算方式 1-引用原来的同名参数 2-... 3-变量--></parameter></parameters></result></script></msg><!--@查询购物车(简版) --><msg id="7151" type="5" desc="查询购物车(简版)"><parameters><parameter><name>EId,UserID,TopNum</name> <comment>企业ID,用户ID,查询记录数</comment> <type>1</type> <!-- 1-整数 2-浮点数 3-字符串 4-日期 5-时间 6-日期时间 7-bool(0或1) 8-二进制数据 9-set(集合)--> <!--默认:字符串--><nullable>false</nullable>  </parameter></parameters><script><action>4</action> <!--必须参数 动作1-Insert 2-update 3-delete 4-query  --><select> <cmd><when>select top @TopNum d.eid,d.ename,a.objectid,a.goodsid,b.brandid,brandname,stype,spec,skuqty as skunum,packqty as pknum,addtime from t_ven_shoppingcart a,t_bas_mygoods b,t_bas_brand c,t_sys_org d where a.coeid=b.eid and a.goodsid=b.goodsid and b.brandid=c.brandid and d.eid=a.coeid and a.eid=@EId and userid=@UserID and a.status=0</when></cmd></select><result><method>1</method> <!-- 1-以行集形式返回 2-以参数形式返回 --></result></script></msg></msgs></protocol>

 

2.协议定义

对应的协议定义如下.

。加入购物车

协议名称

加入购物车

协议编号

7150

通信模式

请求-确认

请求内容

参数

参数

名称

说明

企业ID

EId

 

用户ID

UserID

 

供应商ID

CoEId

 

商品ID

GoodsID

 

单品数

SKUNum

 

整装数

PKNum

 

返回内容

参数

参数

名称

说明

 

 

 

 

。查询购物车

协议名称

查询购物车

协议编号

7151

通信模式

请求-确认

请求内容

参数

参数

名称

说明

企业ID

EId

 

用户ID

UserID

 

查询记录数

TopNum

 

返回内容

参数

参数

名称

说明

 

 

 

购物车商品列表

名称

说明

供应商ID

EId

 

供应商名称

EName

 

记录编号

ObjectID

 

商品ID

GoodsID

 

商品名称

GoodsName

 

品牌ID

BrandID

 

品牌名称

BrandName

 

型号

SType

 

规格

Spec

 

单品数

SKUNum

 

单品价

SalePrice

 

整装数

PKNum

 

整装价

WholePrice

 

商品图片

Pic

 

加入时间

AddTime

 

 


 

 


 

0 0
原创粉丝点击