电子商务专业版概要设计说明书预约交易.docx
《电子商务专业版概要设计说明书预约交易.docx》由会员分享,可在线阅读,更多相关《电子商务专业版概要设计说明书预约交易.docx(22页珍藏版)》请在冰豆网上搜索。
电子商务专业版概要设计说明书预约交易
1.需求规定
预约交易是指投资人预先设定交易触发条件,当条件满足才会发生的一种交易方式。
为吸引更多投资者参与网上交易,为公司创造可观收益,增加预约交易业务。
详细内容参见《***网上交易-预约交易需求确认书.doc》
2.总体设计
2.1.数据说明
2.1.1.相关系统参数
Item
默认值
说明
XJGLMONEYFUND
空
现金管理货币基金(基金代码|收费方式)
SUPPORTMONEYFUNDWRAPPER
0
是否支持现金宝(0:
否,1:
是)
ISSHOWFARE
0
是否显示计算手续费按钮(0:
否,1:
是)
NEEDOTHERSHARETYPE
0
不同份额类别是否可以做基金转换(0:
否,1:
是)
2.1.2.字典项
预约交易支持预约方式(日期固定支持,不做配置)
预约申购指数类型
00
指数
04
上一工作日基金净值
预约转换指数类型
00
指数
04
上一工作日基金净值
预约赎回指数类型
00
指数
04
上一工作日基金净值
05
客户资产
赎回方式为指数时,提供指数选项
预约交易指数代码
000001
上证综指收盘指数
399001
深证成指收盘指数
条件值判断方式
预约条件
0
大于等于
1
小于等于
2
等于
3
大于
4
小于
2.1.3.接口调用
业务名称
调用服务
版本号
业务代码
预约认购
HS_TRANSACTION18
VER320
021
预约申购
HS_TRANSACTION19
VER330
023
预约转换
HS_TRANSACTION0L
VER330
986
预约赎回
HS_TRANSACTION20
VER330
025
交易申请查询
HS_QUERY48
最新基金行情查询
HS_QUERY34
银行资料查询
HS_QUERY19
2.1.4.菜单控制
显示控制:
C_ISOPEN(1:
开放显示;0:
不开放)
风险控制:
C_RISK(1:
强制填写问卷;0或空:
不控制)
反洗钱控制:
C_VALIDATE(1:
强制反洗钱判断;0或空:
不控制)
菜单权限:
VC_ROLE(DQ:
直销查询;DT:
直销交易)
系统模式:
VC_MODE(ETQ:
整合;ET:
独立交易)
2.2.程序结构
模块名称和直销保持一致,用hopetrade命名。
Java包为com.teexi.fund.fundets.hopetrade、和com.teexi.fund.fundweb.hopetrade
Jsp目录为hopetrade
模块内部功能、接口部分划分参考交易模块(trade)
接口继承交易类公共接口实现代码复用
说明:
本次仅考虑普通预约认申购、赎回、转换业务及其转换扩展,不考虑预约赎回转购业务实现。
2.2.1.程序文件结构划分关系
接口继承关系图:
Action继承及接口调用:
Action命名规则:
com.teexi.fund.fundweb.hopetrade.(功能模块).web.struts.action.(Action名)
JSP路径与规则:
/etrading/hopetrade/(子功能)/(jsp页面)
Service命名与规则:
com.teexi.fund.fundets.hopetrade.(子功能).service.(接口名)
功能模块
子功能
JSP
Form
Action
Service
其他说明
公共
AbstractBusinessAction
系统基类
预约交易
(hopetrade)
forward_totrans.jsp
现金宝扩展业务跳转页面
预约买入(buy)
预约认购
(subscribe)
subscribe_list.jsp
subscribe.jsp
subscribe_explor.jsp
b2bResult.jsp
hopesubscribeForm
HopesubscribeAction
IHopebuyService
Form校验JS:
hopesubscribeForm.js
预约申购
(declare)
declare_list.jsp
declare.jsp
declare_explor.jsp
b2bResult.jsp
hopedeclareForm
HopedeclareAction
IHopebuyService
Form校验JS:
hopedeclareForm.js
预约现金宝充值
(declare)
declareMon_list.jsp
declareMon.jsp
declareMon_explor.jsp
hopedeclareForm
HopedeclareMoneyAction
IHopebuyService
Form校验JS:
hopedeclareForm_money.js
预约申购(扩展)
(declare)
declareEx_list.jsp
declareEx.jsp
hopedeclareForm
HopedeclareExAction
IHopebuyService
Form校验JS:
hopedeclareForm.js
预约赎回(redeem)
预约赎回
(redeem)
redeem_list.jsp
redeem.jsp
redeem_explor.jsp
redeemDeal.jsp
hoperedeemForm
HoperedeemAction
IHoperedeemService
Form校验JS:
hoperedeemForm.js
预约现金宝取现
(redeem)
redeemMon_list.jsp
redeemMon.jsp
redeemMon_explor.jsp
hoperedeemForm
HoperedeemMoneyAction
IHoperedeemService
Form校验JS:
hoperedeemForm_money.js
预约赎回(扩展)
(redeem)
redeemEx_list.jsp
redeemEx.jsp
hoperedeemForm
HoperedeemExAction
IHoperedeemService
Form校验JS:
hoperedeemForm.js
预约转换(trans)
预约转换
(trans)
trans_list.jsp
trans.jsp
trans_explor.jsp
transDeal.jsp
hopetransForm
HopetransAction
IHopetransService
Form校验JS:
hopetransForm.js
2.2.2.配置说明
Spring配置文件:
/config/spring/applicationContext-struts-hopetrade.xml
Struts配置文件:
/config/struts/struts-config-hopetrade.xml
表单校验配置文件:
/config/validator/validation-hopetrade.xml
菜单配置表:
tmenu_web
显示配置表:
teviewconfig
接口配置表:
tdeinterface
Form校验配置表:
tformvalidation_web
组件配置表:
tcomconfig_web
2.2.3.License控制
此模块为新增独立模块,license通过菜单+参数进行控制,其中现金宝相关预约交易功能需要判断现金宝开关(SUPPORTMONEYFUNDWRAPPER)
3.功能设计
3.1.预约认购
3.1.1.校验规则
编写说明:
预约认购业务下单检查、限制规则,务必做到与直销后台规则一致,对不允许下单的情况进行提前避免或提示
必输项:
基金代码、收费方式、支付渠道、预约条件项(预约日期)
金额校验:
仅根据tlimit表校验
风险评估:
根据基金代码控制
预约条件校验:
预约日期必须大于当前工作日
3.1.2.程序实现
编写说明:
预约认购功能模块的基本设计概念和处理流程
内容包括:
预约认购功能每个步骤访问路径、调用服务、展示形式、及校验规则的实现方式,以及其他需要说明的特殊实现
3.1.2.1.引导列表
相对地址:
/hopetrade/subscribe.do?
method=doList
根据业务代码(021)、确认标志(9)调用直销48号查询服务查询用户未确认预约认购申请,通过预约认购列表显示配置“HopeSubscribeList”包装后形成表格显示给用户,提供查看单笔申请详情、撤单、新增预约认购操作,详情显示配置为“IntradayList_021”。
3.1.2.2.初始化下单
相对地址:
/hopetrade/subscribe.do?
method=doInit
1.检查并同步建行卡签约状态:
判断session中交易账号列表是否存在建行卡,存在则调用19号银行资料查询同步最新建行签约状态
2.得到签约银行卡列表,不存在已签约银行卡则提示不可交易并引导客户签约:
从session中获取客户交易账号列表,遍历出明细资金方式为“01”的交易账号列表
3.列出支持预约认购业务的基金,不存在则提示不可交易:
遍历内存中基金信息,根据直销tbusinpermission表检查基金是否支持预约认购业务
4.生成认购基金列表、收费方式、关联银行卡联动关系:
遍历内存中基金信息,得出基金代码、收费方式关联关系;遍历认购基金列表,判断每只基金所属TA允许交易的交易账号列表,需要判断多TA
5.若请求已指定认购基金、收费方式、关联银行卡、认购金额、预约日期,则将传入值默认展示
6.准备风险评估数据:
包括主交易账号、业务代码、基金账号,页面取选中基金代码
联动JS说明:
1.选择目标基金
2.支付渠道下拉框列出可交易选中目标基金的签约银行卡
3.收费方式下拉框列出选中目标基金支持收费方式
4.对选中目标基金进行风险评估,结果显示在页面头部,当风险匹配结果为限制交易时,隐藏提交按钮;风险问卷过期或未填写时,提交跳转到填问卷页面
3.1.2.3.预览
相对地址:
/hopetrade/subscribe.do?
method=doPrev
1.解析预约认购下单内容,基金代码、收费方式、交易账号对应显示基金名称、中文收费方式、关联银行卡
2.自动提交预览页面判断统一处理
3.提供返回到下单页面操作,并自动反填原单内容
4.根据系统参数控制是否需要验证交易密码
3.1.2.4.结果
相对地址:
/hopetrade/subscribe.do?
method=doBusiness
1.调用直销服务HS_TRANSACTION18提交预约认购申请
2.展示下单结果,显示配置为“ConfirmReq021”
3.关闭结果页面后刷新引导页列表显示最新申请
3.2.预约申购(普通)
3.2.1.校验规则
必输项:
基金代码、收费方式、支付渠道、预约条件项(预约方式、指数类型、预约点位、预约条件、预约日期)
金额校验:
仅根据tlimit表校验
风险评估:
根据基金代码控制
预约条件校验:
预约日期必须大于当前工作日、预约点位必须为小数
3.2.2.程序实现
3.2.2.1.引导列表
相对地址:
/hopetrade/declare.do?
method=doList
根据业务代码(023)、确认标志(9)调用直销48号查询服务查询用户未确认预约申购申请,通过预约申购列表显示配置“HopeDeclareList”包装后形成表格显示给用户,提供查看单笔申请详情、撤单、新增预约申购操作,详情显示配置为“IntradayList_023”。
3.2.2.2.初始化下单
相对地址:
/hopetrade/declare.do?
method=doInit
1.检查并同步建行卡签约状态:
判断session中交易账号列表是否存在建行卡,存在则调用19号银行资料查询同步最新建行签约状态
2.得到签约银行卡列表,不存在已签约银行卡则提示不可交易并引导客户签约
从session中获取客户交易账号列表,遍历出明细资金方式为“01”的交易账号列表
3.列出支持预约申购业务的基金,不存在则提示不可交易
遍历基金行情信息,根据直销tbusinpermission表检查基金是否支持预约申购业务
4.生成申购基金列表、收费方式、关联银行卡联动关系
遍历内存中基金信息,得出基金代码、收费方式关联关系;遍历申购基金列表,判断每只基金所属TA允许交易的交易账号列表,需要判断多TA
5.生成预约条件间的联动关系
6.若请求已指定申购基金、收费方式、关联银行卡、申购金额、预约条件(指数类型、指数代码、预约条件、预约点位、预约日期),则将传入值默认展示
7.准备风险评估数据
包括主交易账号、业务代码、基金账号,页面取选中基金代码
联动JS说明:
1.选择目标基金
2.支付渠道下拉框列出可交易选中目标基金的签约银行卡
3.收费方式下拉框列出选中目标基金支持收费方式
4.对选中目标基金进行风险评估,结果显示在页面头部,当风险匹配结果为限制交易时,隐藏提交按钮;风险问卷过期或未填写时,提交跳转到填问卷页面
5.选择指数类型(指数、净值、日期)
6.指数类型为日期时,预约条件显示预约日期,其他隐藏
7.指数类型为净值时,预约条件显示预约条件、预约点位、预约有效期,其他隐藏
8.指数类型为指数时,预约条件显示指数代码、预约条件、预约点位、预约有效期
3.2.2.3.预览
相对地址:
/hopetrade/declare.do?
method=doPrev
1.解析预约申购下单内容,基金代码、收费方式、交易账号对应显示基金名称、中文收费方式、关联银行卡
2.自动提交预览页面判断统一处理
3.提供返回到下单页面操作,并自动反填原单内容
4.根据系统参数控制是否需要验证交易密码
3.2.2.4.结果
相对地址:
/hopetrade/declare.do?
method=doBusiness
1.根据预约指数类型清理提交的预约条件值,仅保留当前指数类型需要的条件
2.调用直销服务HS_TRANSACTION19提交预约申购申请
3.展示下单结果,显示配置为“ConfirmReq023”
4.关闭结果页面后刷新引导页列表显示最新申请
3.3.预约充值
3.3.1.校验规则
必输项:
支付渠道、预约条件项(预约方式、指数类型、预约点位、预约条件、预约日期)
金额校验:
仅根据tlimit表校验
风险评估:
不控制
预约条件校验:
预约日期必须大于当前工作日
3.3.2.程序实现
Action继承普通预约申购action,在其基础上加入充值个性化处理
3.3.2.1.引导列表
相对地址:
/hopetrade/declareMon.do?
method=doList
根据业务代码(023)、确认标志(9)、业务大类(09)调用直销48号查询服务查询用户未确认预约充值申请,通过预约充值列表显示配置“HopeDeclareMonList”包装后形成表格显示给用户,提供查看单笔申请详情、撤单、新增预约充值操作,详情显示配置为“IntradayList_023”。
3.3.2.2.初始化下单
相对地址:
/hopetrade/declareMon.do?
method=doInit
1.检查并同步建行卡签约状态:
判断session中交易账号列表是否存在建行卡,存在则调用19号银行资料查询同步最新建行签约状态
2.判断现金宝参数(SUPPORTMONEYFUNDWRAPPER、XJGLMONEYFUND)
3.得到签约且可预约申购现金宝货币基金的银行卡列表,不存在已签约银行卡则提示不可交易并引导客户签约
从session中获取客户交易账号列表,遍历出明细资金方式为“01”的交易账号列表,判断现金宝货币基金所属TA允许交易的交易账号列表,需要判断多TA
4.生成预约条件间的联动关系
5.若请求已指定关联银行卡、申购金额、预约条件(指数类型、指数代码、预约条件、预约点位、预约日期),则将传入值默认展示
6.不需风险评估
联动JS说明:
1.选择指数类型(指数、日期)
2.指数类型为日期时,预约条件显示预约日期,其他隐藏
3.指数类型为指数时,预约条件显示指数代码、预约条件、预约点位、预约有效期
3.3.2.3.预览
相对地址:
/hopetrade/declareMon.do?
method=doPrev
1.解析预约申购下单内容,基金代码、收费方式、交易账号对应显示基金名称、中文收费方式、关联银行卡
2.自动提交预览页面判断统一处理
3.提供返回到下单页面操作,并自动反填原单内容
4.根据系统参数控制是否需要验证交易密码
3.3.2.4.结果
相对地址:
/hopetrade/declareMon.do?
method=doBusiness
1.根据预约指数类型清理提交的预约条件值,仅保留当前指数类型需要的条件
2.指定业务大类(09)
3.调用直销服务HS_TRANSACTION19提交预约充值申请
4.展示下单结果,显示配置为“ConfirmReq023”
5.关闭结果页面后刷新引导页列表显示最新申请
3.4.预约申购(扩展)
3.4.1.校验规则
必输项:
资金来源、基金代码、收费方式、支付渠道、预约条件项(预约方式、指数类型、预约点位、预约条件、预约日期)
金额校验:
仅根据tlimit表校验,不校验现金宝可用余额
风险评估:
根据基金代码控制,当资金来源为现金宝时风险评估业务为预约转换
预约条件校验:
预约日期必须大于当前工作日、预约点位必须为数值
3.4.2.程序实现
Action继承普通预约申购action,在其基础上加入现金宝扩展个性化处理
3.4.2.1.引导列表
相对地址:
/hopetrade/declareEx.do?
method=doList
根据确认标志(9)调用直销48号查询服务查询用户未确认预约交易申请,再根据业务代码(023、986)和业务大类(空、10)过滤掉非申购和现金宝申购的申请,通过预约申购(扩展)列表显示配置“HopeDeclareExList”包装后形成表格显示给用户,提供查看单笔申请详情、撤单、新增预约申购操作,详情显示配置为“IntradayList_023”和“IntradayList_986”。
3.4.2.2.初始化下单
相对地址:
/hopetrade/declareEx.do?
method=doInit
1.检查并同步建行卡签约状态:
判断session中交易账号列表是否存在建行卡,存在则调用19号银行资料查询同步最新建行签约状态
2.判断现金宝参数(SUPPORTMONEYFUNDWRAPPER、XJGLMONEYFUND)
3.列出可以由现金宝基金转入的基金,支持现金宝基金转出的银行卡,并生成与资金来源的联动关系、与关联银行卡的联动关系
根据tlimit表配置及TA关系得出现金管理货币基金允许转入的目标基金列表,判断现金管理货币基金所属TA允许交易的交易账号列表,需要判断多TA
4.得到签约银行卡列表,不存在已签约银行卡则提示不可交易并引导客户签约
从session中获取客户交易账号列表,遍历出明细资金方式为“01”的交易账号列表
5.列出支持预约申购业务的基金,不存在则提示不可交易
遍历基金行情信息,根据直销tbusinpermission表检查基金是否支持预约申购业务
6.生成申购基金列表、收费方式、关联银行卡联动关系
7.生成预约条件间的联动关系
8.若请求已指定资金来源、申购基金、收费方式、关联银行卡、申购金额、预约条件(指数类型、指数代码、预约条件、预约点位、预约日期),则将传入值默认展示
9.准备风险评估数据,资金来源为银行卡时风险评估业务代码为023,为现金宝时风险评估业务代码为986
联动JS说明:
1.选择资金来源
2.资金来源为现金宝时,基金列表列出可由现金宝基金转换的基金;资金来源为银行卡时,基金列表列出所有可申购的基金
3.选择目标基金
4.支付渠道下拉框列出可交易选中目标基金的签约银行卡
5.收费方式下拉框列出选中目标基金支持收费方式
6.对选中目标基金进行风险评估,结果显示在页面头部,当风险匹配结果为限制交易时,隐藏提交按钮;风险问卷过期或未填写时,提交跳转到填问卷页面
7.选择指数类型
8.指数类型为日期时,预约条件显示预约日期,其他隐藏
9.指数类型为净值时,预约条件显示预约条件、预约点位、预约有效期,其他隐藏
10.指数类型为指数时,预约条件显示指数代码、预约条件、预约点位、预约有效期
3.4.2.3.预览
相对地址:
/hopetrade/declareEx.do?
method=doPrev
1.解析预约申购下单内容,若资金来源为现金宝,则转化form表单为预约转换form并转发到预约转换的预览路径/hopetrade/trans.do?
method=doPrev,设置业务大类为“10”;若资金来源为银行卡,则同普通预约申购预览进行后续处理
2.基金代码、收费方式、交易账号对应显示基金名称、中文收费方式、关联银行卡
3.自动提交预览页面判断统一处理
4.提供返回到下单页面操作,并自动反填原单内容
5.根据系统参数控制是否需要验证交易密码
3.4.2.4.结果
相对地址:
/hopetrade/declareEx.do?
method=doBusiness
处理同普通预约申购结果。
3.5.预约转换
3.5.1.校验规则
必输项:
基金代码、收费方式、资金渠道、目标基金代码、目标收费方式、预约条件项(预约方式、指数类型、预约点位、预约条件、预约日期)
份额校验:
仅根据tlimit表校验,不校验基金可用余额
风险评估:
根据目标基金代码控制
预约条件校验:
预约日期必须大于当前工作日、预约点位必须为数值
3.5.2.程序实现
3.5.2.1.引导列表
相对地址:
/hopetrade/trans.do?
method=doList
根据业务代码(986)、确认标志(9)调用直销48号查询服务查询用户未确认预约转换申请,通过预约转换列表显示配置“HopeTransList”包装后形成表格显示给用户,提供查看单笔申请详情、撤单、新增预约转换操作,详情显示配置为“IntradayList_986”。
3.5.2.2.初始化下单
相对地址:
/hopetrade/trans.do?
method=doInit
1.列出支持预约转换业务的基金,并过滤掉支持预约转换但没有目标基金可转的基金,不存在则提示不可交易
遍历内存中基金信息,根据直销tbusinpermission表检查基金是否支持预约转换业务
2.生成转出基金列表、收费方式、关联银行卡、目标基金、目标收费方式