过期时间expire_time
每次消耗积分时,增加消耗记录,同时在查询有效期内的积分 score > used_score 为条件id为升序,的所有数据,进行遍历处理更新used_score 直到消耗积分为0,
如果退回积分也可以以同样的方式进行,以id 为倒叙,查询used_score >0 条件的所有数据,进行遍历更新 used_score 直到退回的积分为0 (退积分的思路:如果允许退,那么就把最新消耗的记录进行撤销积分的使用,不更新积分的有效期)
表格: tp_member
备注: 用户表
索引:
名称 | 类型 | 属性 | 备注 |
---|---|---|---|
主索引 | id | unique |
字段:
名称 | 类型 | 空 | 默认值 | 属性 | 备注 |
---|---|---|---|---|---|
id | int(11) unsigned | 否 | <auto_increment> | ||
nickname | varchar(255) | 是 | <空> | 昵称 | |
room_id | varchar(255) | 是 | <空> | 房号 | |
avatar_url | varchar(255) | 是 | <空> | 小程序头像 | |
username | varchar(255) | 是 | <空> | 姓名 | |
alpha_id | char(8) | 是 | <空> | 二维码名片 | |
tel | varchar(255) | 是 | <空> | 电话 | |
member_type | tinyint(1) unsigned | 否 | 0 | 0:普通用户、1:业主、2:合伙人 | |
member_level | tinyint(3) unsigned | 否 | 1 | 会员级别名称【common.php】 | |
img_ids | varchar(255) | 否 | 0 | 证书 | |
total_score | int(11) unsigned | 否 | 0 | 累计总积分 | |
score | int(11) unsigned | 否 | 0 | 可用积分 | |
mini_openid | varchar(255) | 是 | <空> | 小程序openid | |
status | tinyint(1) unsigned | 否 | 1 | 启用状态:0 禁用,1 启用 | |
drag_sort | numeric(16,6) unsigned | 否 | 0.000000 | 排序字段 | |
member_auth | varchar(255) | 是 | 管理员的权限id组:1,2 | ||
update_time | int(11) unsigned | 是 | 0 | 更新时间 | |
delete_time | int(11) unsigned | 否 | 0 | 删除时间 | |
create_time | int(11) unsigned | 否 | 0 | 创建时间 | |
type | tinyint(3) unsigned | 否 | 0 | 用户类型:type:0普通用户,1:管理员 |
表格: tp_member_points
备注: 积分获取记录
索引:
名称 | 类型 | 属性 | 备注 |
---|---|---|---|
主索引 | id | unique |
字段:
名称 | 类型 | 空 | 默认值 | 属性 | 备注 |
---|---|---|---|---|---|
id | int(11) | 否 | <auto_increment> | ||
u_id | char(8) | 是 | 0 | 用户id | |
score | int(11) | 否 | 0 | 积分值(正负值) | |
used_score | int(11) unsigned | 否 | 0 | 被使用了的积分 | |
description | varchar(255) | 否 | 积分来源描述 | ||
task_id | char(8) | 否 | 0 | 任务来源id--如签到任务,其他任务... | |
expire_time | int(11) unsigned | 否 | 0 | 有效期 | |
day_time | char(10) | 否 | 年月日时间如:2022/01/28 | ||
update_time | int(11) unsigned | 是 | 0 | 更新时间 | |
delete_time | int(11) unsigned | 否 | 0 | 删除时间 | |
create_time | int(11) unsigned | 否 | 0 | 创建时间 | |
sign_num | int(11) | 否 | 1 | 任务完成次数 | |
type | tinyint(3) unsigned | 否 | 0 | 积分类型:0增加积分记录,1消费积分记录 |
表格: tp_member_points_task
备注: 会员积分任务
索引:
名称 | 类型 | 属性 | 备注 |
---|---|---|---|
主索引 | id | unique |
字段:
名称 | 类型 | 空 | 默认值 | 属性 | 备注 |
---|---|---|---|---|---|
id | int(11) | 否 | <auto_increment> | ||
task_id | char(8) | 是 | <空> | ||
type | tinyint(3) unsigned | 否 | 0 | 任务类型:0-会员任务,1-系统任务(签到任务) | |
drag_sort | numeric(16,6) | 否 | 82980476.000000 | 拖拽排序 | |
title | varchar(255) | 否 | 任务名称 | ||
description | text | 否 | 任务描述 | ||
score | int(11) unsigned | 否 | 0 | 完成任务的积分值 | |
rules | tinyint(3) unsigned | 否 | 0 | 得分规则(自定义逻辑类型-具体看taskRules):0-每次完成得到score值,1-签到任务的得分规则,... | |
limit_type | tinyint(3) unsigned | 否 | 0 | 限制任务完成次数 0-不限制 ;1-限制固定的次数;2-限制每天的完成次数;3-限制每周的完成次数;4-限制每月的完成次数; 5-限制每年的完成次数 | |
limit_num | int(3) unsigned | 否 | 1 | 任务限制完成次数 | |
status | tinyint(3) unsigned | 否 | 1 | 是否可用 | |
delete_time | int(11) unsigned | 否 | 0 | 软删除时间 | |
update_time | int(11) unsigned | 否 | 0 | 更新时间 | |
create_time | int(11) unsigned | 否 | 0 | 上传时间 |