技术文档.md 52 KB

打卡结算

ui设计工具:即时设计

小程序框架:uniapp

后端框架:spring boot + mybatis + tk mybatis+ spring mvc

数据库:mysql

数据库备份工具:gobackup

待增加功能

  1. 结算规则要支持节假日补充规则
  2. 打卡任务的年视图的统计功能

系统功能

基本概念

打卡

  • 打卡类型:计时、计数、单次打卡(计数的特例,只需计一次数)
  • 单位:次数、分钟
  • 比较规则:大于等于、小于等于
  • 比较的目标:用于判断是否完成打卡;一般情况下,只有一个比较目标1;但是启用法定节假日的话,还有一个难度比较低的比较目标2,用于判断比较
  • 重复频率:每日、法定工作日、法定节假日(含周末)、自定义(周一至周日)
  • 全勤周期:每周、每月
  • 打卡任务分类:
    • 普通打卡任务:没有明确的结束时间,任务永远不会结束
    • 任务式打卡任务:有明确的结束时间,任务到期自动结束并进行归档

获取积分奖励的方式

  1. 单个任务当天完成打卡则给予奖励
  2. 单个任务法定节假日(含周末)双倍奖励
  3. 单个任务全勤双倍奖励,即在一个周期内打卡完成数在容错范围内则给予奖励
  4. 单个任务连续完成打卡则给予额外奖励,按照连续打卡完成天数超过N天k开始进行计算
  5. 多个任务完成打卡则给予额外奖励,按照当天打卡完成数超过固定值进行计算
  6. 多个任务连续完成打卡则给予奖励,按照连续打卡完成数超过N天开始进行计算

结算规则

注:在连续完成的时候,需要关注的是完成的天数,其它不用理会

积分计算公式

单个任务积分=基本积分+(可选)额外积分+(可选)连续完成额外积分+法定节假日(含周末)双倍奖励+全勤双倍奖励

多个任务积分=多任务额外积分+连续完成额外积分

总积分=单个任务积分+(可选)多个任务积分

说明:

  • 基本积分:满足打卡比较条件就能获得基本积分

  • 额外积分:根据新的比较单位(X次,Y分钟,完成数、完成率)进行判断,完成一次就获得一次额外积分

    • 固定积分:额外打一次卡就给一次固定积分,本质是动态积分的特例

    例子:打卡10次,前5次是基本的,后5次是额外的,积分区间:基本积分5;x>5,奖励积分10;其中的x是打卡次数。共计积分:5+5x5=30积分

    • 动态积分:根据不同的区间,给对应的积分

    例子:打卡10次,前5次是基本的,后5次是额外的,积分区间:基本积分5;6≤x≤8,奖励积分10;9≤x≤10,奖励积分15;其中的x是打卡次数。共计积分:5+10x3+15x2=65积分

(可选)前置判断:
  1. 开始前有连续N天,不结算积分,不计算连续打卡天数

  2. 中途没有完成打卡则重新开始

如果没有完成的天数小于等于N天,则有连续Y天不结算积分(等同于一个小的开始,Y自己设置),连续打卡天数天数重置

如果大于N天,则等同于任务重新开始

注:可以应用在单个任务,也可以应用在多个任务

积分账户

  • 基本户:用于结算积分转入,或者兑换奖励

  • 一般户:专项专用,只能兑换指定奖励

按页面划分

今日待办任务(主页)

  1. 显示今日待办的打卡任务数量

  2. 显示今日待办的打卡任务列表

显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识、本周的打卡情况、打卡按钮

注意点:

  1. 打卡按钮根据不同的打卡类型有不同的显示

    • 打卡类型:单次打卡,未完成则显示“完成”

    • 打卡类型:计数,未完成则显示“计数”,并且显示当前已打卡次数

    • 打卡类型:计时,未完成则显示“计时”,并且显示当前已记录的打卡时间

  2. 任务显示时机控制,控制过了某个时间点才出现,不要一下子就把当天的都列出来

  3. 列表需要根据排序进行显示

  4. 支持的功能操作:创建打卡任务、打卡

打卡任务列表

  1. 显示总的打卡任务数量

  2. 显示总的打卡任务列表

显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识

注意点:

  1. 列表需要根据排序进行显示

  2. 支持的功能操作:创建打卡任务、编辑、删除、打卡、补打卡、误打卡撤销、归档

    • 补打卡规则:

      1. 如果完全没有打过卡:按照当时的打卡规则,直接生成一条新的打卡记录和结算记录
      2. 如果打过卡但是未完成的
      3. 对于单次打卡:不存在这种情况
      4. 对于计数打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
      5. 对于计时打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
    • 误打卡撤销规则:

      1. 只允许当天撤销

      2. 数据变化

      对于单次打卡:直接删除打卡记录即可

      对于计数打卡:直接扣减次数(-1)即可,次数变成0即删除打卡记录

      对于计时打卡:直接删除打卡记录即可,然后重新再打卡即可

打卡任务详情页

  • 月选项卡

    1. 本月打卡统计数据显示,包含:本月需打卡数、本月已打卡数、本月完成打卡数、本月打卡率、本月打卡完成率,本月获取积分数

    2. 数据折线图(本月每日)

    说明:

    1. 如果是打卡类型是单次打卡则无须显示;如果是如果打卡类型是计时或者计数,那么折线图显示对应的每日的时间/次数变化
    2. 数据直接从打卡任务记录表获取

    3. 显示本月的打卡日志

    打卡类型:单次,显示元素包含:打卡日期(格式:xxxx-xx-xx) 、打卡状态(完成打卡/未完成打卡)、打卡时长(格式:00:00:00,计时打卡特有)、打卡次数(格式:x次,计数打卡特有)、结算状态、结算积分,结算时对应的打卡任务配置快照

    1. 支持的功能操作:编辑、删除、打卡、补打卡、误打卡撤销、归档
  • 年选项卡

    1. 本年打卡统计数据显示,包含:本年需打卡数、本年已打卡数、本年完成打卡数、本年打卡率、本年打卡完成率,本年获取积分数

    2. 数据折线图(全年每日)

    说明:

    1. 如果是打卡类型是单次打卡则无须显示;如果是如果打卡类型是计时或者计数,那么折线图显示对应的每日的时间/次数变化

    2. 数据直接从打卡任务记录表获取

    3. 显示全年的打卡日志(需分页)

    打卡类型:单次,显示元素包含:打卡日期(格式:xxxx-xx-xx) 、打卡状态(完成打卡/未完成打卡)、打卡时长(格式:00:00:00,计时打卡特有)、打卡次数(格式:x次,计数打卡特有)、结算状态、结算积分,结算时对应的打卡任务配置快照

    1. 支持的功能操作:编辑、删除、打卡、补打卡、误打卡撤销、归档

数据统计图表

  • 图表选项卡

    1. 积分折线表,显示包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日总积分的变化数量

    2. 打卡任务数折线表,包含:总打卡任务数量、每日的打卡数量、每日完成的打卡任务数量

    说明:数据可以从打卡多任务记录表中获取

    1. 新用户折线表,即每日新增的用户数量,是特权用户才有权限查看

    2. 彩票折线表,包含:每日彩票的消费总金额、每日彩票的中奖总金额

  • 打卡日志选项卡

    1. 日历显示完成的打卡数,如果为0则不显示

    2. 具体某日的打卡记录(通过打卡日历,直接在打卡任务记录表中筛选即可)

    说明:通过在打卡日历选择具体日期,然后直接在打卡任务记录表中筛选即可

积分商城

  1. 显示账户及其拥有的积分(基本户、一般户)
  2. 显示可兑换的奖励列表,显示元素包含:名称、兑换所需积分、兑换按钮
  3. 支持的功能操作:大乐透号码生成器、双色球号码生成器、兑换奖励

用户中心

  1. 显示用户的基本信息,显示元素包含:字符头像、昵称、昵称修改按钮、登录按钮

  2. 显示统计数据

    • 积分区,显示元素包括:总待使用积分、总已使用积分,总积分数
    • 彩票去,显示元素包括:总消费金额、总中奖金额
  3. 显示可跳转页面

    • 积分结算记录
      1. 分页显示结算记录,显示元素包括:结算前的积分、结算后的积分、结算积分、结算日期
      2. 支持的功能操作:按时间范围(结算日期)筛选
    • 积分兑换记录
      1. 分页显示兑换记录,显示元素包括:兑换的奖励名称、兑换所需的积分、兑换时间
      2. 支持的功能操作:按时间范围(兑换时间)、奖励名称(全模糊)筛选
    • 彩票消费与中奖记录
      1. 分页显示彩票消费与中奖记录,显示元素包括:彩票来源、彩票金额,消费金额、中奖金额、记录时间
      2. 支持的功能操作:按时间范围(记录时间)、彩票来源、彩票金额筛选
    • 账户转账记录
      1. 分页显示转账记录,显示元素包括:转出账户、转入账户、涉及的积分、操作时间
    • 积分账户
      1. 显示所有账户,显示元素包括:账户名称、所拥有的积分
      2. 支持的功能操作:添加新账户、账户之间转账、一般户与可兑换奖励物的关联
    • 奖励列表
      1. 显示所有的可兑换奖励,显示元素包括:奖励的名称、所需兑换积分
      2. 支持的功能操作:添加新奖励、编辑、删除
    • 免责声明
    • 关于我们
  4. 支持的功能操作:昵称修改、退出登录、登录

说明:登录时,只需要记录昵称和微信openId即可

系统

定时任务
  1. 自动结算
  2. 自动归档
  3. (未设计表)自动打卡
  4. (未设计表)自动兑换
  5. (需建表)打卡任务-月统计,包含:本月需打卡数、本月已打卡数、本月完成打卡数、本月打卡率、本月打卡完成率,本月获取积分数
  6. (需建表)打卡任务-年统计,包含:本年需打卡数、本年已打卡数、本年完成打卡数、本年打卡率、本年打卡完成率,本年获取积分数
  7. (需建表)积分统计,包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日总积分的变化数量
  8. (需建表)新用户统计
  9. (需建表)彩票消费与中奖统计
运维接口
  1. 清除缓存
  2. 调起定时任务
  3. 手动结算接口,注:需要防止重复结算

字典

刮刮乐来源

字典名称:刮刮乐来源

字典编码:LOTTERY_SCRATCH_SOURCE

字典项:

字典项编码 字典名称
WELFARE_SCRATCH 福利彩票
SPORTS_SCRATCH 体育彩票

福利彩票刮刮乐种类

字典名称:福利彩票刮刮乐种类

字典编码:WELFARE_SCRATCH

字典项

字典项编码 字典名称
XINGYUN88 幸运88
CHAOGEILI 超给力
XIXIANGFENG 喜相逢

体育彩票刮刮乐种类

字典名称:体育彩票刮刮乐种类

字典编码:SPORTS_SCRATCH

字典项

字典项编码 字典名称

刮刮乐动作类型

字典名称:刮刮乐动作类型

字典编码:SCRATCH_ACTION_TYPE

字典项

字典项编码 字典名称
0 投入
1 中奖

启用状态标志

字典名称:启用状态标志

字典编码:ENABLE_STATUS

字典项

字典项编码 字典名称
0 关闭
1 启用

打卡类型

字典名称:打卡类型

字典编码:PUNCH_IN_CATEGORY

字典项

字典项编码 字典名称
0 单次打卡
1 计数
2 计时

打卡比较规则

字典名称:打卡比较规则

字典编码:PUNCH_IN_RULE

字典项

字典项编码 字典名称
0 大于等于
1 小于等于

表设计

用户表

表名:user

字段 类型 描述
id bigint 主键
open_id varchar(128) 微信小程序openId
nickname varchar(100) 昵称
total_points int 总积分
unused_points int 未使用积分
used_points int 已使用积分
total_consume_amount decimal(10,2) 总消费金额(元)
total_win_amount decimal(10,2) 总中奖金额(元)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务表

表名:punch_in_task

字段 类型 描述 索引
id bigint 主键 主键索引
task_unique_id bigint 任务唯一ID 普通索引
task_status varchar(10) 任务状态(活跃-ACTIVE,归档-ARCHIVE)
task_version int 任务修改版本
task_name varchar(128) 任务名称
description varchar(300) 任务描述
points int 奖励的积分(基本)
end_date date 结束日期
archive_status varchar(10) 是否归档(活跃-ACTIVE,归档-ARCHIVE)
display_order int 显示顺序
display_time time 显示时间
punch_in_method varchar(10) 打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)
compare_rule varchar(10) 比较规则(大于等于-GTE,小于等于-LTE)
count_track int 次数记录
time_track time 时间记录
holiday_status varchar(10) 是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)
holiday_count_track int 次数记录(节假日用)
holiday_time_track time 时间记录(节假日用)
full_attendance_status varchar(10) 是否启用全勤奖励(ENABLED-启用,DISABLED-关闭)
full_attendance_period varchar(10) 全勤周期(周-WEEK,月-MONTH)
full_attendance_fault_tolerance_cnt int 全勤容错次数
repeat_category varchar(10) 重复周期类型(每日-EVERYDAY、法定工作日-WORKDAY、法定节假日(含周末)-HOLIADY、自定义(周一至周日)-CUSTOM)
repeat_custom_day varchar(13) 自定义重复日(周一-1,周二-2,周三-3,周四-4,周五-5,周六-6,周日-7)
extra_method varchar(10) 额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)
extra_time_step time 额外的时间间隔
extra_points int 奖励的积分(额外)
grace_status varchar(10) 是否启用宽限期(ENABLED-启用,DISABLED-关闭)
grace_day int 宽限期(单位:天)
interrupted_day int 打卡中断天数(单位:天)
penalty_day int 惩罚天数(单位:天)
multi_task_status varchar(10) 是否启用多任务(ENABLED-启用,DISABLED-关闭)
created_by bigint 创建人 普通索引
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务拓展表

表名:punch_in_task_ext

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_task_id bigint 打卡任务ID 普通索引
dimension varchar(10) 使用维度(一天-ONE_DAY,多天-MULTI_DAY)
initial_value int 起始值(单位:次)
extra_points int 奖励的积分(额外)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡多任务表

表名:punch_in_multi_task

字段 类型 描述 索引
id bigint 主键 主键索引
multi_task_unique_id bigint 打卡多任务唯一ID 普通索引
multi_task_status varchar(10) 任务状态(活跃-ACTIVE,归档-ARCHIVE)
multi_task_version int 任务修改版本
user_id bigint 用户ID
punch_in_method varchar(10) 打卡方式(次数-COUNT,比率-RATE)
punch_in_count int 完成打卡次数
punch_in_rate decimal(5,2) 完成率
points int 奖励的积分(基本)
grace_status varchar(10) 是否启用宽限期(ENABLED-启用,DISABLED-关闭)
grace_day int 宽限期(单位:天)
interrupted_day int 打卡中断天数(单位:天)
penalty_day int 惩罚天数(单位:天)
extra_method varchar(10) 额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)
extra_points int 奖励的积分(额外)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡多任务拓展表

表名:punch_in_multi_task_ext

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
multi_task_unique_id bigint 多任务ID 普通索引
dimension varchar(10) 使用维度(一天-ONE_DAY,多天-MULTI_DAY)
initial_value int 起始值(单位:次)
extra_points int 奖励的积分(额外)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡多任务关联表

表名:punch_in_multi_task_rela

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_multi_task_id bigint 打卡多任务ID 普通索引
punch_in_task_id bigint 打卡任务ID 普通索引
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务记录表

表名:punch_in_task_history

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_task_unique_id bigint 打卡任务唯一ID 普通索引
punch_in_date varchar(10) 打卡日期 普通索引
punch_in_status varchar(10) 打卡状态(DONE-完成,UNDONE-未完成)
count_track int 次数记录
time_track time 时间记录
consecutive_status varchar(20) 连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)
consecutive_day int 连续天数,第一天开始就等于1
settle_status varchar(20) 结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)
settle_punch_in_task_id bigint 结算时的打卡任务ID
settle_points int 结算奖励积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡多任务记录表

表名:punch_in_multi_task_history

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_multi_task_unique_id bigint 打卡多任务唯一ID 普通索引
punch_in_date varchar(10) 打卡日期 普通索引
punch_in_status varchar(10) 打卡状态(DONE-完成,UNDONE-未完成)
total_task_count int 总任务数
punch_in_count int 打卡完成数
punch_in_rate decimal(5,2) 打卡完成率
consecutive_status varchar(20) 连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)
consecutive_day int 连续天数,第一天开始就等于1
settle_status varchar(20) 结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)
settle_punch_in_multi_task_id bigint 结算时的打卡多任务ID
settle_points int 结算奖励积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务状态表

表名:punch_in_status

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_multi_task_unique_id bigint 打卡多任务唯一ID 普通索引
punch_in_task_unique_id bigint 打卡任务唯一ID 普通索引
consecutive_status varchar(20) 连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)
consecutive_day int 连续天数,第一天开始就等于1
start_date date 开始日期
end_date date 结束日期
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务状态记录表

表名:punch_in_status_history

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户ID 普通索引
punch_in_multi_task_unique_id bigint 打卡多任务唯一ID 普通索引
punch_in_task_unique_id bigint 打卡任务唯一ID 普通索引
consecutive_status varchar(20) 连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)
consecutive_day int 连续天数,第一天开始就等于1
start_date date 开始日期
end_date date 结束日期
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

打卡任务结算积分记录表

表名:punch_in_settlement_points_history

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户表主键 普通索引
settle_date varchar(10) 结算日期 普通索引
settle_points int 结算积分
before_settle_points int 结算前用户拥有的积分
after_settle_points int 结算后用户拥有的积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

奖励结算定时任务执行记录表

表名:settlement_task

字段 类型 描述
id bigint 主键
settle_date varchar(10) 结算日期
launch_method varchar(10) 启动方式(AUTO-自动,MANUAL-手动)
start_time timestamp 任务开始时间
end_time timestamp 任务结束时间
process_status varchar(10) 执行状态(RUNNING-执行中,SUCCESS-成功,FAIL-失败)
processed_total_num int 待处理的总结算数量
processed_settle_num int 处理已结算数量
processed_unsettle_num int 处理没结算数量
error_message text 失败异常信息
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

彩票消费与中奖记录

表名:lottery_consume_win_history

字段 类型 描述 索引
id bigint 主键 主键索引
action varchar(30) 动作(消费-CONSUME,中奖-WIN,撤销消费-REVERSE_CONSUME,撤销中奖-REVERSE_WIN)
source varchar(100) 彩票来源
category varchar(100) 彩票种类
amount decimal(10,2) 金额(元)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

系统字典表

表名:sys_dict

字段 类型 描述 索引
id bigint 主键 主键索引
dict_code varchar(100) 字典编码 普通索引
dict_name varchar(100) 字典名称
description varchar(200) 描述
status varchar(10) 状态(ENABLED-启用,DISABLED-失效)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

系统字典项表

表名:sys_dict_item

字段 类型 描述 索引
id bigint 主键 主键索引
dict_id bigint 字典表主键 普通索引
data_type int 数据类型(STRING-字符串,INTEGER-整型数值)
item_code varchar(100) 字典项编码 普通索引
item_name varchar(100) 字典项名称
description varchar(200) 描述
status varchar(10) 状态(ENABLED-启用,DISABLED-失效)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

账户

表名:account

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
account_name varchar(100) 账户名称
account_type varchar(30) 账户类型(BASIC-基本户,GENERAL-一般户)
points int 奖励积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

账户转账记录

表名:account_transfer_history

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
sender_account_id bigint 转出账户id
recipient_account_id bigint 转入账户id
transfer_points int 转账积分
sa_points_before_transfer int 转出账户转出前积分
sa_points_after_transfer int 转出账户转出后积分
ra_points_before_transfer int 转入账户转入前积分
ra_points_after_transfer int 转入账户转入后积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

奖励

表名:rewards

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
reward_name varchar(100) 奖励名称
exchange_points int 兑换所需积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

奖励与账户关联表

表名:rewards_account_rela

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
rewards_id bigint 奖励id
account_id bigint 账户id
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

奖励兑换记录

表名:rewards_account_rela

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
rewards_id bigint 奖励id
reward_name varchar(100) 奖励名称
exchange_points int 兑换所需积分
account_id bigint 兑换使用的账户id
account_name varchar(100) 账户名称
account_points_before_exchange int 兑换前账户中的积分
account_points_after_exchange int 兑换后账户中的积分
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

自动打卡配置

表名:rewards_account_rela

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
task_unique_id bigint 任务唯一ID
auto_status varchar(10) 是否启用自动打卡(ENABLED-启用,DISABLED-关闭)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

自动兑换配置

表名:rewards_account_rela

字段 类型 描述 索引
id bigint 主键 主键索引
user_id bigint 用户id 普通索引
reward_id bigint 奖励ID
auto_status varchar(10) 是否启用自动打卡(ENABLED-启用,DISABLED-关闭)
created_by bigint 创建人
creation_time timestamp 创建时间
last_updated_by bigint 最后更新人
last_update_time timestamp 最后更新时间
version bigint 版本号
delete_flag tinyint 逻辑删除标志(0-未删除,1-已删除)

开发参考