《江阴自助终端业务平台设计初稿V0.doc》由会员分享,可在线阅读,更多相关《江阴自助终端业务平台设计初稿V0.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流江阴自助终端业务平台设计初稿V0.精品文档.自助终端业务平台设计东信和平智能卡股份有限公司修订历史记录变更类型:A - 增加 M - 修订 D - 删除变更版本号日期变更类型修改人摘要V1.0.02010-10-14A杨继伟初稿V1.0.12010-10-20A杨继伟V1.0.22010-10-22M杨继伟V1.0.32010-10-28M杨继伟V1.1.02011-4-6M杨继伟1概述52总体设计52.1用户界面模块52.2主控模块52.3模块交互63系统业务功能73.1主界面73.2公共钱包充值83.3银行卡圈存103.4消费明细查询11
2、3.5充值明细查询113.6公共钱包余额查询123.7月票余额查询133.8服务密码修改143.9预挂失143.10公积金基本信息查询153.11公积金汇缴支取信息查询163.12公积金贷款信息查询163.13公积金贷款还款信息查询173.14业务咨询174VC与FLASH的通信接口设计174.1从FLASH到VC的接口174.2从VC到FLASH的接口194.3命令交互过程204.3.1检测设备100100204.3.2连接市民卡100200214.3.3读卡内信息100203214.3.4充值前PIN码检测100204214.3.5初始化密码键盘100400224.3.6初始化纸币器100
3、500224.3.7纸币器收钱进钱箱100501234.3.8关闭纸币器100502234.3.9打印凭条100700234.3.10关闭所有硬件101111244.3.11最小化主程序101112244.3.12市民卡后台身份验证800100244.3.13公共钱包充值800200254.3.14银行卡圈存800300254.3.15消费明细查询800400254.3.16充值明细查询800500264.3.17服务密码修改800800274.3.18预挂失800900274.3.19获取下一页801100274.3.20获取上一页801101274.3.21获取第一页801102284.3
4、.22获取最后页801103284.3.23获取工作密钥和卡号801200284.3.24公积金查询801300295模块交互时序图295.1公共钱包充值295.2银行卡圈存306FLASH对错误的处理与跳转316.1错误类型316.2处理流程图337附件33附件1 main.exe错误代码定义331 概述本文档是已江阴市民卡为例,开发一套自助终端业务平台。采用Windows+ FLASH的架构模式,在VC中内嵌Flash的设计方案,为用户提供更加美观实用的界面,同时在处理速度、稳定性、可维护性等方面更加具有优势。2 总体设计2.1 用户界面模块用户界面模块是面向ATM使用客户的,采用Macr
5、omedia Flash 8开发,使用ActionScript2.0脚本语言,在界面美观和用户体验上都有较大优势。该模块负责界面跳转,按钮图形,动画显示,用户操作提示,结果显示,与主控制模块的消息传递。用户界面的FLASH由一个或多个SWF文件组成,使用VC环境提供的ActiveX控件ShockwaveFlashocx加载这些SWF文件,达到用户全屏触摸屏操作的目的,如图2.1所示。Main.exe启动加载SWF文件播放FLASH全屏播放图2.1主界面2.2 主控模块主控制模块加载了用户界面模块,控制用户界面模块flash的加载启动播放等。主控模块负责主业务流程的枢纽工作,可以接受flash传
6、来的用户操作信息和流程指令,把处理完的结果信息反馈给用户界面模块。主控制模块在需要使用硬件的时候调用硬件驱动模块DLL来操作硬件,如初始化硬件、获取硬件设备状态、操作硬件工作、接受硬件返回、释放硬件资源等。主控制模块能记录相关的业务流程日志、后台管理信息、硬件调用日志等信息,写入日志模块。主控制模块能与后台管理模块通信,使用HTTP请求方式把相关的管理信息传递到后台,并可实时接受后台的要求及时处理和显示。如图2.2所示。为保证在硬件操作时FLASH页面的正常显示与跳转,Main.exe主控模块采用多线程机制,其中驱动调用、后台访问等工作由子线程完成,子线程与主线程进行消息传递,子线程将硬件或后
7、台的操作结果告知主线程。主控制模块用户界面模块硬件驱动模块模块后台管理模块模块日志模块消息传递HTTP协议文件写入DLL调用监控模块监控启动运行图2.2 主控模块功能2.3 模块交互用户界面模块(flash)和主控制模块(main.exe)之间有非常密切的交互联系。flash获得用户输入,以发送 FSCommand消息的形式通知给主控程序。主控程序接收和处理FSCommand消息,并作相应的处理(调用硬件、调用后台服务、记录日志等)后,使用ShockwaveFlash.ocx控件提供的SetVariable()函数将处理结果以字符串的形式传至flash,flash对字符串进行解析,实现页面的跳
8、转或数据显示等。这样flash与主控模块完成一次交互。交互图如图2.3所示。发送命令FSCommand消息SetVariable()接收命令并解析创建子线程主线程将处理结果返回数据解析页面跳转与数据显示子线程调用驱动,调用后台服务,记录日志等。FLASHMain.exe子线程消息通信将操作结果通知主线程图2.3 用户界面与主控模块交互图3 系统业务功能3.1 主界面系统包括10个业务功能,主界面如图3.1所示。图3.1 主界面主界面负责检测设备,连接卡片以及业务分支。主界面的处理流程如图3.2所示。图3.2 主界面流程图3.2 公共钱包充值充值前需对设备以及市民卡后台的网络进行检测,检测通过后
9、可进行充值。每次充值只接受单张50、100元纸币,不设找零。写卡过程分为预写卡、正式写卡2步。正式写卡成功后需记录同步日志,并向市民卡中心后台充值。流程如图3.3所示。图3.3 公共钱包充值流程3.3 银行卡圈存充值前需对设备以及市民卡后台的网络进行检测,检测通过后可进行银行卡圈存。每天第一笔充值业务需从银行后台获取密码键盘的工作密钥,将密钥加载到密码键盘中;通过市民卡卡号可从银行后台获取到与市民卡绑定的银行卡号,从银行卡中扣款。写卡过程分为预写卡、正式写卡2步,写卡成功后需向银行后台提交充值结果。流程如图3.4所示。图3.4 银行卡圈存流程3.4 消费明细查询消费明细可用于查询公共钱包的消费
10、记录。对于全功能卡(卡类型等于88),消费明细查询时需要输入卡片的服务密码,密码验证成功可从市民卡后台查询消费明细。非全功能卡查询明细时不用输入密码,可直接从后台查询。消费明细包括交易日期、消费网点、消费金额、消费前卡余额。流程如图3.5所示。图3.5 消费明细查询3.5 充值明细查询充值明细可用于查询公共钱包的充值记录。对于全功能卡(卡类型等于88),充值明细查询时需要输入卡片的服务密码,密码验证成功可从市民卡后台查询充值明细。非全功能卡查询明细时不用输入密码,可直接从后台查询。充值明细包括充值日期、充值网点、充值金额流程如图3.6所示。图3.6 充值明细查询3.6 公共钱包余额查询查询公共
11、钱包余额,从市民卡中直接读取。流程如图3.7所示。图3.7 公共钱包余额查询3.7 月票余额查询月票用于乘坐公车使用。月票余额查询可查询到月票余额,从市民卡中直接读取。流程如图3.8所示。图3.8 月票余额查询3.8 服务密码修改市民申领市民卡后,每人都会得到一个服务密码,该服务密码用于从市民卡后台查询明细时使用。市民拿到密码后可以在自助终端上修改。流程如图3.9所示。图3.9 服务密码修改流程3.9 预挂失市民卡丢失可对社保、农保、银行功能办理预挂失,办理正式挂失需到营业厅办理。流程如图3.10所示。图3.10 预挂失流程3.10 公积金基本信息查询从市民卡中获取用户身份证号,到公积金后台查
12、询用户的基本信息。流程如图3.11所示。图3.11 公积金基本信息查询3.11 公积金汇缴支取信息查询从市民卡中获取用户身份证号,到公积金后台查询汇缴支取信息。流程如图3.12所示。图3.12 公积金汇缴支取信息查询3.12 公积金贷款信息查询从市民卡中获取用户身份证号,到公积金后台查询公积金贷款信息信息。流程如图3.13所示。图3.13 公积金贷款信息查询3.13 公积金贷款还款信息查询从市民卡中获取用户身份证号,到公积金后台查询公积金贷款信息。流程如图3.14所示。图3.14 公积金贷款还款信息查询3.14 业务咨询可咨询业务名称、办理流程及业务推广。4 VC与FLASH的通信接口设计4.
13、1 从FLASH到VC的接口FLASH通过自有的FSCommand函数向主控模块发送消息,将用户的操作反映给主控模块。FLASH中将FSCommand函数进行了一次封装,封装后的函数为TranSend(cmd, param),函数的格式为:function TranSend (String cmd, String param)。参数1:cmd命令代码,命令代码分为通用命令与非通用命令,一共由6位数字组成,通用命令前缀为10,非通用命令前缀为80。含义如下: 通用命令:10 + 硬件代码(2位)+ 硬件操作类型(2位)非通用命令:80 + 软件业务代码(2位)+ 操作类型(2位)参数2:para
14、m附加参数通用命令如表4.1所示。表4.1 通用命令命令代码cmd命令含义附加参数param 100100检测设备附加参数为业务代码,按不同的业务类型检测设备,业务代码有如下取值:800200:公共钱包充值 800300:市民卡圈存800301:普通卡圈存 800400:消费明细查询 800500:充值明细查询 800600:公共钱包余额查询 800700:月票余额查询 800800:服务密码修改800900:预挂失 801300:公积金基本信息查询801301:汇缴支取信息查询 801302:贷款信息查询801303:贷款还款信息查询100200连接卡片100203读卡内信息100204PI
15、N码检测100300 刷银联卡100400初始化密码键盘加密标志:0,明文;1,密文;3登陆到后台管理的密码;4最小化主程序的密码100500纸币器初始化100501收钱进钱箱100502关闭纸币器100600刷二代证100700打印凭条凭条标志:0,打印正确凭条;1,打印失败凭条。100800打印发票101111关闭所有硬件101112缩小主程序非通用命令如表4.2所示。表4.2 非通用命令命令代码cmd命令含义param 附加参数800100身份验证800200公共钱包充值充值金额800300市民卡圈存充值金额800301普通卡圈存充值金额800400消费明细查询800500充值明细查询8
16、00800服务密码修改800900预挂失身份证号801100获取下一页数据801101获取上一页数据801102获取第一页801103获取最后页801200获取工作密钥和卡号801300公积金查询查询时间,格式为:开始时间|结束时间例:20110301|201104014.2 从VC到FLASH的接口在FLASH中定义与VC通信的变量。VC通过ShockwaveFlash.ocx控件的SetVariable方法,将处理结果以字符串形式返回到FLASH中的“ToFlash_Command“变量中,FLASH对返回数据解析,进行页面显示与跳转,数据更改等操作。VC返回数据的格式:返回值|字段1|字
17、段2|字段3。“返回值”字段代表VC的操作(调用硬件,访问后台)是否成功,若操作失败,则返回的数据格式只包括“返回值”字段,即返回数据格式为:返回值|。4.3 命令交互过程:表示FLASH向VC发送消息,用TranSend(“ ”, “ ”)函数发送。VC :TranSend(“100100”,业务代码)FLASHVC:TranSend (“100200”,“”) FLASHVC:TranSend (“100203”,“”)FLASHVC:TranSend (“100204”,“”)FLASHVC:TranSend (“100400”, 加密标志) FLASHVC:TranSend (“100
18、500”,”) FLASHVC:TranSend (“100501”,”) FLASHVC:TranSend (“100502”,“”)FLASHVC:TranSend(“100700”,打印标志)FLASHVC:TranSend(“101111”,“ ”)FLASHVC:TranSend(“101111”,“ ”) FLASHVC:TranSend(“800100”, “ ”)FLASHVC:TranSend(“800200”,“ ”)FLASHVC:TranSend (“800300”, 充值金额)FLASHVC:TranSend(“800400 ”, “)FLASHVC:TranSend
19、(“800500 ”, “ ”)FLASHVC :TranSend (“800800”, “) FLASHVC:TranSend(“800900“ ,身份证号)FLASHVC :TranSend (“801100”, “) FLASHVC:TranSend (“801101”, “) FLASHVC:TranSend (“801102”, “) FLASHVC:TranSend (“801103”, “) FLASHVC:TranSend (“801200“,“”)FLASHVC:TranSend (“801300”, “) FLASHVC:返回值|返回值有以下几种情况:0:查询成功1508:
20、卡不在读卡器上1229:公积金基本信息查询失败1230:无公积金基本信息数据1231:网络故障,公积金基本信息查询失败1232:网络故障,汇缴支取信息查询失败1233:无汇缴支取信息1234:汇缴支取信息查询失败1235:网络原因,贷款信息查询失败1236:贷款信息查询失败1237:无贷款信息1238:网络原因,贷款还款信息查询失败1239:贷款还款信息查询失败1240:无贷款还款信息5 模块交互时序图5.1 公共钱包充值公共钱包充值时,主程序main.exe与flash页面的命令交互时序图如图5.1所示。图5.1 公共钱包时序图5.2 银行卡圈存银行卡圈存时,主程序main.exe与flas
21、h页面的命令交互时序图如图5.2所示。图5.2 银行卡圈存时序图6 FLASH对错误的处理与跳转6.1 错误类型主控模块将错误分为:硬件错误,软件错误、接口错误、业务错误。如表6.1所示。表6.1 错误类型错误类型错误描述处理方法备注硬件错误驱动文件未找到停止业务,提示所缺文件,联系管理员解决。驱动加载异常停止业务,提示错误驱动文件,联系管理员解决。社保卡读取连接失败提示用户重新插好社保卡,再试一次打印机初始化失败停止业务,联系管理员,检查打印机。密码键盘初始化失败停止业务,联系管理员,检查密码键盘。纸币器初始化失败停止纸币相关业务,联系管理员,检查纸币器。银联刷卡器初始化失败停止银联卡相关业
22、务,联系管理员,检查刷卡器。打印机缺纸少纸停止业务,联系管理员加纸。硬件等待超时停止业务,提示相关硬件,联系管理员。用户社保卡读写错误提示用户重新插好社保卡,再试一次软件错误FLASH文件不完整停止业务,提示所缺文件,联系管理员解决。发送消息参数格式错误重新办理业务。仍然错误请联系管理员。消息超时未响应重新办理业务。仍然错误请联系管理员。写入日志文件异常停止业务,提示错误信息,联系管理员解决。其他软件内部错误停止业务,提示错误信息,联系管理员解决。接口错误外部接口返回格式错误重试一次提交接口。如仍相同错误记录信息,联系管理员。外部接口提交未响应继续办理业务,记录信息,有待以后统一对账。外部接口
23、返回操作失败继续办理业务,记录信息,有待以后统一对账。业务错误用户输入格式错误提示用户按正确格式重新输入后台验证密码错误提示用户重新输入密码及重试次数卡片密码验证错误提示用户重新输入密码及重试次数放入金额不足重新放入金额收钱成功,写卡失败打印凭条,提示用户到相关地点重新写卡收钱、写卡成功,后台充值失败。继续办理业务,记录信息,有待以后统一对账。预写卡失败提示用户重新插卡网络错误再次办理业务6.2 处理流程图对错误的处理流程如图6.2所示下:图6.2 错误处理流程7 附件main.exe错误代码定义表7.1 main.exe错误代码错误类型错误代码错误描述检测硬件1001硬件检测失败1002打印
24、机故障1003打印机缺纸密码键盘错误1101密码键盘初始化失败1102加载密钥错误1103加载银行卡号错误1104登录后台的特殊用户密码正确1105登录后台的特殊用户密码错误1106进入桌面的密码正确1107进入桌面的密码错误业务错误1201银行卡密码错误1202后台圈存溢出1203撤销充值失败1204圈存时:写卡完成,提交充值记录失败1205获取密钥失败1206获取银行卡号失败1207卡片没有绑定银行账户1208快速圈存业务办理失败1209市民卡圈存业务办理失败1210消费明细查询失败1211充值明细查询失败1212全功能卡查询信息时登录失败(服务密码错)1213明细查询时,无明细数据121
25、4修改服务密码错误1215挂失失败121621:00后暂停银行卡圈存业务1217明细查询时数据异常1218银行卡密码尝试次数超限1219银行卡圈存时,无效的卡号1220没有公共钱包充值业务1221没有银行卡圈存业务1222没有充值明细查询业务1223没有消费明细查询业务1224没有公共钱包余额业务1225没有月票余额业务1226没有服务密码修改业务1227没有预挂失业务1228没有公积金查询业务1229公积金基本信息查询失败1230公积金基本信息查询, 未查到数据1231网络故障,公积金基本信息查询失败1232网络故障,汇缴支取信息查询失败1233无汇缴支取信息1234汇缴支取信息查询失败12
26、35网络原因,贷款信息查询失败1236贷款信息查询失败1237无贷款信息1238网络原因,贷款还款信息查询失败1239贷款还款信息查询失败1240无贷款还款信息纸币器错误1301纸币器初始化失败1302持币失败1303识币金额与终端机要求的金额不符(只接受50,100)1304纸币在中间态1305纸币器设置类型发生故障1306用户结束充值1307纸币错误1308纸币不在中间态1309不能识别该纸币或纸币褶皱1311退钱失败1312识币超时1313识币到中间态后用户点退出,结束充值1314识币金额与终端机要求的金额不符,退钱时失败打印机错误1401打印机初始化失败1402打印机缺纸或卡纸卡片错误
27、1501卡不在读卡器上1502卡在读卡器上1503公交卡号为空1509卡片连接超时1510读卡器初始化失败1511预写卡失败1512正式写卡失败1513充值后核对余额失败1514受限制的卡1515非接触上电失败1517卡内余额已最高,不能充值1518获取卡状态失败1519PIN码验证失败网络错误2001服务器检测失败2002SOCKET连接失败2003SOCKET断开连接失败2004连接后台失败2005市民卡后台充值失败2006市民卡后台充值失败,未知错误其他错误3002读取配置文件充值上限错误3003读取配置文件出错接口错误3005错误的业务指令驱动调用错误201载入动态库失败202获取函数失败203读取配置文件失败对以上错误的处理办法:提示用户业务办理失败。