P2P网贷系统-核心功能-用户投标-业务讲解
来源:互联网 发布:淘宝古文观止 中华书局 编辑:程序博客网 时间:2024/04/28 03:32
用户投标是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.数据库行级锁,锁住投标状态(暂时使用hibernate悲观锁)。
3.检查用户的可投资金额等前提条件检查。
(参考小雷并修改)
鲁承星/Luke
P2P负责人/Leader
-----------------------------------------------------
微信 : 935042862
电话:13717825876
邮箱:lcxingperfect@163.com
地址: 北京市朝阳区望京金隅大厦A座(邮编:100102)
0 0
- P2P网贷系统-核心功能-用户投标-业务讲解
- P2P网络借贷系统-核心功能-用户投标-业务讲解
- P2P网贷的核心系统
- 网贷系统P2P
- P2P网贷系统开发公司
- p2p网贷系统的架构设计
- P2P网贷中的4种理财业务模式
- P2P产品 -自动投标业务详解
- 什么是P2P,P2P网贷?
- P2P网贷源码
- p2p网贷
- 某P2P开发商ERP系统核心业务介绍
- 告别网贷系统圈钱模式,开启P2P网贷系统免费时代
- 传说中的p2p网贷
- P2P网贷监管收紧
- p2p网贷良性发展
- Fanwe 方维P2P系统接入手机短信功能--支持注册验证、资金变动提醒、投标提醒等
- Fanwe 方维P2P系统(3.0版本)接入手机短信功能--支持注册验证、资金变动提醒、投标提醒等
- l birkenstock ought to have some further
- Majority Element
- CSS 兼容手机浏览器 点击蓝色边框
- Android Dalvik虚拟机简介
- webstorm正确辨认handlebars语法
- P2P网贷系统-核心功能-用户投标-业务讲解
- 去除手机浏览器按钮点击出现的高亮框
- Hibernate入门教程
- Word中字号对应、参考文献、插入公式行间距变大的问题
- 性能评估思路总体
- Android ViewPager多页面滑动切换以及动画效果
- 界面优化x步走
- Android服务Service----实现电话监听录音
- OC中的一些基础方法