Bläddra i källkod

【feat】【v3】

1.完善表设计
2.完善功能设计
ChenYL 10 månader sedan
förälder
incheckning
c46c8b3e82
1 ändrade filer med 411 tillägg och 156 borttagningar
  1. 411 156
      doc/技术文档.md

+ 411 - 156
doc/技术文档.md

@@ -29,43 +29,75 @@ ui设计工具:即时设计
 
 
 
-#### 打卡结算
+#### 打卡
 
 * 打卡规则:计时、计数、单次打卡(计数的特例,只需计一次数)
+* 单位:次数、分钟
+* 比较规则:大于等于、小于等于
+* 比较的目标:用于判断是否完成打卡;一般情况下,只有一个比较**目标1**;但是启用法定节假日的话,还有一个难度比较低的比较**目标2**,用于判断比较
+* 重复频率:每日、法定工作日、法定节假日(含周末)、自定义(周一至周日)
+* 全勤周期:每周、每月
+* 打卡任务分类:
+  * 普通打卡任务:没有明确的结束时间,任务永远不会结束
+  * 任务式打卡任务:有明确的结束时间,任务到期自动结束并进行归档
 
-* 计量单位:次数、分钟(自己设置)
 
-* 结算周期:日、周、月、季、半年、年、用户自定义
 
-* 根据有没有结束时间分类:
+#### 获取积分奖励的方式
 
-  * 任务式打卡任务(有结束时间)
-  * 普通打卡任务(没有结束时间)
+1. 单个任务完成打卡则给予奖励
+2. 单个任务**法定节假日(含周末)**双倍奖励
+3. 单个任务全勤双倍奖励,即在**一个周期内**打卡完成率在容错范围内则给予奖励
+4. 单个任务连续完成打卡则给予奖励,按照连续打卡完成天数超过N天进行计算
+5. 多个任务完成打卡则给予奖励,按照打卡完成数超过固定值进行计算
+6. 多个任务连续完成打卡则给予奖励,按照连续打卡完成数超过固定值的天数进行计算
 
-* 奖励规则:
 
-  1. 结算则给予奖励
-  2. 完成则给予奖励
-     * 在打卡任务结束时,给予奖励
-     * 在周期结束时,给予奖励
-  3. 按日期不同给予奖励-按照工作日、周末、法定节假日 给予不同的奖励
 
-* 结算规则
+#### 结算规则
 
-  * 普通结算-满足比较条件就给予奖励,比较条件:大于等于、小于等于
 
-  * 额外奖励-满足基本之后,打一次卡就有一次额外奖励
 
-  * 分段式结算
+注:在连续完成的时候,需要关注的是完成的天数,其它不用理会
 
-    阶梯区间1-不同区间有不同的结算奖励
 
-    阶梯区间2-不同区间有不同的结算奖励
 
-    以此类推
+##### 积分计算公式
 
-  * 前置式结算-有一个起步时间,过了这个时间才会真正有结算奖励
-  * 完美式结算-在指定时间段范围内,只要有一个没有打卡则全部失败
+单个任务积分=基本积分+(可选)额外积分+(可选)连续完成额外积分+法定节假日(含周末)双倍奖励+全勤双倍奖励
+
+多个任务积分=多任务额外积分+连续完成额外积分
+
+总积分=单个任务积分+(可选)多个任务积分
+
+
+
+说明:
+
+* 基本积分:满足打卡比较条件就能获得基本积分
+
+* 额外积分:根据新的比较单位(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天,则等同于任务重新开始
+
+注:可以应用在单个任务,也可以应用在多个任务
 
 
 
@@ -83,8 +115,6 @@ ui设计工具:即时设计
 
 #### 当前任务视图(主页)
 
-1. 查询当前待使用的积分数、刮刮卡的投入与产出、已消耗积分数与总积分数的比值
-
 2. 查询当前用户待打卡的打卡任务列表
 
    显示内容:任务名称、任务描述、奖励数、全勤奖励标识、周末奖励标识、本周打卡记录,今日打卡情况
@@ -208,23 +238,19 @@ ui设计工具:即时设计
 
 6. 结算日志:按时间范围查询当前用户的结算记录
 
-7. 查询当前用户拥有的奖励数
+7. 查询当前待使用的积分数、刮刮卡的投入与产出、已消耗积分数与总积分数的比值
+
+8. 查询当前用户拥有的奖励数
 
    显示内容:总奖励数、已领取奖励数、待领取奖励数
 
   9. 按时间范围查询当前用户的领取奖励记录
 
-9. 查询当前用户的投入刮刮乐信息
-
-   显示内容:投入金额、中奖金额
+10. 查询当前用户的投入刮刮乐信息,并允许撤销
 
-10. 追加投入金额记录/中奖记录
+    显示内容:投入金额、中奖金额
 
-11. 撤销投入金额记录/中奖记录
-
-12. 按时间范围的刮刮乐查询记录
-
-    显示内容:投入金额记录、中奖记录
+11. 转账记录
 
 
 
@@ -238,6 +264,7 @@ ui设计工具:即时设计
 2. 自动打卡定时任务,要考虑怎么分辨没有打卡的问题
 3. 自动兑换定时任务
 4. 自动归档定时任务
+5. 图表数据统计
 
 
 
@@ -372,23 +399,22 @@ ui设计工具:即时设计
 
 表名:user
 
-| 字段                  | 类型          | 描述                               |
-| --------------------- | ------------- | ---------------------------------- |
-| id                    | bigint        | 主键                               |
-| open_id               | varchar(128)  | 微信id                             |
-| nickname              | varchar(100)  | 微信昵称                           |
-| avatar                | varchar(1000) | 微信头像url                        |
-| total_reward_num      | int           | 总奖励数                           |
-| unclaimed_reward_num  | int           | 未领取奖励数                       |
-| claimed_reward_num    | int           | 已领取奖励数                       |
-| lottery_invest_amount | decimal(10,2) | 彩票投入金额(元)                   |
-| lottery_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-已删除) |
+| 字段                 | 类型          | 描述                               |
+| -------------------- | ------------- | ---------------------------------- |
+| 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-已删除) |
 
 
 
@@ -396,25 +422,188 @@ ui设计工具:即时设计
 
 表名:punch_in
 
-| 字段                 | 类型         | 描述                                |
-| -------------------- | ------------ | ----------------------------------- |
-| id                   | bigint       | 主键                                |
-| task_name            | varchar(128) | 任务名称                            |
-| reward_num           | int          | 奖励倍数                            |
-| category             | int          | 打卡类型(0-单次打卡,1-计数、2计时) |
-| rule                 | int          | 比较规则(0-大于等于,1-小于等于)    |
-| count_track          | int          | 次数记录                            |
-| time_track           | time         | 时间记录                            |
-| description          | varchar(300) | 任务描述                            |
-| weekend_double_flag  | tinyint      | 是否启用周末双倍标志(0-不是,1-是)  |
-| full_attendance_flag | tinyint      | 是否启用全勤奖励标志(0-不是,1-是)  |
-| archive_flag         | tinyint      | 是否归档标志(0-不是,1-是)          |
-| created_by           | bigint       | 创建人                              |
-| creation_time        | timestamp    | 创建时间                            |
-| last_updated_by      | bigint       | 最后更信人                          |
-| last_update_time     | timestamp    | 最后更新时间                        |
-| version              | bigint       | 版本号                              |
-| delete_flag          | tinyint      | 逻辑删除标志(0-未删除,1-已删除)  |
+| 字段                                | 类型         | 描述                                                         | 索引     |
+| ----------------------------------- | ------------ | ------------------------------------------------------------ | -------- |
+| id                                  | bigint       | 主键                                                         | 主键索引 |
+| task_name                           | varchar(128) | 任务名称                                                     |          |
+| description                         | varchar(300) | 任务描述                                                     |          |
+| points                              | int          | 奖励的积分(基本)                                           |          |
+| end_date                            | date         | 结束日期                                                     |          |
+| archive_status                      | varchar(10)  | 是否归档(活跃-ACTIVE,归档-ARCHIVE)                          |          |
+| display_order                       | int          | 显示顺序                                                     |          |
+| display_time                        | time         | 显示时间                                                     |          |
+| category                            | varchar(10)  | 打卡类型(单次打卡-SINGLE,计数-COUNT、计时-TIMING)           |          |
+| compare_rule                        | varchar(10)  | 比较规则(大于等于-GTE,小于等于-LTE)                         |          |
+| count_track                         | int          | 次数记录                                                     |          |
+| time_track                          | time         | 时间记录                                                     |          |
+| second_count_track                  | int          | 次数记录(节假日用)                                         |          |
+| second_time_track                   | time         | 时间记录(节假日用)                                         |          |
+| holiday_status                      | varchar(10)  | 是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)              |          |
+| 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) |          |
+| grace_status                        | varchar(10)  | 是否启用宽限期(ENABLED-启用,DISABLED-关闭)                  |          |
+| grace_day                           | int          | 宽限期(单位:天)                                           |          |
+| interrupted_day                     | int          | 完成打卡中断天数(单位:天)                                 |          |
+| penalty_day                         | int          | 惩罚天数(单位:天)                                         |          |
+| created_by                          | bigint       | 创建人                                                       | 普通索引 |
+| creation_time                       | timestamp    | 创建时间                                                     |          |
+| last_updated_by                     | bigint       | 最后更新人                                                   |          |
+| last_update_time                    | timestamp    | 最后更新时间                                                 |          |
+| version                             | bigint       | 版本号                                                       |          |
+| delete_flag                         | tinyint      | 逻辑删除标志(0-未删除,1-已删除)                           |          |
+
+
+
+### 打卡任务额外结算配置表
+
+表名:punch_in_extra_settlement_config
+
+| 字段                    | 类型        | 描述                                                   | 索引     |
+| ----------------------- | ----------- | ------------------------------------------------------ | -------- |
+| id                      | bigint      | 主键                                                   | 主键索引 |
+| punch_in_id             | bigint      | 打卡任务ID                                             | 普通索引 |
+| extra_settlement_method | varchar(10) | 额外奖励结算方式(无-NONE,固定-FIXED,区间-INTERVAL) |          |
+| extra_count_step        | int         | 额外的次数间隔                                         |          |
+| extra_time_step         | time        | 额外的时间间隔                                         |          |
+| 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_task_config
+
+| 字段             | 类型        | 描述                                        | 索引     |
+| ---------------- | ----------- | ------------------------------------------- | -------- |
+| id               | bigint      | 主键                                        | 主键索引 |
+| punch_in_id      | bigint      | 打卡任务ID                                  | 普通索引 |
+| grace_status     | varchar(10) | 是否启用宽限期(ENABLED-启用,DISABLED-关闭) |          |
+| grace_day        | int         | 宽限期(单位:天)                          |          |
+| interrupted_day  | int         | 打卡中断天数(单位:天)                    |          |
+| penalty_day      | int         | 惩罚天数(单位:天)                        |          |
+| created_by       | bigint      | 创建人                                      |          |
+| creation_time    | timestamp   | 创建时间                                    |          |
+| last_updated_by  | bigint      | 最后更新人                                  |          |
+| last_update_time | timestamp   | 最后更新时间                                |          |
+| version          | bigint      | 版本号                                      |          |
+| delete_flag      | tinyint     | 逻辑删除标志(0-未删除,1-已删除)          |          |
+
+
+
+### 打卡任务额外结算配置表
+
+表名:punch_in_task_extra_config
+
+| 字段                    | 类型        | 描述                                                   | 索引     |
+| ----------------------- | ----------- | ------------------------------------------------------ | -------- |
+| id                      | bigint      | 主键                                                   | 主键索引 |
+| punch_in_id             | bigint      | 打卡任务ID                                             | 普通索引 |
+| extra_settlement_method | varchar(10) | 额外奖励结算方式(无-NONE,固定-FIXED,区间-INTERVAL) |          |
+| 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_task_config
+
+| 字段             | 类型         | 描述                                        | 索引     |
+| ---------------- | ------------ | ------------------------------------------- | -------- |
+| id               | bigint       | 主键                                        | 主键索引 |
+| category         | 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          | 惩罚天数(单位:天)                        |          |
+| created_by       | bigint       | 创建人                                      |          |
+| creation_time    | timestamp    | 创建时间                                    |          |
+| last_updated_by  | bigint       | 最后更新人                                  |          |
+| last_update_time | timestamp    | 最后更新时间                                |          |
+| version          | bigint       | 版本号                                      |          |
+| delete_flag      | tinyint      | 逻辑删除标志(0-未删除,1-已删除)          |          |
+
+
+
+### 多打卡任务额外结算配置表(单次)
+
+表名:punch_in_task_extra_config
+
+| 字段                    | 类型        | 描述                                                   | 索引     |
+| ----------------------- | ----------- | ------------------------------------------------------ | -------- |
+| id                      | bigint      | 主键                                                   | 主键索引 |
+| punch_in_id             | bigint      | 打卡任务ID                                             | 普通索引 |
+| extra_settlement_method | varchar(10) | 额外奖励结算方式(无-NONE,固定-FIXED,区间-INTERVAL) |          |
+| 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_task_config
+
+| 字段             | 类型        | 描述                                        | 索引     |
+| ---------------- | ----------- | ------------------------------------------- | -------- |
+| id               | bigint      | 主键                                        | 主键索引 |
+| points           | int         | 奖励的积分(基本)                          |          |
+| grace_status     | varchar(10) | 是否启用宽限期(ENABLED-启用,DISABLED-关闭) |          |
+| grace_day        | int         | 宽限期(单位:天)                          |          |
+| interrupted_day  | int         | 打卡中断天数(单位:天)                    |          |
+| penalty_day      | int         | 惩罚天数(单位:天)                        |          |
+| created_by       | bigint      | 创建人                                      |          |
+| creation_time    | timestamp   | 创建时间                                    |          |
+| last_updated_by  | bigint      | 最后更新人                                  |          |
+| last_update_time | timestamp   | 最后更新时间                                |          |
+| version          | bigint      | 版本号                                      |          |
+| delete_flag      | tinyint     | 逻辑删除标志(0-未删除,1-已删除)          |          |
+
+
+
+### 多打卡任务额外结算配置表(连续)
+
+表名:punch_in_task_extra_config
+
+| 字段                    | 类型        | 描述                                                   | 索引     |
+| ----------------------- | ----------- | ------------------------------------------------------ | -------- |
+| id                      | bigint      | 主键                                                   | 主键索引 |
+|                         |             |                                                        | 普通索引 |
+| extra_settlement_method | varchar(10) | 额外奖励结算方式(无-NONE,固定-FIXED,区间-INTERVAL) |          |
+| 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-已删除)                     |          |
+
+
 
 
 
@@ -437,7 +626,7 @@ ui设计工具:即时设计
 | punch_in_status    | int         | 打卡状态(0-进行中,1-完成,2-未完成) ,结算后修改状态,单次打卡除外 |
 | created_by         | bigint      | 创建人                                                       |
 | creation_time      | timestamp   | 创建时间                                                     |
-| last_updated_by    | bigint      | 最后更人                                                   |
+| last_updated_by    | bigint      | 最后更人                                                   |
 | last_update_time   | timestamp   | 最后更新时间                                                 |
 | version            | bigint      | 版本号                                                       |
 | delete_flag        | tinyint     | 逻辑删除标志(0-未删除,1-已删除)                           |
@@ -462,7 +651,7 @@ ui设计工具:即时设计
 | notify_time              | timestamp   | 结算通知时间                                                 |
 | created_by               | bigint      | 创建人                                                       |
 | creation_time            | timestamp   | 创建时间                                                     |
-| last_updated_by          | bigint      | 最后更人                                                   |
+| last_updated_by          | bigint      | 最后更人                                                   |
 | last_update_time         | timestamp   | 最后更新时间                                                 |
 | version                  | bigint      | 版本号                                                       |
 | delete_flag              | tinyint     | 逻辑删除标志(0-未删除,1-已删除)                           |
@@ -480,33 +669,13 @@ ui设计工具:即时设计
 | settlement_id    | bigint    | 打卡任务结算表ID                   |
 | created_by       | bigint    | 创建人                             |
 | creation_time    | timestamp | 创建时间                           |
-| last_updated_by  | bigint    | 最后更人                         |
+| last_updated_by  | bigint    | 最后更人                         |
 | last_update_time | timestamp | 最后更新时间                       |
 | version          | bigint    | 版本号                             |
 | delete_flag      | tinyint   | 逻辑删除标志(0-未删除,1-已删除) |
 
 
 
-### 领取奖励记录表
-
-表名:user_claim_reward_record
-
-| 字段                    | 类型      | 描述                               |
-| ----------------------- | --------- | ---------------------------------- |
-| id                      | bigint    | 主键                               |
-| claim_reward_num        | int       | 本次领取奖励数                     |
-| claim_reward_time       | timestamp | 领取奖励时间                       |
-| before_claim_reward_num | int       | 领取前用户拥有的奖励数             |
-| after_claim_reward_num  | int       | 领取后用户拥有的奖励数             |
-| created_by              | bigint    | 创建人                             |
-| creation_time           | timestamp | 创建时间                           |
-| last_updated_by         | bigint    | 最后更信人                         |
-| last_update_time        | timestamp | 最后更新时间                       |
-| version                 | bigint    | 版本号                             |
-| delete_flag             | tinyint   | 逻辑删除标志(0-未删除,1-已删除) |
-
-
-
 ### 奖励结算定时任务执行记录表
 
 表名:settlement_task
@@ -523,52 +692,32 @@ ui设计工具:即时设计
 | error_message          | text        | 失败异常信息                       |
 | created_by             | bigint      | 创建人                             |
 | creation_time          | timestamp   | 创建时间                           |
-| last_updated_by        | bigint      | 最后更人                         |
+| last_updated_by        | bigint      | 最后更人                         |
 | last_update_time       | timestamp   | 最后更新时间                       |
 | version                | bigint      | 版本号                             |
 | delete_flag            | tinyint     | 逻辑删除标志(0-未删除,1-已删除) |
 
 
 
-### ~~通知定时任务执行记录表(暂时无用)~~
-
-表名:settlement_notify_task
-
-| 字段               | 类型      | 描述                               |
-| ------------------ | --------- | ---------------------------------- |
-| id                 | bigint    | 主键                               |
-| start_time         | timestamp | 任务开始时间                       |
-| end_time           | timestamp | 任务结束时间                       |
-| notify_num         | int       | 通知数量                           |
-| notify_success_num | int       | 通知成功数量                       |
-| notify_fail_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-已删除) |
-
+### 消费与中奖记录
 
+表名: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-已删除)                           |          |
 
-表名:lottery_scratch_record
 
-| 字段             | 类型          | 描述                                                  |
-| ---------------- | ------------- | ----------------------------------------------------- |
-| id               | bigint        | 主键                                                  |
-| action_type      | int           | 动作类型(0-投入/购买,1-中奖,2-撤销投入,3-撤销中奖) |
-| 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-已删除)                    |
 
 
 
@@ -576,19 +725,19 @@ ui设计工具:即时设计
 
 表名:sys_dict
 
-| 字段             | 类型         | 描述                               |
-| ---------------- | ------------ | ---------------------------------- |
-| id               | bigint       | 主键                               |
-| dict_code        | varchar(100) | 字典编码                           |
-| dict_name        | varchar(100) | 字典名称                           |
-| description      | varchar(200) | 描述                               |
-| status           | int          | 状态(1-启用,0-失效)               |
-| created_by       | bigint       | 创建人                             |
-| creation_time    | timestamp    | 创建时间                           |
-| last_updated_by  | bigint       | 最后更信人                         |
-| last_update_time | timestamp    | 最后更新时间                       |
-| version          | bigint       | 版本号                             |
-| delete_flag      | tinyint      | 逻辑删除标志(0-未删除,1-已删除) |
+| 字段             | 类型         | 描述                               | 索引     |
+| ---------------- | ------------ | ---------------------------------- | -------- |
+| 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-已删除) |          |
 
 
 
@@ -596,21 +745,127 @@ ui设计工具:即时设计
 
 表名:sys_dict_item
 
-| 字段             | 类型         | 描述                               |
-| ---------------- | ------------ | ---------------------------------- |
-| id               | bigint       | 主键                               |
-| dict_id          | bigint       | 字典表主键                         |
-| data_type        | int          | 数据类型(0-String,1-Number)     |
-| item_code        | varchar(100) | 字典项编码                         |
-| item_name        | varchar(100) | 字典项名称                         |
-| description      | varchar(200) | 描述                               |
-| status           | int          | 状态(1-启用,0-失效)               |
-| created_by       | bigint       | 创建人                             |
-| creation_time    | timestamp    | 创建时间                           |
-| last_updated_by  | bigint       | 最后更信人                         |
-| last_update_time | timestamp    | 最后更新时间                       |
-| version          | bigint       | 版本号                             |
-| delete_flag      | tinyint      | 逻辑删除标志(0-未删除,1-已删除) |
+| 字段             | 类型         | 描述                                        | 索引     |
+| ---------------- | ------------ | ------------------------------------------- | -------- |
+| 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-已删除) |          |