账户、基金数据库业务表设计
最编程
2024-05-06 07:21:43
...
下面是主要的表结构设计
CREATE DATABASE ;
USE `firstsnow_auth`;
DROP TABLE IF EXISTS `customer_base`;
CREATE TABLE `customer_base` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`customer_id` varchar(32) NOT NULL COMMENT '用户编号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_type` varchar(6) NOT NULL COMMENT '客户类型 CUST00:平台 ( CUST01:商户 CUST02:用户):普通客户默认为空',
`username` varchar(60) DEFAULT NULL COMMENT '登陆注册名称',
`password` varchar(255) NOT NULL COMMENT '登陆密码',
`pay_password` varchar(255) DEFAULT NULL COMMENT '支付密码',
`password_error_count` int(11) DEFAULT NULL COMMENT '登录密码错误次数',
`pay_password_error_count` int(11) DEFAULT NULL COMMENT '支付密码错误次数',
`password_status` varchar(10) DEFAULT NULL COMMENT '登录密码状态 00:正常 01:未设置 02:锁定',
`pay_password_status` varchar(10) DEFAULT NULL COMMENT '支付密码状态 00:正常 01:未设置 02:锁定',
`personal_id` varchar(32) DEFAULT NULL COMMENT '个人客户编号',
`merchant_id` varchar(32) DEFAULT NULL COMMENT '商户客户编号',
`status` varchar(6) DEFAULT NULL COMMENT '账户状态 00:正常,01:客户冻结',
`authentication_status` varchar(6) DEFAULT NULL COMMENT '认证状态(同步个人客户基础信息表中认证状态) 00:未认证 01:无需认证 02:认证成功 03:认证失败',
`register_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
`register_ip` varchar(46) DEFAULT NULL COMMENT '注册IP',
`login_time` timestamp NULL DEFAULT NULL COMMENT '上次登录时间',
`login_ip` varchar(46) DEFAULT NULL COMMENT '上次登录IP',
`last_login_role` varchar(6) DEFAULT NULL COMMENT '最后登录角色(默认为空) 01:个人客户 02 :商户客户',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`password_salt` varchar(20) DEFAULT NULL COMMENT '登录密码盐值',
`pay_password_salt` varchar(20) DEFAULT NULL COMMENT '支付密码盐值',
`role_type` varchar(2) DEFAULT NULL COMMENT '供业务拓展使用自定义',
PRIMARY KEY (`id`,`customer_id`) USING BTREE,
UNIQUE KEY `customer_base_customerid` (`customer_id`) USING BTREE,
UNIQUE KEY `customer_base_merchantid` (`merchant_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客户基础信息';
DROP TABLE IF EXISTS `customer_base_auths`;
CREATE TABLE `customer_base_auths` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_id` varchar(32) NOT NULL COMMENT '用户编号',
`customer_type` varchar(6) DEFAULT NULL COMMENT '客户类型 CUST00:平台 CUST01:商户 CUST02:用户',
`auth_type` varchar(6) NOT NULL COMMENT '授权类型 00:登录授权 01:支付授权(预留)',
`auth_method` varchar(20) DEFAULT NULL COMMENT '授权方式 phone:手机号 email:邮箱 username:用户名 weixin:微信 qq:QQ weibo:微博',
`isThird` varchar(6) DEFAULT NULL COMMENT '是否第三方 00:站内 01:第三方',
`identifier` varchar(32) DEFAULT NULL COMMENT '识别码',
`credential` varchar(60) NOT NULL COMMENT '凭据',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客户授权信息';
DROP TABLE IF EXISTS `customer_message_rel`;
CREATE TABLE `customer_message_rel` (
`id` varchar(32) NOT NULL COMMENT '序号',
`customer_id` varchar(32) DEFAULT NULL COMMENT '用户编号',
`message_id` varchar(32) DEFAULT NULL COMMENT '消息编号',
`isRead` varchar(2) DEFAULT NULL COMMENT '是否已读 00:未读 01:已读',
`isDelete` varchar(2) DEFAULT NULL COMMENT '是否删除 00:正常 01:删除',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户消息关联表';
DROP TABLE IF EXISTS `customer_push_msg`;
CREATE TABLE `customer_push_msg` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
`platform_id` varchar(32) DEFAULT NULL COMMENT '平台编号',
`customer_no` varchar(32) DEFAULT NULL COMMENT '个人或商户编号(客户类型为平台时字段为空)',
`trade_type` varchar(6) DEFAULT NULL COMMENT '客户类型 CUST00:平台 CUST01:商户 CUST02:用户',
`push_tag` varchar(40) DEFAULT NULL COMMENT '消息推送tag',
`push_alias` varchar(40) DEFAULT NULL COMMENT '消息推送alias',
`push_registration_id` varchar(40) DEFAULT NULL COMMENT '消息推送RegistrationID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客户消息推送参数表';
DROP TABLE IF EXISTS `freeze_journal`;
CREATE TABLE `freeze_journal` (
`journal_id` varchar(32) NOT NULL COMMENT '流水号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_type` varchar(6) NOT NULL COMMENT '客户类型 CUST00:平台 CUST01:商户 CUST02:用户',
`customer_no` varchar(32) DEFAULT NULL COMMENT '个人或商户编号',
`trade_type` varchar(2) NOT NULL COMMENT '交易类型(支付:01,退款:02,提现:03,充值:04)',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`freeze_balance` decimal(18,2) NOT NULL COMMENT '冻结金额',
`status` varchar(6) NOT NULL COMMENT '冻结状态 1:已冻结 2:部分解冻 3:已解冻',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`journal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='冻结流水表';
DROP TABLE IF EXISTS `merchant_account`;
CREATE TABLE `merchant_account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` varchar(32) NOT NULL COMMENT '账户编号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_id` varchar(32) DEFAULT NULL COMMENT '客户编号',
`merchant_id` varchar(32) DEFAULT NULL COMMENT '商户编号',
`merchant_type` varchar(6) NOT NULL COMMENT '商户类型 CUST00:平台 CUST01:商户 ',
`account_type` varchar(10) NOT NULL COMMENT '账户类型 ACC001:余额账户,ACC002:红包账户,ACC003:积分账户,ACC004:手续费账户 见枚举类AccountType',
`ccy` varchar(6) DEFAULT NULL COMMENT '币种 CNY:人民币',
`account_balance` decimal(18,2) DEFAULT NULL COMMENT '账户余额',
`freeze_balance` decimal(18,2) DEFAULT NULL COMMENT '冻结金额',
`check_sum` varchar(40) DEFAULT NULL COMMENT '校验码(余额加密值)',
`status` varchar(2) DEFAULT NULL COMMENT '账户状态 00:正常,01:冻结',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商户账户信息';
DROP TABLE IF EXISTS `merchant_account_journal`;
CREATE TABLE `merchant_account_journal` (
`journal_id` varchar(32) NOT NULL COMMENT '流水号',
`platform_id` varchar(32) DEFAULT NULL COMMENT '平台编号',
`customer_id` varchar(32) DEFAULT NULL COMMENT '客户编号',
`merchant_name` varchar(64) DEFAULT NULL COMMENT '商户名称',
`merchant_id` varchar(32) DEFAULT NULL COMMENT '商户编号',
`from_account_name` varchar(100) DEFAULT NULL COMMENT '来向账号名称',
`from_account` varchar(32) DEFAULT NULL COMMENT '账户ID',
`account_type` varchar(10) DEFAULT NULL COMMENT '账户类型 ACC001:余额账户',
`order_no` varchar(32) DEFAULT NULL COMMENT '订单号',
`in_out_flag` varchar(2) DEFAULT NULL COMMENT '来往标志 1:入账 2:出账 ',
`trade_amt` decimal(18,2) DEFAULT NULL COMMENT '交易金额',
`to_account` varchar(32) DEFAULT NULL COMMENT '去向账号',
`to_account_name` varchar(100) DEFAULT NULL COMMENT '去向账号名称',
`trade_type` varchar(2) DEFAULT NULL COMMENT '交易类型(支付:01,退款:02,提现:03,充值:04)',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`journal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商户账户流水(充、转、提、退、冻结流水)';
DROP TABLE IF EXISTS `merchant_base`;
CREATE TABLE `merchant_base` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`merchant_id` varchar(32) NOT NULL COMMENT '商户编号',
`merchant_name` varchar(60) DEFAULT NULL COMMENT '商户名称',
`merchant_type` varchar(10) DEFAULT NULL COMMENT '商户类型:见枚举类型 merchantType',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_id` varchar(32) DEFAULT NULL COMMENT '客户编号',
`third_no` varchar(32) DEFAULT NULL COMMENT '第三方商户编号',
`parent_mer_id` varchar(32) DEFAULT NULL COMMENT '父级商户编号',
`merchant_level` varchar(4) DEFAULT NULL COMMENT '商户级别 00:普通商户 01:子商户 ',
`company_name` varchar(100) DEFAULT NULL COMMENT '企业名称',
`business_scope` text COMMENT '经营范围',
`business_no` varchar(60) DEFAULT NULL COMMENT '工商注册号',
`legal_person_name` varchar(32) DEFAULT NULL COMMENT '法人姓名',
`legal_person_cred_type` varchar(6) DEFAULT NULL COMMENT '法人证件类型 0-身份证;1-户口本;2-护照;3-军官证;4-士兵证;5-港澳居民往来内地通行证;6-*通报往来内地通行证;7-临时身份证;8-外国人居留证;9-警官证;x-其他证件 ',
`legal_person_cred_no` varchar(32) DEFAULT NULL COMMENT '法人证件号码',
`business_licence` text COMMENT '营业执照',
`phone` varchar(11) DEFAULT NULL COMMENT '联系电话',
`mobile` varchar(32) DEFAULT NULL COMMENT '企业座机',
`fax` varchar(32) DEFAULT NULL COMMENT '企业传真',
`http_address` text COMMENT '企业网址',
`registered_capital` decimal(18,2) DEFAULT NULL COMMENT '注册资金',
`company_address` text COMMENT '企业地址',
`authentication_status` varchar(6) DEFAULT NULL COMMENT '认证状态 00:未认证 01:无需认证 02:认证成功 03:认证失败',
`status` varchar(2) DEFAULT NULL COMMENT '账户状态 00:正常,01:冻结',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`owner` varchar(60) DEFAULT NULL COMMENT '归属人(存后台管理系统登录人员id)指谁发展的客户',
PRIMARY KEY (`id`,`merchant_id`),
UNIQUE KEY `Key_merchant_name` (`merchant_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商户客户基础信息';
DROP TABLE IF EXISTS `merchant_base_ext`;
CREATE TABLE `merchant_base_ext` (
`merchant_id` varchar(32) NOT NULL COMMENT '商户编号',
`interview` int(11) DEFAULT NULL COMMENT '邀请面试次数',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间',
`zip_code` varchar(8) DEFAULT NULL COMMENT '邮编',
`spare_address` varchar(32) DEFAULT NULL COMMENT '商户备用地址',
`signing_date` date DEFAULT NULL COMMENT '签约日期',
`release_date` date DEFAULT NULL COMMENT '解约日期',
`wechat_no` varchar(32) DEFAULT NULL COMMENT '联系人微信号',
`province` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '省',
`city` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '市',
`county` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '县',
PRIMARY KEY (`merchant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商户基础信息扩展表';
DROP TABLE IF EXISTS `merchant_bind_card`;
CREATE TABLE `merchant_bind_card` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`platform_id` varchar(60) COLLATE utf8_bin NOT NULL COMMENT '平台号',
`merchant_id` varchar(60) COLLATE utf8_bin NOT NULL COMMENT '商户ID',
`merchant_type` tinyint(2) NOT NULL COMMENT '0:个人 1:企业',
`id_card_no` varchar(60) COLLATE utf8_bin DEFAULT NULL COMMENT '身份证号',
`id_card_front_img` text COLLATE utf8_bin COMMENT '身份证正面照片',
`id_card_back_img` text COLLATE utf8_bin COMMENT '身份证反面照片',
`cardholder_name` varchar(60) COLLATE utf8_bin DEFAULT NULL COMMENT '持卡人姓名',
`beneficiary_bank_name` varchar(60) COLLATE utf8_bin DEFAULT NULL COMMENT '收款银行名称',
`beneficiary_bank_card_no` varchar(60) COLLATE utf8_bin DEFAULT NULL COMMENT '收款人卡号',
`encrypt_bank_card_no` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT '加密银行卡号',
`status` tinyint(2) DEFAULT NULL COMMENT '状态 0:待验证 1:已绑定 2:解绑',
`beneficiary_bank_branch_name` varchar(60) COLLATE utf8_bin DEFAULT NULL COMMENT '收款银行支行名称',
`beneficiary_branch_no` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '支行编号',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`role_type` tinyint(4) DEFAULT NULL COMMENT '为了区分不同角色的商户',
`account_permits_img` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT '开户许可证图片(merchant_type 为1时必输)',
PRIMARY KEY (`id`),
UNIQUE KEY `t_merchant_bind_card_id` (`merchant_id`),
UNIQUE KEY `t_beneficairy_bank_card_no` (`beneficiary_bank_card_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS `message_info`;
CREATE TABLE `message_info` (
`message_id` varchar(32) NOT NULL COMMENT '消息编号',
`platform_id` varchar(32) DEFAULT NULL COMMENT '平台编号',
`message_type` varchar(2) DEFAULT NULL COMMENT '消息类型 00:系统消息 01:会员消息 02:商户消息',
`message_title` varchar(32) DEFAULT NULL COMMENT '消息标题',
`message_content` text COMMENT '消息内容',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`message_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='消息表';
DROP TABLE IF EXISTS `personal_account`;
CREATE TABLE `personal_account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` varchar(32) NOT NULL COMMENT '账户编号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`personal_id` varchar(32) NOT NULL COMMENT '个人信息编号',
`account_type` varchar(10) NOT NULL COMMENT '账户类型 ACC001:余额账户,ACC002:红包账户,ACC003:积分账户,ACC004:手续费账户 见枚举类AccountType',
`ccy` varchar(6) DEFAULT NULL COMMENT '币种 CNY:人民币',
`account_balance` decimal(18,2) DEFAULT NULL COMMENT '账户余额',
`freeze_balance` decimal(18,2) DEFAULT NULL COMMENT '冻结金额',
`check_sum` varchar(40) DEFAULT NULL COMMENT '校验码(余额加密值)',
`status` varchar(2) DEFAULT NULL COMMENT '账户状态 00:正常,01:冻结',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人账户信息';
DROP TABLE IF EXISTS `personal_account_journal`;
CREATE TABLE `personal_account_journal` (
`journal_id` varchar(32) NOT NULL COMMENT '流水号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`personal_id` varchar(32) NOT NULL COMMENT '个人信息编号',
`account_id` varchar(32) NOT NULL COMMENT '账户编号',
`account_type` varchar(10) NOT NULL COMMENT '账户类型 ACC001:余额账户',
`order_no` varchar(32) DEFAULT NULL COMMENT '订单号',
`in_out_flag` varchar(2) DEFAULT NULL COMMENT '来往标志 1:来账 2:往账',
`trade_amt` decimal(18,2) DEFAULT NULL COMMENT '交易金额',
`trade_type` varchar(2) DEFAULT NULL COMMENT '交易类型(支付:01,退款:02,提现:03,充值:04)',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`journal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人账户流水(充、转、提、退、冻结流水)';
DROP TABLE IF EXISTS `personal_base`;
CREATE TABLE `personal_base` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
`personal_id` varchar(32) NOT NULL COMMENT '个人客户编号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`customer_id` varchar(32) NOT NULL COMMENT '用户编号',
`third_no` varchar(32) DEFAULT NULL COMMENT '第三方会员编号',
`phone` varchar(11) DEFAULT NULL COMMENT '手机号',
`avatar` text COMMENT '头像',
`real_name` varchar(20) DEFAULT NULL COMMENT '用户名称',
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
`nick_name` varchar(32) DEFAULT NULL COMMENT '用户昵称',
`sex` varchar(1) DEFAULT NULL COMMENT '性别 1:男 2:女',
`birthday` varchar(10) DEFAULT NULL COMMENT '生日',
`address` varchar(256) DEFAULT NULL COMMENT '居住地',
`id_positive` text COMMENT '身份证正面',
`id_negative` text COMMENT '身份证反面',
`authentication_status` varchar(6) DEFAULT NULL COMMENT '认证状态 00:未认证 01:无需认证 02:认证成功 03:认证失败',
`status` varchar(2) DEFAULT NULL COMMENT '账户状态 00:正常,01:冻结',
`remark` text COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`owner` bigint(20) DEFAULT NULL COMMENT '归属人(存后台管理系统登录人员id)指谁发展的客户',
`personal_type` varchar(6) DEFAULT NULL COMMENT '个人客户类型 00:注册用户 01:运营添加用户',
PRIMARY KEY (`id`,`customer_id`,`personal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人客户基础信息';
DROP TABLE IF EXISTS `personal_base_ext`;
CREATE TABLE `personal_base_ext` (
`personal_id` varchar(32) NOT NULL COMMENT '个人客户编号',
`personal_level` int(11) DEFAULT NULL COMMENT '客户等级',
`industry` varchar(256) DEFAULT NULL COMMENT '行业',
`industry_description` varchar(256) DEFAULT NULL COMMENT '行业描述',
`job` varchar(256) DEFAULT NULL COMMENT '职务',
`provinces` varchar(64) DEFAULT NULL COMMENT '所在省市',
`email` varchar(32) DEFAULT NULL COMMENT '电子邮件',
`zip_code` varchar(8) DEFAULT NULL COMMENT '邮编',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`attention_industry` text COMMENT '关注行业',
`attention_jobs` text COMMENT '关注职位',
`self_tag` text COMMENT '标签',
`deviceId` varchar(60) DEFAULT NULL COMMENT '设备ID',
`deviceType` varchar(1) DEFAULT NULL COMMENT '设备类型',
PRIMARY KEY (`personal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人基础信息扩展表';
DROP TABLE IF EXISTS `personal_base_tracking`;
CREATE TABLE `personal_base_tracking` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`ticker_personal_id` varchar(32) NOT NULL COMMENT '跟踪人ID',
`personal_id` varchar(32) NOT NULL COMMENT '被跟踪人ID',
`remark` text COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人客户跟踪表';
DROP TABLE IF EXISTS `personal_billing`;
CREATE TABLE `personal_billing` (
`bill_id` varchar(32) NOT NULL COMMENT '账单编号',
`platform_id` varchar(32) DEFAULT NULL COMMENT '平台编号',
`personal_id` varchar(32) DEFAULT NULL COMMENT '个人信息编号',
`account_journal_id` varchar(32) DEFAULT NULL COMMENT '账务流水号',
`order_no` varchar(32) DEFAULT NULL COMMENT '订单号',
`bill_type` varchar(6) DEFAULT NULL COMMENT '账单类型 饮食,服装,美容,生活用品,保险,理财',
`in_out_flag` varchar(4) DEFAULT NULL COMMENT '来往标志 1:入账 2:出账',
`trade_amt` decimal(18,2) DEFAULT NULL COMMENT '交易金额',
`seller_id` varchar(32) DEFAULT NULL COMMENT '资金来源编号',
`seller_type` varchar(4) DEFAULT NULL COMMENT '客户类型 CUST00:平台 CUST01:商户 CUST02:用户 CUST03:第三方',
`produce_info` varchar(256) DEFAULT NULL COMMENT '商品说明',
`pay_way` varchar(6) DEFAULT NULL COMMENT '付款方式 ALIPAY:支付宝 \nWECHAT:微信',
`remark` text COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`trade_type` varchar(30) DEFAULT NULL COMMENT '交易类型(支付:01,退款:02,提现:03,充值:04)',
`status` varchar(10) DEFAULT NULL COMMENT '账单状态(付款成功 00 ,充值成功 01 ,退款申请成功02,退款成功03, 提现申请成功04 ,提现处理成功 05 ,退款失败06, 提现失败07 )',
PRIMARY KEY (`bill_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人账单';
DROP TABLE IF EXISTS `personal_bind_card`;
CREATE TABLE `personal_bind_card` (
`id` varchar(32) NOT NULL COMMENT '序号',
`platform_id` varchar(32) NOT NULL COMMENT '平台编号',
`personal_id` varchar(32) DEFAULT NULL COMMENT '个人客户编号',
`bind_card_no` varchar(32) DEFAULT NULL COMMENT '银行卡号 隐藏中间数位的银行卡号',
`bind_encrypt_card_no` varchar(256) DEFAULT NULL COMMENT '加密银行卡号',
`cardholder_name`
上一篇: 支付宝如何删除电费账号
下一篇: 支付系统行号的含义
推荐阅读
-
账户、基金数据库业务表设计
-
数据库约束 | 表设计 | 聚合查询 | 联合查询 - MySQL 精细化库
-
基于前序遍历的无递归树状结构数据库表设计
-
数据库用户表结构设计 - 包括第三方登录在内的多种注册方法
-
反传销网8月30日发布:视频区块链里的骗子,币里的韭菜,杜子建骂人了!金融大V周召说区块链!——“一小帮骗子玩一大帮小白,被割韭菜,小白还轮流被割,割的就是你!” 什么区块链,统统是骗子 作者:周召(知乎金融领域大V,毕业于上海财经大学,目前任职上海某股权投资基金合伙人) 有人问我,区块链现在这么火,到底是不是骗局? 我的回答是: 是骗局。而且我并不是说数字货币是骗局,而是说所有搞区块链的都是骗局。 -01- 区块链是一种鸡肋技术 人类社会任何技术的发明应用,本质都是为了提高社会的生产效率。而所谓区块链技术本质不过是几种早已成熟的技术的大杂烩,冗余且十分低效,除了提高了洗钱和诈骗的效率以外,对人类社会的进步毫无贡献。 真正意义上的区块链得包含三个要素:分布式系统(包括记账和存储),无法篡改的数据结构,以及共识算法,三者互为基础和因果,就像三体世界一样。看上去挺让人不明觉厉的,而经过几年的瞎折腾,稍微懂点区块链的碰了几次壁后都已经渐渐明白区块链其实并没有什么卵用,区块链技术已经名存实亡,沦为了营销工具和传销组织的画皮。 因为符合上述定义的、以比特币为代表的原教旨区块链技术,是反效率的,从经济学角度来说,不但不是一种帕累托改进,甚至还可以说是一种帕累托倒退。 原教旨区块链技术的效率十分低下,因为要遍历所有节点,只能做非常轻量级的数据应用,一旦涉及到大量的数据传输与更新,区块链就瞎了。 一方面整条链交易速度会极慢,另一方面数据库容量极速膨胀,考虑到人手一份的存储机制,区块链其实是对存储资源和能源的一种极大的浪费。 这里还没有加上为了取得所谓的共识和挖矿消耗的巨大的能源,如果说区块链技术是屎,那么这波区块链投机浪潮可谓人类历史上最大规模的搅屎运动。 区块链也验证不了任何东西。 所谓的智能合约,即不智能,也非合约。我看有人还说,如果有了智能合约,就可以跟老板签一份放区块链上,如果明年销售业绩提升30%,就加薪10%,由于区块链不能篡改,不能抵赖,所以老板必须得执行,说得有板有眼,不懂行的愣一看,好像还真是那么回事。 但仔细一想,问题就来了。首先,在区块链上如何证明你真的达到了30%业绩提升?即便真的达到老板耍赖如何执行? 也就是说,如果区块链真这么厉害,要法院和仲裁干什么。 人类社会真正的符合成本效益原则的是代理制度。之前有人说要用区块链改造注册会计师行业,我不知道他准备怎么设计,我猜想他思路大概是这样的,首先肯定搞去中心化,让所有会计师到链上来,然后一个新人要成为注册会计师就要所有会计师同意并记录在链上。 那我就请问了,我每天上班累死累活,为什么还要花时间去验证一个跟我无关的的人的专业能力?最优做法当然是组织一个委员会,让专门的人来负责,这不就是现在注册会师协会干的事儿吗?区块链的逻辑相当于什么事情都要拿出来公投,这个绝对是扯淡的。 当然这么说都有点抬举区块链了,区块链技术本身根本没有判断是非能力,如果这么高级的人工智能,靠一个无脑分布式记账就能实现的话,我们早就进入共产主义社会了。 虽然EOS等数字货币采用了超级节点,通过再中心化的方式提高效率,有点行业协会的意思,是对区块链原教旨主义的一种修正,但是依然无法突破区块链技术最本质的局限性。有人说,私有链和联盟链是区块链技术的未来,也是扯淡,因为区块链技术没有未来。如果有,说明他是包装成区块链的伪区块链技术。 区块链所涉及的所有底层技术,不管是分布式数据库技术,加密技术,还是点对点传输技术等,基本都是早已存在没什么秘密可言的技术。 比特币系统最重要的特性是封闭性和自洽性,他验证不了任何系统自身以外产生的信息的真实性。 所谓系统自身产生的信息,就是数据库数据的变动信息,有价值的基本上有且只有交易信息。所以说比特币最初不过是中本聪一种炫技的产物,来证明自己对几种技术的掌握,你看我多牛逼,设计出了一个像三体一样的系统。因此,数字货币很有可能是区块链从始至终唯一的杀手应用。 比特币和区块链概念从诞生到今天已经快10年了,很多人说区块链技术在爆发的前夜,但这个前夜好像是不是有点过长了啊朋友,跟三体里的长夜有一拼啊。都说区块链技术像是90年代初的互联网,可是90年代初的互联网在十年发展后,已经出现了一大批伟大的公司,阿里巴巴在99年都成立了,区块链怎么除了币还是币呢? 正规的数字货币未来发展的形式无外乎几种,要么就是论坛币形式,或者类似股票的权益凭证等。问题是论坛币和股票之前,本来也都电子化了,区块链来了到底改变了什么呢? 所有想把TOKEN和应用场景结合起来的人最后都很痛苦,最后他们会发现区块链技术就是脱裤子放屁,自己辛苦搞半天,干嘛不自己作为中心关心门来收钱?最后这些人都产生了价值的虚无感,最终精神崩溃,只能发币疯狂收割韭菜,一边嘴里还说着我是个好人之类的奇怪的话。 因此,之前币圈链圈还泾渭分明,互相瞧不起,但这两年链圈逐渐坐不住了,想着是不是趁着泡沫没彻底破灭之前赶快收割一波,不然可能什么都捞不着了。 前段时间和一个名校毕业的链圈朋友瞎聊天,他说他们“致力于用区块链技术解决数字版权保护问题”,我就问他一个问题,你们如何保证你链的版权所有权声明是真实的,万一盗版者抢先一步把数据放在链上怎么办。他说他们的解决方案是连入国家数字版权保护中心的数据库进行验证…… 所以说区块链技术就是个鸡肋,研究到最后都会落入效率与真实性的黑洞,很多人一头扎进链圈后才发现,真正意义上的区块链技术,其实什么都干不了。 -02- 不是蠢就是坏的区块链媒体 空气币和区块链的造富神话,让区块链自媒体也开始迎风乱扭。一群群根本不知道区块链为何物的妖魔鬼怪纷纷进驻区块链自媒体战场,开始大放厥词胡编乱造。 任何东西,但凡只要和区块,链,分,分布式,记账,加密,验证,可追溯等等这些个关键词沾到哪怕一点点,这些所谓的区块链媒体人就会像狗闻到了屎了一样疯狂地把区块链概念往上套。 这让我想起曾经一度也是热闹非凡的物联网,我曾经去看过江苏一家号称要改变世界的“物联网”企业,过去一看是生产路由器的,我黑人问号脸,对方解释说没有路由器万物怎么互联,我觉得他说得好有道理,竟无言以对。 好,下面让我们进入奇葩共赏析时间,来看看区城链媒体经常有哪些危言耸听的奇谈怪论 区块链(分布式记账)的典型应用是*?? 正如前面所说,真正意义上的区块链分布式记账,不光包括“记”这个动作,还包括分布式存储和共识机制等。而*诞生远远早于区块链这个词的出现,勉强算是“分布式编辑”吧,就被很多区块链媒体拿来强行充当区块链技术应用的典范。 其实事实恰恰相反,*恰恰是去中心化失败的典范,现在如果没有精英和专业人士的编辑和维护,*早就没法看了。 区块链会促进社会分工?? 罗振宇好像就说过类似的话,虽然罗振宇说过很多没有逻辑的话,但这句话绝对是最没逻辑思维的。很多区块链自媒体也常常用这句话来忽悠老百姓,说分工代表效率提高社会进步,而区块链“无疑”会促进分工,他们的理由仅仅是分工和分布式记账都共用一个“分”字,就强行把他们扯到一起。 实际情况恰恰相反,区块链是逆分工的,区块链精神是号召所有人积极地参与到他不擅长也不想掺合的事情里面去。 区块链不能像上帝一样许诺他的子民死后上天国,只能给他们许诺你们是六度人脉中的第一级,我可以赚后面五级人的钱,你处于金字塔的顶端。
-
树状结构数据库表 模式设计
-
MySQL 数据库:数据库设计(多个表之间的关系和三种范例)和备份还原
-
数据库表设计中的一对一关系
-
面试官让我设计QQ、微信等第三方账号登录并说明数据库表设计,该怎么做呢?
-
Grid++Report 锐浪报表开发常见问题解答集锦-报表设计 问:怎样在设计时打印预览报表? 答:为了及时查看报表的设计效果,Grid++Report 报表设计应用程序提供了四种查看视图:普通视图、页面视图、预览视图与查询视图。通过窗口下边的 Tab 按钮可以在四种视图中任意切换。在预览视图中查看报表的打印预览效果,在查询视图中查看报表的查询显示效果。如果在报表的记录集提供了数据源连接串与查询 SQL,在进入预览视图与查询视图时会利用数据源连接串与查询 SQL 从数据源中自动取数,否则 Grid++Report 将自动生成模拟数据进行模拟打印预览与查询显示。注意:在预览视图与查询视图中看到的报表运行结果有可能与在你程序中的最终运行结果有差异,因为在报表的生成过程中我们可以在程序中对报表的生成行为进行一定的控制。 问:怎样用 Grid++Report 设计交叉表? 答:Grid++Report 没有提供专门实现交叉表的功能,其它的报表构件提供的交叉表功能一般也比较死板和功能有限。利用 Grid++Report 的编程接口可以做出灵活多变,功能丰富的交叉表。示例程序 CrossTab 就是一个实现交叉表的例子程序,认真领会此例子程序,你就可以做出自己想要各种交叉表,并能提取一些共用代码,便于重复使用。 问:怎样设置整个报表的缺省字体? 答:设置报表主对象的字体属性,也就是设置了整个报表的缺省字体。如果改变报表主对象的字体属性,则没有专门的设置字体属性的子对象的字体属性也跟随改变。同样每个报表节与明细网格也有字体属性,他们的字体属性也就是其拥有的子对象的缺省字体。 问:怎样在打印时限制一页的输出行数? 答:设定明细网格的内容行的‘每页行数(RowsPerPage)’属性即可。另外要注意‘调节行高(AdjustRowHeight)’属性值:为真时根据页面的输出高度自动调整行的高度,使整个页面的输出区域充满。为假时按设计时的高度输出行。 问:怎样显示中文大写金额? 答:将对象的“格式(Format)”属性设为 “$$” 及可,可以设置格式的对象有:字段(IGRField)、参数(IGRParameter)、系统变量(IGRSystemVarBox)与综合文字框(IGRMemoBox),其中综合文字框是在报表式上设格式。 问:能否实现自定义纸张与票据打印? 答:Grid++Report 完全支持自定义纸张的打印,只要在报表设定时在页面设置中选定自定义纸张,并指定准确的纸张尺寸。当然要在最终输出时得道合适的打印结果,输出打印机必须支持自定义纸张打印。Windows2000/XP/2003 操作系统上可以在打印机上定义自定义纸张,也可以采用这种方式实现自定义纸张打印。 问:怎样实现 0 值不打印? 答:直接设置格式串就可以,在“数字格式”设置对话框中选定“0 不显示”,就会得到合适的格式串。也可以通过直接录入格式串来指定 0 不显示,但格式串必须符合 Grid++Report 的规定格式。另一种实现办法是在报表获取明细记录数据时,在 BeforePostRecord 事件中将值为零的字段设为空,调用字段的 Clear 方法将字段置为空。 问:怎样实现多栏报表? 答:在明细网格上设‘页栏数(PageColumnCount)’属性值大于 1 即可。通过 Grid++Report 的“页栏输出顺序”还可以指定多栏报表的输出顺序是“先从上到下”还是“先从左到右”。 问:如何实现票据套打? 答:Grid++Report 为实现票据套打做了很多专门的安排:报表设计器提供了页面设计模式,按照设定的纸张尺寸显示设计面板,如果将空白票据的扫描图设为设计背景图,在定位报表内容的输出位置会非常方便。报表部件可以设定打印类别,非套打输出的内容在套打打印模式下就不会输出。 问:Grid++Report 有没有横向分页功能? 答:回答是肯定的,在列的总宽度超过打印页面的输出宽度时,Grid++Report 可以另起新页输出剩余的列,如果左边存在锁定列,锁定列可以在后面的新页中重复输出,这样可以保证关键数据列在每一页都有输出。仔细体会 Grid++Report 提供的多种打印适应策略,选用最合适的方式。Grid++Report 的多种打印适应策略为开发动态报表提供了很好的支持。 问:怎样实现报表本页小计功能? 答:定义一个报表分组,将本分组定义为页分组,在本分组的分组头与分组尾上定义统计。页分组就是在每页产生一个分组项,在每页的上端与下端都会分别显示页分组的分组头与分组尾,页分组不用定义分组依据字段。 报表运行 问:怎样与数据库建立连接? 答:如果在设计报表时指定了数据集的数据源连接串与查询 SQL 语句,Grid++Report 采用拉模式直接从数据源取得报表数据,Grid++Report 利用 OLE DB 从数据源取数,OLE DB 提供了广泛的数据源操作能力。如果 Grid++Report 的数据来源采用推模式,即 Grid++Report 不直接与数据库建立连接,各种编程语言/平台都提供了很好的数据库连接方式,并且易于操作,应用程序在报表主对象(IGridppReport)的 FetchRecord 事件中将数据传入,例子程序提供了各种编程语言填入数据的通用方法,对C++Builder 和 Delphi 还进行了专门的包装,直接关联 TDataSet 对象也可以将 TDataSet 对象中的数据传给报表。 问:打印时能否对打印纸张进行自适应?支持表格的折行打印吗? 答:Grid++Report 在打印时采用多种适应策略,通过设置明细网格(IGRDetailGrid)的‘打印策略(PrintAdaptMethod)’属性指定打印策略。(1)丢弃:按设计时列的宽度输出,超出范围的内容不显示。(2)绕行:按设计时列的宽度输出,如果在当前行不能完整输出,则另起新行进行输出。(3)缩放适应:对所有列的输出宽度进行按比例地缩放,使总宽度等于页面的输出宽度。(4)缩小适应:如果列的总宽度小于页面的输出宽度,对所有列的输出宽度进行按比例地缩小,使总宽度等于页面的输出宽度。(5)横向分页:超范围的列在新页中输出。(6)横向分页并重复锁定列。 问:如何改变缺省打印预览窗口的窗口标题? 答:改变报表主对象的‘标题(Title)’属性即可。 问:利用集合对象的编程接口取子对象的接口引用,但不是自己期望的结果。 答:Grid++Report中所有集合对象的下标索引都是从 1 开始,另按对象的名称查找对象的接口引用时,名称字符是不区分大小写的。 问:怎样在运行时控制报表中各个对象的可见性?即怎样在运行时显示或隐藏对象? 答:在报表主对象(GridppReport)的 SectionFormat 事件中设定相应报表子对象的可见(Visible)属性即可。 问:报表主对象重新载入数据,设计器中为什么没有反映新载入的数据? 答:应调用 IGRDesigner 的 Reload 方法。 问:怎样实现不进入打印预览界面,直接将报表打印出来?