银行与电商数据传输项目-需求分析

项目背景

   A银行与A电商合作推出一新类型的信用卡,这种卡一般叫联名卡。为什么叫联名卡呢,其实就是银行与其它机构联名发行的信用卡,卡面上有银行的标志也有第三方机构的标志,如果是航空联名卡,卡面上一般还有你在航空公司的会员号。套用我们佳姐的说法,这也是一种引流与吸粉的手段。对于银行来说你来办信用卡,办完就是某电商的会员了,还有折扣,是不是很心动;对于电商来说更乐意了,把银行的真实客户引流到电商,这是一件互惠互利的事情。

需求概述

客户在申请信用卡时,会选择带有A电商类型的卡面。需要将该部分数据每日筛选出来。依据电商系统要求,将数据同步到电商。

流程看起来是这样子的:

我们要做的事情也就是紫色的4步:

1、筛选信用卡数据要求:

  • 只需要卡面为A电商的的数据

  • 数据要包含卡号以及客户手机号

  • 客户首次申请信用卡、手机号发生变化、信用卡注销三种情况,才将数据送电商。首次标志位A,变化为U,注销标志为D

2、将数据送电商

  • 采用HTTP形式将数据传送电商

  • 电商每次接收的数据只能50笔

  • 考虑到数据安全性,需要对数据签名

3、电商处理结果也有三种情况

  • 处理成功

  • 处理失败,业务依据失败原因线下处理

  • 处理未名,与电商联系,确认是否重发

4、将数据以报表形式呈现

  •   每日的形式显示当日总共传输了多少数据,多少成功,多少失败,多少未名

  • 点击汇总数据,能看到每一笔的明细,其中未名的可以勾选重新传输


总体设计

1、首先我们需要设计一调度线程,将数据筛选与数据发送串起来

2、接收通知我们计划采取轮询方式,每5分钟轮询一次数据库,如果轮询到发送通知则启动发送主线程

3、发送主线程主要做两件事:

  •  将通知标记为已受理(否则第二次轮询又启动了,这也叫防重。防重这个意识在银行IT领域特别重要)

  • 依据任务类型启动发送线程

4、发送线程

1、数据库把数据筛选出来,50笔作为一个JSON LIST送给电商

2、解析电商返回结果,并将结果插入数据库

3、所有数据发送完毕后,将通知标记为已完成

今天先分析到这里,给大家留2个问题吧

1、从一张有1024笔数据的表中,怎么每次筛选50笔数据,并保证数据不重复不遗漏(嘿嘿,有篇文章讲过哦)

2、为什么解析电商返回结果后是将数据插入数据库,而不是将结果更新数据库呢?

猜你喜欢

转载自www.cnblogs.com/dagny/p/10238340.html