插件开发技术说明(4)---xml编程
2015-05-27 16:06
183 查看
以下是sba.pr协议规则文件中2个协议处理的描述.
通过本示例可以了解如何使用l编写xml协议处理脚本,取代编写c++代码。
使用xml协议规则文件的具体的局限和缺陷后续给出。
协议规则文件与插件同名,扩展名为:pr
7151-Request:演示如何查询数据,有条件
sba插件的 sba.pr内容如下:
。加入购物车
。查询购物车
通过本示例可以了解如何使用l编写xml协议处理脚本,取代编写c++代码。
使用xml协议规则文件的具体的局限和缺陷后续给出。
协议规则文件与插件同名,扩展名为:pr
1.示例
7150-Request:演示如何insert7151-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 |
相关文章推荐
- 插件开发技术说明(12)---面向业务对象编程:2种风格的对比
- 插件开发技术说明(15)---单据处理编程模式
- 插件开发技术说明(13)---含明细列表查询的处理
- 插件开发技术说明(16)---消除代码冗余
- 插件开发技术说明(1)---前言
- 插件开发技术说明(2)---rc_finder插件
- 插件开发技术说明(3)---letein插件
- 插件开发技术说明(11)---修改数据
- 插件开发技术说明(7)---读插件配置
- 插件开发技术说明(19)---通用查询处理
- 插件开发技术说明(6)---分页查询示例
- 插件开发技术说明(15)---文件自动分目录存储
- 插件开发技术说明(5)---分页处理
- 插件开发技术说明(18)---异步任务队列使用
- 插件开发技术说明(14)---服务配置访问
- 插件开发技术说明(10)---业务处理示例(加入购物车)
- 插件开发技术说明(17)---应用CRUD开发模式范例
- Firefox插件开发详解--需要掌握的技术和相关的开发网站
- Android开发之xml解析技术
- Myeclipse的插件mybatis-generator创建的配置文件generatorConfig.xml的配置详细说明