V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hanbin  ›  全部回复第 2 页 / 共 3 页
回复总数  47
1  2  3  
@hanbin 将积分领取和积分消费解耦,消费时不关心积分的有效期属性,积分的有效属性也不关心消费的具体场景,只关心额度变化即可。
两个表:

CREATE TABLE PointsRecord (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增 ID',
user_id INT NOT NULL COMMENT '用户 ID',
points_amount INT NOT NULL COMMENT '积分数量',
receive_time TIMESTAMP NOT NULL COMMENT '领取时间',
expiration_time TIMESTAMP NOT NULL COMMENT '过期时间',
status VARCHAR(20) NOT NULL COMMENT '状态',
receive_source VARCHAR(50) NOT NULL COMMENT '领取来源',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '积分领取记录表';

CREATE TABLE PointsWallet (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '积分钱包 ID',
user_id INT NOT NULL COMMENT '用户 ID',
points_balance INT NOT NULL DEFAULT 0 COMMENT '积分余额',
total_points INT NOT NULL DEFAULT 0 COMMENT '积分总额',
used_points INT NOT NULL DEFAULT 0 COMMENT '已用积分总额',
expired_points INT NOT NULL DEFAULT 0 COMMENT '已过期积分总额',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '积分钱包表';

领取积分:

PointsRecord 入库一条记录,PointsWallet 更新 total_points & points_balance ,事务处理

过期积分:

PointsRecord 更新一条数据,PointsWallet 更新 total_points & points_balance & expired_points ,事务处理

积分消费:

PointsWallet 更新 used_points & points_balance

过期积分用脚本处理

积分消费时判断余额够就允许消费。
268 天前
回复了 yoiteshaw 创建的主题 问与答 我该如何判断自己家半夜断过电
打电话问国家电网。
同意二楼的观点。

实际上买车后会发现生活中有很多用途。

租车没法控制车况。
1. Microsoft Remote Desktop 需要配合 VPN 使用,我自己用的 openVPN 。

2. toDesk ,和 teamView 相同。两端登录同一个账号,或者用设备码就能用。我拿这个做 plan B 。
316 天前
回复了 brader 创建的主题 生活 等放假太难熬了
@brader 刚试了 edge 长按鼠标左键也可以
323 天前
回复了 Renco 创建的主题 职场话题 统计一下 V 友们,除夕不放假的有多少
公司送了两天带薪假,7 号开始放假。
华为用户,用华为云备份
建议提前走,不要赶雨雪天气。
323 天前
回复了 hanbin 创建的主题 分享发现 edge 把 baidu.com 的域名干掉了
edge 用百度搜索的结果,点击跳转到不安全提示页面。
323 天前
回复了 hanbin 创建的主题 分享发现 edge 把 baidu.com 的域名干掉了
版本 121.0.2277.83 (正式版本) (arm64)
341 天前
回复了 darklinden 创建的主题 PHP 请教个问题, 关于路由重定向 + nginx 正则转发
你的意思是在业务代码里重定向到当前项目的另一个路由?这种操作我没见过。
341 天前
回复了 rwecho 创建的主题 程序员 写日志流程再优化 2
@rwecho 现在有图了,是找到原因了,还是换解法了。
343 天前
回复了 rwecho 创建的主题 程序员 写日志流程再优化 2
图挂了,切了新加坡和香港两个节点都出不来图,应该是挂了。
@Pantheoon 有便宜的域名服务商吗?
2023-04-11 14:31:38 +08:00
回复了 Albacore 创建的主题 程序员 不知道吃什么?试试这个小程序
俺也一样!
感谢 OP 分享
2023-04-07 11:09:51 +08:00
回复了 Andor_Chen 创建的主题 推广 送几本“通透”的《流畅的 Python (第 2 版)》
感谢 OP 分享知识,太酷了。
php & go 开发,需要副业养家,欢迎用钱来砸我。
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5286 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 80ms · UTC 07:07 · PVG 15:07 · LAX 23:07 · JFK 02:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.