-- ----------------------------
|
-- C 端会员 个人中心 相关变更(ruoyi-user 用户服务)
|
--
|
-- 需求:个人中心页需展示「会员等级」与「今日/本月/累计收益」。
|
-- 变更内容:新增「会员收益流水表」account_earning_record,收益三栏由其按时间实时聚合。
|
--
|
-- 说明(按权威库 192.168.110.111 的既有字段调整):
|
-- 会员等级复用权威库既有列 account_user.system_level(C<L1<L2<L3<L4,从低到高),
|
-- 故本脚本不再新增 member_level 重复列。
|
--
|
-- 目标库 hugray-account 由使用方预先创建(utf8mb4)。
|
-- 注意:库名含连字符,任何引用都必须用反引号。
|
-- ----------------------------
|
|
USE `hugray-account`;
|
|
-- 变更:新增会员收益流水表(一条流水=一次收益事件,三栏由 SQL 按时间聚合)
|
CREATE TABLE `account_earning_record` (
|
`record_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '收益记录ID',
|
`user_id` bigint(20) NOT NULL COMMENT '会员ID(关联 account_user.user_id)',
|
`amount` bigint(20) NOT NULL DEFAULT 0 COMMENT '收益金额(单位:分,可正可负)',
|
`source` char(1) NOT NULL COMMENT '收益来源(1订单收益 2邀请奖励 3等级差价 9其他)',
|
`biz_no` varchar(64) DEFAULT NULL COMMENT '业务单号(同来源幂等去重)',
|
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
`create_time` datetime DEFAULT NULL COMMENT '发生时间',
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
PRIMARY KEY (`record_id`),
|
-- 覆盖「按会员 + 时间区间」的聚合查询,避免全表扫描
|
KEY `idx_earning_user_time` (`user_id`, `create_time`),
|
-- 业务幂等:同来源同业务单号唯一(biz_no 为空时 MySQL 唯一索引不冲突,允许手工补录)
|
UNIQUE KEY `uk_earning_source_biz` (`source`, `biz_no`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员收益流水表';
|
|
-- ----------------------------
|
-- 回滚语句(如需回滚,执行以下语句)
|
-- ----------------------------
|
-- DROP TABLE IF EXISTS `account_earning_record`;
|