Socket私有协议修改_第1页
Socket私有协议修改_第2页
Socket私有协议修改_第3页
Socket私有协议修改_第4页
Socket私有协议修改_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、yat数据交换协议V1.02016011141.说明2.概述客户端命令帧格式:表格中偏移量和长度以ASCII字符长度表示偏移字段长度描述0217213739535757+NCRC-16校验码4CRC-16服务端命令帧格式:偏移字段长度描述0268222626+NCRC-16校验码4CRC-16 例外回复命令帧格式:偏移字段长度描述57例外信息201/02/03/04/05错误59CRC-16校验码4其中例外信息中错误码定义如下: 01H:命令码错02H:数据校验错03H:命令解析错04H:命令执行出错05H:用户未认证采用ASCII码方式交互;命令首字符为“”,命令尾字符为“”。3.CRCJa

2、va实现代码:private static int polynomial = 0x1021;public static int crc(byte bytes)int crc = 0xffff;for(int index = 0; index bytes.length; index+)byte b = bytesindex;for(int i=0; i (7-i) & 1) = 1);boolean c15 = (crc 15) & 1) = 1);crc = 1;crc &= 0xffff;if(bit)crc += 1;if(c15)crc = polynomial;crc &= 0xfff

3、f;for(int i=0; i 15) & 1) = 1);crc = 1;crc &= 0xffff;if(c15)crc = polynomial;crc &= 0xffff;return crc;4.客户端命令3.1命令功能描述:Djfn187654376tyhgf65743219iuyhrf1、注册功能命令格式:偏移字段长度描述0#1数据标识1000000000000000000000000000000004Key(32位)YHZC功能编码:4个字母5000053(根据JOSN串长度设置)66位JSON数据长度,最小000000,最大9999999JSON:data:tingbh:0

4、1,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1QTCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn2、启用操作命令格式:偏移字段长度描述0#1数据标识1QYCZ4

5、功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:data:tingbh:01,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1QYCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】;

6、 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn3、禁用操作命令格式:偏移字段长度描述0#1数据标识1JYCZ4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:data:tingbh:01,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1JYCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000

7、000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn4、获取厅信息操作命令格式:偏移字段长度描述0#1数据标识1TWXX4功能编码:4个字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999“”没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TWXX4功能编码:4个字母50023(根据JOSN串长度设置)6JSON数据长度,最小000000,最

8、大9999999result:ok,data:tingbh:01,tingname:大厅,mlfs:1,automl:0,tingbh:01,tingname:二楼,mlfs:1,automl:0,msg: Result:结果标识(【ok:成功,failed:失败】; Data: 【tingbh:厅编号】;【tingname:厅名称】;【mlfs:抹零方式 0 不抹零 1四舍五入 2抹去小于1元的零头 3-抹去小于10元的零头】,【automl:自动抹零 0-不开启自动抹零 1-开启自动抹零】; 【msg:提示信息】)32结束符2回车换行,rn5、获取台信息操作命令格式:偏移字段长度描述0#1

9、数据标识1TZXX4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:tingbh:,taibh:01【tingbh:厅编号】;【taibh:台编号】,tingbh为空是同步全部台位,tingbh不为空是同步整个厅位的台位,如果tingbh和taibh都不为空,同步指定的这个台位62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TZXX4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:taibh:01,ta

10、iname:1号桌,state:1,maxseats:0,ktlsh:1234567,starttime:2015-09-20 10:35:36,tingbh:01,taibh:02,tainame:2号桌,state:0,maxseats:0,ktlsh:1234567,starttime:null,tingbh:01,msg:nullResult:结果标识(【ok:成功;failed:失败】; Data: 【taibh:台编号】;【tainame:台名称】;【state:台状态(0空闲,1占用,2禁用,3待清)】;【maxseats:最大座位数】;【ktlsh:开台流水号】;【startt

11、ime:开台时间】; 【tingbh:厅编号】; 【msg:提示信息】)15结束符2回车换行,rn6、登录操作命令格式:偏移字段长度描述0#1数据标识1YHDL4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON: worknum:01,pwd :01【worknum:点菜员编号】;【pwd:登录密码】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1YHDL4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:

12、”32位的KEY(经过md5加密)”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)key生成规则:shopid+hhmmss后 md5一次15结束符2回车换行,rn7、修改密码操作命令格式:偏移字段长度描述0#1数据标识1MPWD4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:worknum:01,oldPwd:01,newPwd :01【worknum:点菜员编号】;【oldPwd:原来密码】; 【newPwd:新密码】62结束符2

13、回车换行,rn回复格式:偏移字段长度描述0#1数据标识1MPWD2功能编码:4个字母30006(根据JOSN串长度设置)4JSON数据长度,最小000000,最大9999997JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)13结束符2回车换行,rn8、获取口味说明操作命令格式:偏移字段长度描述0#1数据标识1KWSM4取该功能的4字首字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“”没有数据不占位9结束

14、符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1KWSM2取该功能的两字首字母30006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999997JSON:result:ok,data:code:001,codename:少放盐,” status”:”0”,code:002,codename:微辣,” status”:”0”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【code:口味编号】;【codename:口味名称】;【msg:提示信息】)13结束符2回车换行,rn9、获取赠菜说明操作命令格式:偏移字段长度描述0#1数

15、据标识1ZCSM4取该功能的两字首字母5000000(根据JOSN串长度设置)4JSON数据长度,最小000000,最大9999999JSON:“”没有数据不占位62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1ZCSM2取该功能的两字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:code:001,codename:少放盐,code:002,codename:微辣,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【code:口味编号】;【codename:

16、口味名称】;【msg:提示信息】)15结束符2回车换行,rn10、获取退菜说明操作命令格式:偏移字段长度描述0#1数据标识1TCSM2取该功能的两字首字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“”没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TCSM4取该功能的4字首字母50006(根据JOSN串长度设置)4JSON数据长度,最小000000,最大9999999JSON:result:ok,data:code:01,codename:盐多,code:02,codename:上菜慢,msg:nu

17、llResult:结果标识(【ok:成功,failed:失败】; 【code:口味编号】;【codename:口味名称】;【msg:提示信息】)15结束符2回车换行,rn11、获取菜品分类操作命令格式:偏移字段长度描述0#1数据标识1CPFL4取该功能的4字首字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“”没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1CPFL4取该功能的4字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:

18、ok,data:code:01,codename:热菜,parentcode:0,code:02,codename:凉菜,parentcode:0,code:01,codename:家常菜,parentcode:01,code:02,codename:蒙菜,parentcode:01,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【code:菜品分类code】;【codename: 菜品分类名称】;【parentcode:大类编号】;【msg:提示信息】)15结束符2回车换行,rn12、获取菜品操作命令格式:偏移字段长度描述0#1数据标识1CPXX4取该功能的两

19、字首字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“”没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1CPXX4取该功能的两字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:code:02001,codename:红烧鱼,units:例,price:158.00,discount:0,bigcode:01,smallcode:01,pym:HSY,saletype:1,sub_type:1,special:0,

20、packageflag:0,code:02002,codename:鱼香肉丝,units:例,price:28.00,discount:1,bigcode:01,smallcode:01,pym:YXRS,saletype:1,sub_type:1,special:0,packageflag:0,msg:null,url:Result:结果标识(【ok:成功,failed:失败】; 【code:菜品code】;【codename: 菜品名称】;【units:单位】;【price:单价】;【discount:菜品折扣】;【bigcode: 菜品大类编号】;【smallcode:小类编号】;【py

21、m:拼音码】;【saletype:类别】;【sub_type:核减方式(0:否 1:自动核减】;【special:招牌菜,0不是,1是】;【packageflag: 是否套餐,1套餐,0单品,2宴会厅套餐】;【msg:提示信息】)13结束符2回车换行,rn13、获取套餐操作命令格式:偏移字段长度描述0#1数据标识1TCXX4取该功能的4字首字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“”0没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TCXX4取该功能的4字首字母50006(根据JOSN串长度设

22、置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:tcCode:02001,code:01991,units:例,price:158.00,cnt:0,msg:null,url:Result:结果标识(【ok:成功,failed:失败】; 【code:菜品code】;【tcCode: 套餐编号】;【units:单位】;【price:单价】;【cnt:菜品数量】 15结束符2回车换行,rn14、开台操作命令格式:偏移字段长度描述0#1数据标识1KTCZ4取该功能的两字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,

23、最大9999999JSON:data:tingbh:01,taibh:02 ,waiterCode:1001,waiterName:测试,yxjlCode:1002,yxjlName:经理,personCnt:1,mealName:午餐,saleType:,tingName:二楼,taiName:一号桌【tingbh:厅编号】;【taibh:台编号】; 【lsh:开台流水号】【waiterCode:操作员编号】;【waiterName:操作员名字】; 【yxjlCode:营销经理编号】【yxjlName: 营销经理名字】;【personCnt:就餐人数】; 【mealName:市别】【sale

24、Type:类别】;【tingName:厅名称】; 【taiName:台名称】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1KTCZ4取该功能的两字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”开台流水号”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回开台流水号数据】;【msg:提示信息】)15结束符2回车换行,rn15、点菜操作命令格式:偏移字段长度描述0#1数据标识1DCCZ4取该功能的两字首字母50053(根据JOSN串长度设

25、置)6JSON数据长度,最小000000,最大9999999JSON: data :code:01,cnt:1,price:125,units:例,status:1,taste:不吃辣,dcycode:,dcyname:sdfsdf,disflag:1,memberPrice:10,actPrice:10,waitStatus:dengjiao,priceSrc:20,addLsh:20,remark1:赠菜时添加赠菜原因,code:01,cnt:1,price:35,units:例,status:1,taste:,dcycode:,dcyname:sdfsdf,disflag:1 ,memb

26、erPrice:10,actPrice:10,waitStatus:dengjiao,priceSrc:20,addLsh:20,remark1:赠菜时添加赠菜原因,source:”2”, ktlsh :”, “tingbh“:”001” ,” taibh”:”002”, “taste”:” 【source:来源(0:POS 1:PAD 2:小二筷点 3:外卖 4:快餐 5:扫码点餐 5:其它)】【addLsh:这个参数是设置号+当前时间(时分秒)生成的字符串】Dcycode 点菜员编号62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1DCCZ4取该功能的4字首字母50006

27、(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(ok:成功,failed:失败, data:返回json数据,msg:提示信息)15结束符2回车换行,rn16、划菜操作命令格式:偏移字段长度描述0#1数据标识1HCCZ4取该功能的两字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON: data :id:01,cnt:1,”code”:”,source:”2”, ktlsh :”00111”, “tingbh“:”001”

28、 ,” taibh”:”002”,” opercode”:”张三”【source:来源(0:POS 1:PAD 2:小二筷点 3:外卖 4:快餐 5:扫码点餐 5:其它)】【addLsh:这个参数是设置号+当前时间(时分秒)生成的字符串】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1HCCZ4取该功能的两字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息

29、】)15结束符2回车换行,rn17、退菜操作命令格式:偏移字段长度描述0#1数据标识1TCCZ4取该功能的4字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON: data :id:01,cnt:1,tccnt:1,backcode:01,backname:有异物,tcycode:001,tcyname:aaa,source:”2”, ktlsh :”00111”, “tingbh“:”001” ,” taibh”:”002”,” opercode”:”张三”【source:来源(0:POS 1:PAD 2:小二筷点 3:外卖 4:快餐

30、5:扫码点餐 5:其它)】【addLsh:这个参数是设置号+当前时间(时分秒)生成的字符串】;【opercode:操作员】62结束符回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TCCZ4取该功能的4字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn18、赠菜操作命令格式:偏移字段长度描述0#1数据标识1ZCCZ4取该功能的4字首字母5

31、0053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON: data :id:01,cnt:1,zscnt:0.5,zscode:01,zsname:有异物,zsycode:001,zsyname:aaa,netid:158,source:”2”, ktlsh :”00111”, “tingbh“:”001” ,” taibh”:”002”,” opercode”:”张三”【source:来源(0:POS 1:PAD 2:小二筷点 3:外卖 4:快餐 5:扫码点餐 5:其它)】【addLsh:这个参数是设置号+当前时间(时分秒)生成的字符串】;【ope

32、rcode:操作员】Zscode:赠菜原因code62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1ZCCZ4取该功能的两字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn19、转菜操作命令格式:偏移字段长度描述0#1数据标识1ZDCZ4取该功能的两字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000

33、,最大9999999JSON:oldtingbh:ok,oldtaibh:”,oldlsh:null, newtingbh:ok,newtaibh:”,newlsh :null , data:id:1044574,id:1044575, opercode :”【oldtingbh:旧厅编号】【oldtaibh:旧的台编号】【oldlsh:旧的流水号】【newtingbh:新的厅编号】【newtaibh:新的台编号】【newlsh:新的流水号】【data:转菜的ID数组】【opercode:操作员编号】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1ZDCZ2取该功能的两字首

34、字母30006(根据JOSN串长度设置)4JSON数据长度,最小000000,最大9999997JSON:result:ok,data:”,msg:null6Result:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)13结束符2回车换行,rn20、换台操作命令格式:偏移字段长度描述0#1数据标识1HTCZ4取该功能的两字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:“data”:tingbh:01,taibh:01,newtingbh:01,newtaibh:02,lsh:2

35、01500121589,starttime:2015-10-26- 10:35:38【Tingbh:厅编号】;【taibh:台编号】; 【newtingbh:新厅编号】;【newtaibh:新台编号】;60结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1HTCZ4取该功能的4字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)13结束符2回车换行,rn21、

36、查看已点菜品操作命令格式:偏移字段长度描述0#1数据标识1CKZD4取该功能的4字首字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:tingbh:001,taibh:”002”,ktlsh:”111111”, opercode :000000 【Tingbh:厅编号】;【taibh:台编号】;【ktlsh:开台流水】;【opercode:操作员编号】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1CKZD4取该功能的两4字首字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大999999

37、9JSON:result:ok,data:id:12,shopId:40045639811be108c363381161,lsh:20150920000002,tingBh:01,taiBh:02,addPersonBh:,addPersonName:sdfsdf,startTime:2015-11-05 15:35:58,endTime:null,code:01,codeName:u6d4bu8bd5,norms:null,units:u4f8b,price:125.00,memberPrice:10.00,actPrice:2.00,cnt:2.00,priceTotal:null,addDeptBh:null,addDeptName:null,machBh:null,machName:null,disFlag:null,status:1,markStatusnull,pym:null,bigCode:null,bigName:null,smallCode:null,smallName:null,addLsh:null,markTaste:aaaa,jdType:0,dis:1.00,printFlag:null,tcbh:null,tcmc:null,waitStatus:dengjiao,costPrice:null,priceSrc:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论