Giter Site home page Giter Site logo

fabric-example's Introduction

fabric-example

角色: 平台(上帝/监管)机构----org0 金融机构----org1 下发机构----org2 代理商----org3 商户----org4 个体----属于org0平台,商户可见基本信息,没有单独的组织节点

业务描述: 下发机构通过代理商管理商户,商户通过向下发机构的账户充值,向个体发钱,个体收商户的钱,商户获得比常规渠道低很多的缴税费率,节约了税费成本,代理商赚与商户的费率差价服务费,下发机构根据代理商的费率差价赚取服务费,金融机构赚取手续费。

详细价值流转: 商户向下发机构发起充值----> 商户通过金融机构用现金向下发机构购买票据----> 现实资产数字化(金融机构代持现金,在金融机构的共管账户增加现金余额,向下发机构发放票据,下发机构用自身拥有的票据给商户充值票据)。

商户向个体下发---->数字资产流动 ---->商户将名下的票据分发给个体(商户减少票据,个体增加相应的票据,代理商增加差价赚取的票据,下发机构增加服务费票据,在金融机构的共管账户现金余额不变)。

个体向下发机构发起提现----> 个体将名下票据兑换成现金----> 数字资产变现(个体减少的票据流向金融机构,向金融机构发起变现回购后,将变现获得的金额转账到个体银行卡号,个人提现卡号增加现金余额,金融机构共管账户现金余额减少,下发机构票据没有变化)。

代理商向下发机构发起提现----> 代理商将名下票据兑换成现金----> 数字资产变现(代理商减少的票据流向金融机构,向金融机构发起变现回购后,将变现获得的金额转账到代理商银行卡号,代理商提现卡号增加现金余额,金融机构共管账户现金余额减少,下发机构票据没有变化)。

下发机构向金融机构发起提现----> 下发机构向金融机构发起票据回购邀约----> 数字资产变现(金融机构回收下发机构持有的票据,回购获得的金额转账到下发机构银行卡号,下发机构提现卡号增加现金余额,金融机构共管账户现金余额清零,下发机构票据清零)。

简化价值流转: 商户向下发机构发起充值----> 商户通过金融机构用现金向下发机构购买票据----> 现实资产数字化(金融机构代持现金,在金融机构的共管账户增加现金余额,向下发机构发放票据,下发机构用自身拥有的票据给商户充值票据)。

商户向个体下发---->数字资产流动并变现 ---->商户将名下的票据分发给个体,个体直接获得现金(商户减少票据,个体增加相应的票据,个体收到转移的票据后,向金融机构发起变现回购后,将变现获得的金额转账到个体银行卡号,个人提现卡号增加现金余额,代理商增加差价赚取的票据,下发机构增加服务费票据,金融机构共管账户现金余额减少)。

代理商向下发机构发起提现----> 代理商将名下票据兑换成现金----> 数字资产变现(代理商减少的票据流向金融机构,向金融机构发起变现回购后,将变现获得的金额转账到代理商银行卡号,代理商提现卡号增加现金余额,金融机构共管账户现金余额减少,下发机构票据没有变化)。

下发机构向金融机构发起提现----> 下发机构向金融机构发起票据回购邀约----> 数字资产变现(金融机构回收下发机构持有的票据,回购获得的金额转账到下发机构银行卡号,下发机构提现卡号增加现金余额,金融机构共管账户现金余额清零,下发机构票据清零)。

功能定义(有一部分金融机构的功能做了阉割): 平台机构可以查看所有数据

金融机构---->现金兑换票据(接受下发机构发起的商户现金充值请求,将下发机构与商户的现金存入金融机构的公管账户中,并向下发机构发放对应数量的票据)、票据兑换现金、查看票据交易记录

下发机构---->接受商户的现金充值请求,代商户向金融机构发起现金兑换票据请求,将金融机构颁发的票据充值到商户的票据余额中 ---->操作代理商、商户、个体、下发记录 ---->服务费票据提现

代理商---->商户、个体、下发记录 ---->服务费票据提现

商户---->选择要下发的个体并向个体下发 ---->操作个体、下发记录 ---->发起现金充值、票据提现

个体---->暂不安排功能,后期可以设计自主提现、票据兑换实物等功能

业务数据权限规则:

平台机构可以获取全部节点的数据,主要起到监管、统计的作用

金融机构只负责资金流转,不参与业务流程,不能获取业务数据

下发机构能获取名下所有代理商、商户、个体的下发数据,不能获取其他下发机构的数据

代理商可以获取名下所有商户、个体的下发数据,不能获取下发机构的数据,不能获取其他代理商的数据

商户可以获取名下所有个体的下发数据,不能获取下发机构的数据,不能获取其他代理商的数据,不能获取其他商户的数据

个体只能获取自身的下发数据,不能获取下发机构的数据,不能获取其他代理商的数据,不能获取其他商户的数据,不能获取其他个体的数据

PS:个体属于平台机构

关键私有数据隐私规则:

数据隐私权限原则:可以获得当前组织和名下组织的数据,不能获得同级组织及以上组织数据,当前组织的数据由上级组织派发

下发机构的基础费率属于下发机构的私有数据----> 当前下发机构、平台机构可见 代理商的基础费率属于代理商的私有数据----> 当前代理商、所属下发机构、平台机构可见 商户的基础费率属于商户的私有数据----> 当前商户、所属代理商、所属下发机构、平台机构可见 个体的实际下发记录属于商户的私有数据----> 当前商户、所属代理商、所属下发机构、平台机构可见

角色关系:

只有一个平台机构:

平台机构拥有所有金融机构、下发机构、代理就够、商户、个体的数据。但是任何机构不能拥有平台机构 个体信息属于平台机构,金融机构、下发机构、代理就够、商户可以使用

可以有多个金融机构:

可以有多个下发机构: 一个下发机构可以属于多个金融机构。 一个金融机构可以属于多家下发机构。 下发机构与金融机构属于多对多关系。 可以拥有多个金融机构颁发的票据,变现时需找到对应的金融机构回购

可以有多个代理商: 一个下发机构可以属于多个代理商。 一个代理商可以属于多家下发机构。 下发机构与代理商属于多对多关系。

一个代理商可以属于多个金融机构,但是一个代理商交易的金融账号所属的金融机构,必须包含在这个代理商所属下发机构的金融机构。 可以拥有多个金融机构颁发的票据,变现时需找到对应的金融机构回购 代理商与金融机构属于多对多关系。

可以有多个商户: 一个商户只能属于一个代理商。 一个代理商可以属于多个商户。 商户与代理商属于多对一关系。

一个商户可以属于多个金融机构,但是一个商户交易的金融账号所属的金融机构,必须包含在这个商户所属代理商的金融机构。 可以拥有多个金融机构颁发的票据,变现时需找到对应的金融机构回购 商户与金融机构属于多对多关系。

商户不直接属于下发机构,必须通过代理商

可以有多个个体: 一个个体可以属于多个商户。 一个商户可以有多个个体。 个体与商户属于多对一关系。

一个个体可以属于多个金融机构,但是一个个体交易的金融账号所属的金融机构,必须包含在这个个体所属商户的金融机构。 可以拥有多个金融机构颁发的票据,变现时需找到对应的金融机构回购 个体与金融机构属于多对多关系。

个体不直接属于下发机构、代理商,下发必须通过商户

业务模型:

平台机构 ----> 平台机构ID、平台机构名称

个体 ----> 个体ID、平台机构ID、个体名称、个体证件号、个体状态(启用/禁用) 个体账户列表 ----> 个体账户ID、下发机构ID、金融机构代码、金融机构个体账号、票据余额、系统账户状态(正常/冻结/禁用)

金融机构 ----> 金融机构ID、金融机构名称、金融机构代码、金融机构状态(启用/禁用) 金融机构共管账户 ----> 金融机构公管账户账号、金融机构ID、下发机构ID、商户ID、共管账户余额、金融机构共管账户状态(正常/冻结/黑名单/禁用/限制) 下发机构账户 ----> 金融机构下发机构账号、金融机构ID、下发机构ID、下发机构账户余额、金融机构下发机构账户状态(正常/冻结/黑名单/禁用/限制) 代理商账户 ----> 金融机构代理商账号、金融机构ID、代理商ID、代理商账户余额、金融机构代理商账户状态(正常/冻结/黑名单/禁用/限制) 商户账户 ----> 金融机构商户账号、金融机构ID、商户ID、商户账户余额、金融机构商户账户状态(正常/冻结/黑名单/禁用/限制) 个体账户 ----> 金融机构个体账号、金融机构ID、个体ID、个体账户余额、金融机构个体账户状态(正常/冻结/黑名单/禁用/限制)

下发机构 ----> 下发机构ID、下发机构名称、基础费率、下发机构状态(启用/禁用) 下发机构账户列表 ----> 下发机构账户ID、下发机构ID、金融机构代码、金融机构下发机构账号、票据余额、系统账户状态(正常/冻结/禁用)

代理商 ----> 代理商ID、代理商名称、基础费率、代理商状态(启用/禁用) 代理商账户列表 ----> 代理商账户ID、下发机构ID、金融机构代码、金融机构代理商账号、票据余额、系统账户状态(正常/冻结/禁用)

商户 ----> 商户ID、代理商ID、商户名称、基础费率、商户状态(启用/禁用) 商户账户列表 ----> 商户账户ID、下发机构ID、金融机构代码、金融机构商户账号、票据余额、系统账户状态(正常/冻结/禁用)

商户向个体的下发记录 ----> 下发记录ID、下发机构ID、代理商ID、商户ID、个体ID、个体账户ID、金融机构商户账号、下发金额、下发费率、下发状态(成功/失败/进行中/取消/退费)、下发时间 部署在商户组织结构节点

个体票据交易记录 ----> 交易记录ID、下发记录ID、交易类型(增加/减少)、交易操作类型(充值/提现/修复/退费)、交易票据金额、交易前票据余额、交易后票据余额、交易时间 部署在商户组织结构节点

商户票据交易记录 ----> 交易记录ID、下发记录ID、交易类型(增加/减少)、交易操作类型(充值/提现/修复)、交易票据金额、交易前票据余额、交易后票据余额、交易时间 部署在商户组织结构节点

代理商票据交易记录 ----> 交易记录ID、下发记录ID、交易类型(增加/减少)、交易操作类型(佣金/提现/修复)、交易票据金额、交易前票据余额、交易后票据余额、交易时间 部署在代理商组织结构节点

下发机构票据交易记录 ----> 交易记录ID、业务操作交易记录ID(充值=金融机构票据交易记录ID/购买=商户票据交易记录充值交易记录ID/佣金=商户向个体的下发交易记录ID/)、代理商账户ID、下发机构ID、金融机构代理商账号、交易类型(增加/减少)、交易操作类型(充值/购买/佣金/修复)、交易票据金额、交易前票据余额、交易后票据余额、交易时间 部署在代理商组织结构节点

金融机构票据交易记录 ----> 交易记录ID、金融机构ID、操作账户ID(下发机构ID)、金融机构代理商账号、交易类型(增加/减少)、交易操作类型(发放/回购/修复)、交易票据金额、现金金额、交易时间 部署在代理商组织结构节点

新增的组织节点属于商户的,可以只部署商户节点 新增的组织节点属于代理商的,必须同时部署代理商节点和商户节点 新增的组织节点属于下发机构的,必须同时部署下发机构节点、代理商节点和商户节点

PS:新增的节点只能存储对应下发机构/代理商/商户的数据(包括隐私数据也需要独立新建一套)

不需要单独部署节点的可以共用默认的机构组织节点,这些节点属于平台机构直接管理,数据权限可控,而其他单独部署的节点间数据透明,无法控制数据访问权限,如果新增的节点也可以看到其他节点的数据,则可能面临数据泄露的风险

fabric-example's People

Contributors

wand007 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.