产品交割到兑付的流程总结
1. 产品交割
1.1.修改产品滚动信息表cap_stage的申购截止日(prch_end_date)为当前日期。
UPDATE `cap_stage` SET `prch_end_date`='20170918' WHERE (`pd_no`='');
1.2.产品系统-执行自动任务:交割批量解冻扣账自动任务。此时产品的状态为正在批扣(sale_stat=02)
调用支付系统服务-批量提交
就是插入支付系统的批量数据,此时支付的批量表状态T_BAT[0].stat=0//待处理
产品批量表中状态cap_bat.stat=2//等待处理结果
1.3.支付系统-执行自动任务:实时批量接收后处理(并发到账户系统)
调用账户系统服务-批量提交
此时支付的批量表状态变为T_BAT[0].stat=3//收到处理结果
就是插入账户系统的批量数据eact_bat.stat=0//待处理
最后等到账户系统的批量数据状态eact_bat.stat=S//
处理完成后再执行一次自动任务修改支付的批量表状态为T_BAT.stat=S//处理完成
1.4.账户系统-执行自动任务:批量记账自动任务
查询账户批量表(eact_bat)记录的状态为0(待处理)的数据
调用单笔解冻服务服务逻辑
更新该条批量的状态为处理完成(eact_bat.stat=S)
1.5.执行支付系统自动任务:批量结果处理
将该条批量状态改为T_BAT.stat=S//处理完成
1.6.产品系统-执行自动任务:交割批量解冻扣账确认自动任务
处理了更新表状态:将正在批扣状态改为sale_stat=04//计息中
1.7.
2. 产品兑付
2.1.修改产品到期日cap_stage表中的产品到期日:pd_end_date
UPDATE cap_stage SET pd_end_date = '20170918' WHERE pd_no = '编号';
2.2.产品系统-执行自动任务:更新产品状态为已到期自动任务
查询产品为计息中的产品并且产品已经到期sale_stat='04' and pd_end_date='%s'
产品状态改为sale_stat='05'//已到期
如果为线下交割,delivery_flag='1'//线下,将产品状态改为sale_stat='12'//已结算转账
2.3.进行试算流程
填写兑付金额:本金+本金*年利率/365*产品周期
兑付管理确认后,产品状态变为:兑付待审批
2.4.修改产品的兑付日为当前日期
UPDATE `cap_stage` SET `pd_pay_date`='20170918' WHERE (`pd_no`='');
2.5.兑付审批通过,产品状态为cap_stage.sale_stat='06'//已清算
2.6.产品系统-执行自动任务:兑付试算自动任务
执行后插入产品还款明细表(cap_repaydetail)记录,更新产品登记表(cap_rgst)的最终收益(pd_cnvr_amt),试算状态改为cap_stage.cash_stat='02'
2.7.产品系统-执行自动任务:批量兑付入账自动任务
产品状态cap_stage.sale_stat='07'
2.8.支付系统-执行自动任务:实时批量接收后处理(发送到账户系统)
调用账户系统服务:批量提交
此时支付的批量状态变为T_BAT.stat='3'//收到处理结果
就是插入账户系统的批量数据eact_bat.stat=0//待处理
最后等到账户系统的批量数据状态eact_bat.stat=S//
处理完成后再执行一次自动任务修改支付的批量表状态为T_BAT.stat=S//处理完成
2.9.账户系统-执行自动任务:批量记账自动任务
查询批量状态eact_stat='0'待处理的记录
调用单笔解冻服务逻辑
更新该条批量表的eact_bat.stat='S'为处理完成
3.0.支付系统-执行自动任务:批量结果处理
更新支付的批量状态T_BAT='S'//处理完成
3.1.产品系统-执行自动任务:批量兑付确认自动任务
将产品的批量状态cap_stage.sale_stat='10'//已完成
3.2.清算系统-执行自动任务:批量清算处理
记录清算的交易核算流水
以上,仅用户工作上的项目的流程总结。