文档章节

P2P网络借贷系统-核心功能-用户投标-业务讲解

FansUnion
 FansUnion
发布于 2015/05/03 01:29
字数 630
阅读 44
收藏 3
用户投标是P2P网络借贷系统的核心功能,相对比较复杂,为了更好地梳理业务和技术实现思路,特地详细总结分析下。


输入:用户id-uid,标的id-lid,投标金额-amount

1.根据lid,获得贷款标的信息(优先从Cache中取),不能为null,状态status应该“合法”。
  如果贷款标不存在,或者状态不对,立即返回到前端,不再继续后面的处理。

2.根据uid,查询用户的信息。
  贷款标的和用户信息是投标逻辑需要的。

3.投标检查。
  用户的账户是否存在、账户余额是否超过了投标金额amount。
  
4.根据uid、lid、amount等参数,构造投标tender对象,包含了投标需要的所有信息。

5.获得投标状态信息(事务锁住抢标状态,防止多个用户同时投标;使用数据库行级锁,分布式情况下也可以使用)。
  使用select ... for update 语句

6.累计投标金额,即把当前的投标总额加上当前投标用户的“金额”。
  这里面存在一个“争议”,假设标的总额2000,已经投了1800,用户投了300,这个时候300>200,理论上不能成功。
  如果不成功,用户抢到标却无法投,可能很伤心;如果让用户投,有的用户想“整投”,不想把钱“打散”,也可能很伤心。
  为了简化处理,一种方式是,把用户投标的钱算成200,即最大可投资金额。
  
7.更新投标状态。

8.保存投标信息tender对象。

9.扣除用户的账户钱,减去刚刚投资的金额,实际操作为把用户账户的钱转到平台账户下。
  存在一个问题,一次标,把所有用户的钱,转到平台账户,会需要很多次转账。
  因此,设立一个比较特殊的“中间账户”,所有用户的钱都转到“中间账户”,等标满了,一次性把中间账户的钱转到平台账户下。
  
10.返回投标信息,是否成功,投标金额等。

 
投标过程中的注意事项:
1.开启事务。
2.数据库行级锁,锁住投标状态。
3.检查用户的可投资金额等前提条件检查。
4.平台设立中间账户,减少转账产生的流水记录。

© 著作权归作者所有

FansUnion
粉丝 60
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问
北京金融局启动在京注册P2P网贷机构自查工作

雷锋网(公众号:雷锋网)获悉,8月24日,北京市金融局官网发布了《关于启动在京注册P2P网络借贷机构自查工作的通知》(下称“通知”),表示自通知发布之日起启动P2P网络借贷机构自查工作。 ...

AI金融评论
2018/08/26
0
0
P2P、P2C、O2O、B2C、B2B、C2C 的各个模式的区别

 P2P -------------------------------------------------------------------------------------------------------------------------------------------   P2P 借贷是一种将非常小额度的......

Idea
2018/11/08
36
0
【天宇分析】RCN:谈谈区块链+借贷的可能性

从投资的角度看项目,尽量公正、客观、严谨。 利益相关: 是否持币: 是,之前在二级市场买过,目前还有仓位。 1. RCN是什么? 1.1 一句解释 天宇个人认为:RCN是一个去中心化的P2P借贷平台。...

陈天宇123
2018/08/29
0
0
108条网贷合规检查清单,释放了什么信号?

雷锋网(公众号:雷锋网)AI金融评论按:作者薛洪言,苏宁金融研究院互联网金融中心主任,来源:洪言微语 据财新报道,2018年8月17日,全国P2P网络借贷风险专项整治工作领导小组办公室已向各省...

薛洪言
2018/08/19
0
0
央行、银监会现金贷监管正式落地,整治新规严于预期

雷锋网报道,12月1日晚间,互联网金融风险专项整治、P2P网贷风险专项整治工作领导小组办公室正式下发《关于规范整顿“现金贷”业务的通知》(以下简称“通知”)。而白天,银监会已在“近期重...

伊莉
2017/12/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

2684亿!阿里CTO张建锋:不是任何一朵云都撑得住双11

“不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫其他云。”11月11日晚,阿里巴巴集团CTO张建锋表示,“阿里云不一样,10年前我们从第一行代码写起,构建了中国唯一自...

阿里云官方博客
11分钟前
3
0
Spark自定义外部数据源

背景:有时候我们需要定义一个外部数据源,然后用spark sql的方式来处理。这样的好处有2点: (1)定义了外部数据源后,用起来很简洁,软件架构清晰,通过sql方式直接使用。 (2)容易分层分...

守望者之父
13分钟前
3
0
电磁兼容不应空论 越实践越知深浅

在电子行业中,电子工程师极为熟悉的就是EMC电磁兼容性测试的各项规范。其实大多工程师所了解的电磁兼容性一般来说就是:设备或系统在其电磁环境中能正常工作,且不对该环境中任何事物构成不...

demyar
14分钟前
3
0
16、SpringMVC拦截器

拦截定义 定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。 public class HandlerInterceptor1 implements HandlerInterceptor{ public boolean preHandle(HttpServletR......

快乐的瓶子
14分钟前
3
0
顺时针打印矩阵

public class Code_06_PrintMatrixSpiralOrder {public static void spiralOrderPrint(int[][] matrix) {int tR = 0; //左上角的行int tC = 0; //左上角的列int dR = ma......

Garphy
16分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部