Browse Source

【feat】【v3】

1.完善表设计
2.完善系统功能设计
ChenYL 8 months ago
parent
commit
4586971958
1 changed files with 161 additions and 93 deletions
  1. 161 93
      doc/技术文档.md

+ 161 - 93
doc/技术文档.md

@@ -121,7 +121,7 @@ ui设计工具:即时设计
 
 2. 显示今日待办的打卡任务列表
 
-   显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识、本周的打卡情况、打卡按钮
+   显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识、自动打卡标识、本周的打卡情况、打卡按钮
 
    注意点:
 
@@ -147,7 +147,7 @@ ui设计工具:即时设计
 
 2. 显示总的打卡任务列表
 
-   显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识
+   显示元素:任务名称、任务描述、奖励的基本积分数、节假日奖励标识、全勤奖励标识、自动打卡标识
 
    注意点:
 
@@ -220,7 +220,7 @@ ui设计工具:即时设计
 
 * 图表选项卡
 
-  1. 积分折线表,显示包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日总积分的变化数量
+  1. 积分折线表,显示包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日剩余总积分
 
   2. 打卡任务数折线表,包含:总打卡任务数量、每日的打卡数量、每日完成的打卡任务数量
 
@@ -228,8 +228,6 @@ ui设计工具:即时设计
 
   3. 新用户折线表,即每日新增的用户数量,是**特权用户才有权限查看**
 
-  4. 彩票折线表,包含:每日彩票的消费总金额、每日彩票的中奖总金额
-
 * 打卡日志选项卡
 
   1. 日历显示完成的打卡数,如果为0则不显示
@@ -259,6 +257,8 @@ ui设计工具:即时设计
    * 积分区,显示元素包括:总待使用积分、总已使用积分,总积分数
    * 彩票去,显示元素包括:总消费金额、总中奖金额
 
+   说明:数据从用户表中获取
+
 3. 显示可跳转页面
 
    * 积分结算记录
@@ -276,7 +276,7 @@ ui设计工具:即时设计
      1. 显示所有账户,显示元素包括:账户名称、所拥有的积分
      2. 支持的功能操作:添加新账户、账户之间转账、一般户与可兑换奖励物的关联
    * 奖励列表
-     1. 显示所有的可兑换奖励,显示元素包括:奖励的名称、所需兑换积分
+     1. 显示所有的可兑换奖励,显示元素包括:奖励的名称、所需兑换积分、自动兑换标识
      2. 支持的功能操作:添加新奖励、编辑、删除
    * 免责声明
    * 关于我们
@@ -294,14 +294,22 @@ ui设计工具:即时设计
 ##### 定时任务
 
 1. 自动结算
+
 2. 自动归档
-3. (未设计表)自动打卡
-4. (未设计表)自动兑换
-5. (需建表)打卡任务-月统计,包含:本月需打卡数、本月已打卡数、本月完成打卡数、本月打卡率、本月打卡完成率,本月获取积分数
-6. (需建表)打卡任务-年统计,包含:本年需打卡数、本年已打卡数、本年完成打卡数、本年打卡率、本年打卡完成率,本年获取积分数
-7. (需建表)积分统计,包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日总积分的变化数量
-8. (需建表)新用户统计
-9. (需建表)彩票消费与中奖统计
+
+3. 自动打卡,按最低完成标准打卡
+
+4. 自动兑换,按设定的兑换次数进行自动兑换,优先从专用账户兑换,再从基本账户兑换
+
+   注:如果奖励关联了专用账户,需要校验兑换账户和
+
+5. 打卡任务-月统计,包含:本月需打卡数、本月已打卡数、本月完成打卡数、本月打卡率、本月打卡完成率,本月获取积分数
+
+6. 打卡任务-年统计,包含:本年需打卡数、本年已打卡数、本年完成打卡数、本年打卡率、本年打卡完成率,本年获取积分数
+
+7. 积分统计,包含:每日积分的结算数(增加数量)、每日积分的消耗数量、每日剩余总积分
+
+8. 新用户数量统计
 
 
 
@@ -492,6 +500,7 @@ ui设计工具:即时设计
 | interrupted_day                     | int          | 打卡中断天数(单位:天)                                     |          |
 | penalty_day                         | int          | 惩罚天数(单位:天)                                         |          |
 | multi_task_status                   | varchar(10)  | 是否启用多任务(ENABLED-启用,DISABLED-关闭)                  |          |
+| auto_status                         | varchar(10)  | 是否启用自动打卡(ENABLED-启用,DISABLED-关闭)                |          |
 | created_by                          | bigint       | 创建人                                                       | 普通索引 |
 | creation_time                       | timestamp    | 创建时间                                                     |          |
 | last_updated_by                     | bigint       | 最后更新人                                                   |          |
@@ -536,8 +545,8 @@ ui设计工具:即时设计
 | 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) | 完成率                                             |          |
+| punch_in_done_count  | int          | 打卡完成次数                                       |          |
+| punch_in_done_rate   | decimal(5,2) | 打卡完成率                                         |          |
 | points               | int          | 奖励的积分(基本)                                   |          |
 | grace_status         | varchar(10)  | 是否启用宽限期(ENABLED-启用,DISABLED-关闭)        |          |
 | grace_day            | int          | 宽限期(单位:天)                                 |          |
@@ -579,6 +588,8 @@ ui设计工具:即时设计
 
 表名:punch_in_multi_task_rela
 
+说明:这里的打卡多任务ID和打卡任务ID均不用唯一ID,用于记录对应的快照关系
+
 | 字段                   | 类型      | 描述                               | 索引     |
 | ---------------------- | --------- | ---------------------------------- | -------- |
 | id                     | bigint    | 主键                               | 主键索引 |
@@ -633,8 +644,8 @@ ui设计工具:即时设计
 | 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) | 打卡完成率                                                   |          |
+| punch_in_done_count           | int          | 打卡完成数                                                   |          |
+| punch_in_done_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) |          |
@@ -741,16 +752,17 @@ ui设计工具:即时设计
 
 
 
-### 彩票消费与中奖记录
+### 物品消费与中奖记录
 
-表名:lottery_consume_win_history
+表名:item_consume_win_history
 
 | 字段             | 类型          | 描述                                                         | 索引     |
 | ---------------- | ------------- | ------------------------------------------------------------ | -------- |
 | id               | bigint        | 主键                                                         | 主键索引 |
+| user_id          | bigint        | 用户ID                                                       |          |
 | action           | varchar(30)   | 动作(消费-CONSUME,中奖-WIN,撤销消费-REVERSE_CONSUME,撤销中奖-REVERSE_WIN) |          |
-| source           | varchar(100)  | 彩票来源                                                     |          |
-| category         | varchar(100)  | 彩票种类                                                     |          |
+| source           | varchar(100)  | 来源                                                         |          |
+| category         | varchar(100)  | 种类                                                         |          |
 | amount           | decimal(10,2) | 金额(元)                                                   |          |
 | created_by       | bigint        | 创建人                                                       |          |
 | creation_time    | timestamp     | 创建时间                                                     |          |
@@ -851,32 +863,34 @@ ui设计工具:即时设计
 
 ### 奖励
 
-表名:rewards
+表名:reward
 
-| 字段             | 类型         | 描述                               | 索引     |
-| ---------------- | ------------ | ---------------------------------- | -------- |
-| 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-已删除) |          |
+| 字段                | 类型         | 描述                                          | 索引     |
+| ------------------- | ------------ | --------------------------------------------- | -------- |
+| id                  | bigint       | 主键                                          | 主键索引 |
+| user_id             | bigint       | 用户id                                        | 普通索引 |
+| reward_name         | varchar(100) | 奖励名称                                      |          |
+| exchange_points     | int          | 兑换所需积分                                  |          |
+| auto_status         | varchar(10)  | 是否启用自动兑换(ENABLED-启用,DISABLED-关闭) |          |
+| auto_exchange_count | 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
+表名:reward_account_rela
 
 | 字段             | 类型      | 描述                               | 索引     |
 | ---------------- | --------- | ---------------------------------- | -------- |
 | id               | bigint    | 主键                               | 主键索引 |
 | user_id          | bigint    | 用户id                             | 普通索引 |
-| rewards_id       | bigint    | 奖励id                             |          |
+| reward_id        | bigint    | 奖励id                             |          |
 | account_id       | bigint    | 账户id                             |          |
 | created_by       | bigint    | 创建人                             |          |
 | creation_time    | timestamp | 创建时间                           |          |
@@ -889,63 +903,117 @@ ui设计工具:即时设计
 
 ### 奖励兑换记录
 
-表名: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-已删除)            |          |
+表名:reward_history
+
+| 字段                           | 类型         | 描述                                     | 索引     |
+| ------------------------------ | ------------ | ---------------------------------------- | -------- |
+| id                             | bigint       | 主键                                     | 主键索引 |
+| user_id                        | bigint       | 用户id                                   | 普通索引 |
+| reward_id                      | bigint       | 奖励id                                   |          |
+| exchange_method                | varchar(10)  | 兑换类型(手动兑换-MANUAL,自动兑换-AUTO) |          |
+| 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-已删除)       |          |
+
+
+
+
+
+### 打卡任务月数据统计
+
+表名:punch_in_stats_month
+
+| 字段                 | 类型         | 描述                               | 索引     |
+| -------------------- | ------------ | ---------------------------------- | -------- |
+| id                   | bigint       | 主键                               | 主键索引 |
+| user_id              | bigint       | 用户id                             | 普通索引 |
+| task_unique_id       | bigint       | 任务唯一ID                         | 普通索引 |
+| stats_time           | varchar      | 统计时间(格式:yyyy-MM)          | 普通索引 |
+| punch_in_total_count | int          | 本月需打卡数                       |          |
+| punch_in_count       | int          | 本月已打卡数                       |          |
+| punch_in_done_count  | int          | 本月完成打卡数                     |          |
+| punch_in_rate        | decimal(5,2) | 本月打卡率                         |          |
+| punch_in_done_rate   | decimal(5,2) | 本月打卡完成率                     |          |
+| 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_stats_year
+
+| 字段                 | 类型         | 描述                               | 索引     |
+| -------------------- | ------------ | ---------------------------------- | -------- |
+| id                   | bigint       | 主键                               | 主键索引 |
+| user_id              | bigint       | 用户id                             | 普通索引 |
+| task_unique_id       | bigint       | 任务唯一ID                         | 普通索引 |
+| stats_time           | varchar      | 统计时间(格式:yyyy)             | 普通索引 |
+| punch_in_total_count | int          | 本年需打卡数                       |          |
+| punch_in_count       | int          | 本年已打卡数                       |          |
+| punch_in_done_count  | int          | 本年完成打卡数                     |          |
+| punch_in_rate        | decimal(5,2) | 本年打卡率                         |          |
+| punch_in_done_rate   | decimal(5,2) | 本年打卡完成率                     |          |
+| points               | int          | 本年获取积分数                     |          |
+| created_by           | bigint       | 创建人                             |          |
+| creation_time        | timestamp    | 创建时间                           |          |
+| last_updated_by      | bigint       | 最后更新人                         |          |
+| last_update_time     | timestamp    | 最后更新时间                       |          |
+| version              | bigint       | 版本号                             |          |
+| delete_flag          | tinyint      | 逻辑删除标志(0-未删除,1-已删除) |          |
+
+
+
+### 积分数据统计
+
+表名:points_stats
+
+| 字段             | 类型      | 描述                               | 索引     |
+| ---------------- | --------- | ---------------------------------- | -------- |
+| id               | bigint    | 主键                               | 主键索引 |
+| user_id          | bigint    | 用户id                             | 普通索引 |
+| stats_time       | varchar   | 统计时间(格式:yyyy-MM-dd)       | 普通索引 |
+| settle_points    | int       | 每日积分的结算数                   |          |
+| consume_points   | int       | 每日积分的消耗数量                 |          |
+| total_points     | int       | 每日剩余总积分                     |          |
+| created_by       | bigint    | 创建人                             |          |
+| creation_time    | timestamp | 创建时间                           |          |
+| last_updated_by  | bigint    | 最后更新人                         |          |
+| last_update_time | timestamp | 最后更新时间                       |          |
+| version          | bigint    | 版本号                             |          |
+| delete_flag      | tinyint   | 逻辑删除标志(0-未删除,1-已删除) |          |
+
+
+
+### 新用户数据统计
+
+表名:user_stats
+
+| 字段             | 类型      | 描述                               | 索引     |
+| ---------------- | --------- | ---------------------------------- | -------- |
+| id               | bigint    | 主键                               | 主键索引 |
+| stats_time       | varchar   | 统计时间(格式:yyyy-MM-dd)       | 普通索引 |
+| new_user_count   | int       | 新用户数量                         |          |
+| created_by       | bigint    | 创建人                             |          |
+| creation_time    | timestamp | 创建时间                           |          |
+| last_updated_by  | bigint    | 最后更新人                         |          |
+| last_update_time | timestamp | 最后更新时间                       |          |
+| version          | bigint    | 版本号                             |          |
+| delete_flag      | tinyint   | 逻辑删除标志(0-未删除,1-已删除) |          |