فهرست منبع

【feat】【v3】
1.修改表结构及其对应实体类

ChenYL 11 ماه پیش
والد
کامیت
e48566fcc3

+ 21 - 1
doc/sql/update-v3.sql

@@ -91,7 +91,7 @@ CREATE TABLE `stat_pi_task_week` (
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
   `user_id` bigint NOT NULL COMMENT '用户id',
   `task_unique_id` bigint NOT NULL COMMENT '任务唯一ID',
-  `stat_time` char(7) NOT NULL COMMENT '统计时间(格式:yyyy-周数)',
+  `stat_time` char(8) NOT NULL COMMENT '统计时间(格式:yyyy-周数)',
   `punch_in_total_count` int NOT NULL COMMENT '本周需打卡数',
   `punch_in_count` int NOT NULL COMMENT '本周已打卡数',
   `punch_in_done_count` int NOT NULL COMMENT '本周完成打卡数',
@@ -363,6 +363,16 @@ CREATE TABLE `pi_status` (
   `stage_start_date` date DEFAULT NULL COMMENT '阶段开始日期',
   `stage_end_date` date DEFAULT NULL COMMENT '阶段结束日期',
   `continue_interrupted_count` int DEFAULT NULL COMMENT '连续中断次数',
+  `stat_time_in_week` char(8) NOT NULL COMMENT '统计周数(格式:yyyy-周数)',
+  `punch_in_total_count_in_week` int NOT NULL COMMENT '本周需打卡数',
+  `punch_in_count_in_week` int NOT NULL COMMENT '本周已打卡数',
+  `punch_in_done_count_in_week` int NOT NULL COMMENT '本周完成打卡数',
+  `points_in_week` int NOT NULL COMMENT '本周获取积分数',
+  `stat_time_in_month` char(7) NOT NULL COMMENT '统计月份(格式:yyyy-MM)',
+  `punch_in_total_count_in_month` int NOT NULL COMMENT '本月需打卡数',
+  `punch_in_count_in_month` int NOT NULL COMMENT '本月已打卡数',
+  `punch_in_done_count_in_month` int NOT NULL COMMENT '本月完成打卡数',
+  `points_in_month` int NOT NULL COMMENT '本月获取积分数',
   `created_by` bigint NOT NULL COMMENT '创建人',
   `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
@@ -387,6 +397,16 @@ CREATE TABLE `pi_status_history` (
   `stage_start_date` date DEFAULT NULL COMMENT '阶段开始日期',
   `stage_end_date` date DEFAULT NULL COMMENT '阶段结束日期',
   `continue_interrupted_count` int DEFAULT NULL COMMENT '连续中断次数',
+  `stat_time_in_week` char(8) NOT NULL COMMENT '统计周数(格式:yyyy-周数)',
+  `punch_in_total_count_in_week` int NOT NULL COMMENT '本周需打卡数',
+  `punch_in_count_in_week` int NOT NULL COMMENT '本周已打卡数',
+  `punch_in_done_count_in_week` int NOT NULL COMMENT '本周完成打卡数',
+  `points_in_week` int NOT NULL COMMENT '本周获取积分数',
+  `stat_time_in_month` char(7) NOT NULL COMMENT '统计月份(格式:yyyy-MM)',
+  `punch_in_total_count_in_month` int NOT NULL COMMENT '本月需打卡数',
+  `punch_in_count_in_month` int NOT NULL COMMENT '本月已打卡数',
+  `punch_in_done_count_in_month` int NOT NULL COMMENT '本月完成打卡数',
+  `points_in_month` int NOT NULL COMMENT '本月获取积分数',
   `created_by` bigint NOT NULL COMMENT '创建人',
   `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',

+ 63 - 39
doc/技术文档.md

@@ -738,25 +738,37 @@ ui设计工具:即时设计
 
 作用:multi_task_unique_id和task_unique_id字段不能同时出现,是一张公用表,multi_task_unique_id出现时是多任务的打卡状态,task_unique_id出现时是单任务的打卡状态
 
-| 字段                       | 类型        | 描述                                                         | 索引     |
-| -------------------------- | ----------- | ------------------------------------------------------------ | -------- |
-| id                         | bigint      | 主键                                                         | 主键索引 |
-| user_id                    | bigint      | 用户ID                                                       | 普通索引 |
-| multi_task_unique_id       | bigint      | 打卡多任务唯一ID                                             | 普通索引 |
-| task_unique_id             | bigint      | 打卡任务唯一ID                                               | 普通索引 |
-| status_date                | date        | 记录状态的时间                                               |          |
-| task_continue_status       | varchar(20) | 任务连续打卡状态(连续打卡-CONTINUE、中断-INTERRUPTED)        |          |
-| task_continue_day          | int         | 任务连续天数,第一天开始就等于1                              |          |
-| continue_stage             | varchar(10) | 连续阶段(宽限期-GRACE_STAGE,正常打卡期-NORMAL_STAGE,惩罚期-PENALTY_STAGE) |          |
-| stage_start_date           | date        | 阶段开始日期                                                 |          |
-| stage_end_date             | date        | 阶段结束日期                                                 |          |
-| continue_interrupted_count | 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                                                       | 普通索引 |
+| multi_task_unique_id          | bigint      | 打卡多任务唯一ID                                             | 普通索引 |
+| multi_task_id                 | bigint      | 打卡多任务ID                                                 |          |
+| task_unique_id                | bigint      | 打卡任务唯一ID                                               | 普通索引 |
+| taks_id                       | bigint      | 打卡任务ID                                                   |          |
+| status_date                   | date        | 记录状态的时间                                               |          |
+| task_continue_status          | varchar(20) | 任务连续打卡状态(连续打卡-CONTINUE、中断-INTERRUPTED)        |          |
+| task_continue_day             | int         | 任务连续天数,第一天开始就等于1                              |          |
+| continue_stage                | varchar(10) | 连续阶段(宽限期-GRACE_STAGE,正常打卡期-NORMAL_STAGE,惩罚期-PENALTY_STAGE) |          |
+| stage_start_date              | date        | 阶段开始日期                                                 |          |
+| stage_end_date                | date        | 阶段结束日期                                                 |          |
+| continue_interrupted_count    | int         | 连续中断次数                                                 |          |
+| stat_time_in_week             | char(8)     | 本周时间(格式:yyyy-W周数)                                 |          |
+| punch_in_total_count_in_week  | int         | 本周需打卡数                                                 |          |
+| punch_in_count_in_week        | int         | 本周已打卡数                                                 |          |
+| punch_in_done_count_in_week   | int         | 本周完成打卡数                                               |          |
+| points_in_week                | int         | 本周获取积分数                                               |          |
+| stat_time_in_month            | char(7)     | 本月时间(格式:yyyy-MM)                                    |          |
+| punch_in_total_count_in_month | int         | 本月需打卡数                                                 |          |
+| punch_in_count_in_month       | int         | 本月已打卡数                                                 |          |
+| punch_in_done_count_in_month  | int         | 本月完成打卡数                                               |          |
+| points_in_month               | int         | 本月获取积分数                                               |          |
+| created_by                    | bigint      | 创建人                                                       |          |
+| creation_time                 | timestamp   | 创建时间                                                     |          |
+| last_updated_by               | bigint      | 最后更新人                                                   |          |
+| last_update_time              | timestamp   | 最后更新时间                                                 |          |
+| version                       | bigint      | 版本号                                                       |          |
+| delete_flag                   | tinyint     | 逻辑删除标志(0-未删除,1-已删除)                           |          |
 
 
 
@@ -766,25 +778,37 @@ ui设计工具:即时设计
 
 作用:multi_task_unique_id和task_unique_id字段不能同时出现,是一张公用表,multi_task_unique_id出现时是多任务的打卡状态,task_unique_id出现时是单任务的打卡状态
 
-| 字段                       | 类型        | 描述                                                         | 索引     |
-| -------------------------- | ----------- | ------------------------------------------------------------ | -------- |
-| id                         | bigint      | 主键                                                         | 主键索引 |
-| user_id                    | bigint      | 用户ID                                                       | 普通索引 |
-| multi_task_unique_id       | bigint      | 打卡多任务唯一ID                                             | 普通索引 |
-| task_unique_id             | bigint      | 打卡任务唯一ID                                               | 普通索引 |
-| status_date                | date        | 记录状态的时间                                               | 普通索引 |
-| task_continue_status       | varchar(20) | 任务连续打卡状态(连续打卡-CONTINUE、中断--INTERRUPTED)       |          |
-| task_continue_day          | int         | 任务连续天数,第一天开始就等于1                              |          |
-| continue_stage             | varchar(10) | 连续阶段(宽限期-GRACE_STAGE,正常打卡期-NORMAL_STAGE,惩罚期-PENALTY_STAGE) |          |
-| stage_start_date           | date        | 阶段开始日期                                                 |          |
-| stage_end_date             | date        | 阶段结束日期                                                 |          |
-| continue_interrupted_count | 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                                                       | 普通索引 |
+| multi_task_unique_id          | bigint      | 打卡多任务唯一ID                                             | 普通索引 |
+| multi_task_id                 | bigint      | 打卡多任务ID                                                 |          |
+| task_unique_id                | bigint      | 打卡任务唯一ID                                               | 普通索引 |
+| taks_id                       | bigint      | 打卡任务ID                                                   |          |
+| status_date                   | date        | 记录状态的时间                                               | 普通索引 |
+| task_continue_status          | varchar(20) | 任务连续打卡状态(连续打卡-CONTINUE、中断-INTERRUPTED)        |          |
+| task_continue_day             | int         | 任务连续天数,第一天开始就等于1                              |          |
+| continue_stage                | varchar(10) | 连续阶段(宽限期-GRACE_STAGE,正常打卡期-NORMAL_STAGE,惩罚期-PENALTY_STAGE) |          |
+| stage_start_date              | date        | 阶段开始日期                                                 |          |
+| stage_end_date                | date        | 阶段结束日期                                                 |          |
+| continue_interrupted_count    | int         | 连续中断次数                                                 |          |
+| stat_time_in_week             | char(8)     | 本周时间(格式:yyyy-W周数)                                 |          |
+| punch_in_total_count_in_week  | int         | 本周需打卡数                                                 |          |
+| punch_in_count_in_week        | int         | 本周已打卡数                                                 |          |
+| punch_in_done_count_in_week   | int         | 本周完成打卡数                                               |          |
+| points_in_week                | int         | 本周获取积分数                                               |          |
+| stat_time_in_month            | char(7)     | 本月时间(格式:yyyy-MM)                                    |          |
+| punch_in_total_count_in_month | int         | 本月需打卡数                                                 |          |
+| punch_in_count_in_month       | int         | 本月已打卡数                                                 |          |
+| punch_in_done_count_in_month  | int         | 本月完成打卡数                                               |          |
+| points_in_month               | int         | 本月获取积分数                                               |          |
+| created_by                    | bigint      | 创建人                                                       |          |
+| creation_time                 | timestamp   | 创建时间                                                     |          |
+| last_updated_by               | bigint      | 最后更新人                                                   |          |
+| last_update_time              | timestamp   | 最后更新时间                                                 |          |
+| version                       | bigint      | 版本号                                                       |          |
+| delete_flag                   | tinyint     | 逻辑删除标志(0-未删除,1-已删除)                           |          |
 
 
 
@@ -1087,7 +1111,7 @@ ui设计工具:即时设计
 | id                   | bigint       | 主键                               | 主键索引 |
 | user_id              | bigint       | 用户id                             | 普通索引 |
 | task_unique_id       | bigint       | 任务唯一ID                         | 普通索引 |
-| stat_time            | char(7)      | 统计时间(格式:yyyy-W周数)       | 普通索引 |
+| stat_time            | char(8)      | 统计时间(格式:yyyy-W周数)       | 普通索引 |
 | punch_in_total_count | int          | 本周需打卡数                       |          |
 | punch_in_count       | int          | 本周已打卡数                       |          |
 | punch_in_done_count  | int          | 本周完成打卡数                     |          |

+ 85 - 0
src/main/java/com/punchsettle/server/atomic/entity/PiStatus.java

@@ -2,6 +2,7 @@ package com.punchsettle.server.atomic.entity;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import com.punchsettle.server.common.pojo.BaseEntity;
@@ -85,4 +86,88 @@ public class PiStatus extends BaseEntity implements Serializable {
      */
     @Column(name = "连续中断次数")
     private Integer continueInterruptedCount;
+
+    /**
+     * 统计时间(格式:yyyy-W周数)
+     */
+    @Column(name = "stats_time_in_week")
+    private String statTimeInWeek;
+
+    /**
+     * 本周需打卡数
+     */
+    @Column(name = "punch_in_total_count_in_week")
+    private Integer punchInTotalCountInWeek;
+
+    /**
+     * 本周已打卡数
+     */
+    @Column(name = "punch_in_count_in_week")
+    private Integer punchInCountInWeek;
+
+    /**
+     * 本周完成打卡数
+     */
+    @Column(name = "punch_in_done_count_in_week")
+    private Integer punchInDoneCountInWeek;
+
+    /**
+     * 本周打卡率
+     */
+    @Column(name = "punch_in_rate_in_week")
+    private BigDecimal punchInRateInWeek;
+
+    /**
+     * 本周打卡完成率
+     */
+    @Column(name = "punch_in_done_rate_in_week")
+    private BigDecimal punchInDoneRateInWeek;
+
+    /**
+     * 本周获取积分数
+     */
+    @Column(name = "points_in_week")
+    private Integer pointsInWeek;
+
+    /**
+     * 统计时间(格式:yyyy-W周数)
+     */
+    @Column(name = "stats_time_in_month")
+    private String statTimeInMonth;
+
+    /**
+     * 本周需打卡数
+     */
+    @Column(name = "punch_in_total_count_in_month")
+    private Integer punchInTotalCountInMonth;
+
+    /**
+     * 本周已打卡数
+     */
+    @Column(name = "punch_in_count_in_month")
+    private Integer punchInCountInMonth;
+
+    /**
+     * 本周完成打卡数
+     */
+    @Column(name = "punch_in_done_count_in_month")
+    private Integer punchInDoneCountInMonth;
+
+    /**
+     * 本周打卡率
+     */
+    @Column(name = "punch_in_rate_in_month")
+    private BigDecimal punchInRateInMonth;
+
+    /**
+     * 本周打卡完成率
+     */
+    @Column(name = "punch_in_done_rate_in_month")
+    private BigDecimal punchInDoneRateInMonth;
+
+    /**
+     * 本周获取积分数
+     */
+    @Column(name = "points_in_month")
+    private Integer pointsInMonth;
 }

+ 85 - 0
src/main/java/com/punchsettle/server/atomic/entity/PiStatusHistory.java

@@ -2,6 +2,7 @@ package com.punchsettle.server.atomic.entity;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.Date;
 
@@ -86,4 +87,88 @@ public class PiStatusHistory extends BaseEntity implements Serializable {
      */
     @Column(name = "连续中断次数")
     private Integer continueInterruptedCount;
+
+    /**
+     * 统计时间(格式:yyyy-W周数)
+     */
+    @Column(name = "stats_time_in_week")
+    private String statTimeInWeek;
+
+    /**
+     * 本周需打卡数
+     */
+    @Column(name = "punch_in_total_count_in_week")
+    private Integer punchInTotalCountInWeek;
+
+    /**
+     * 本周已打卡数
+     */
+    @Column(name = "punch_in_count_in_week")
+    private Integer punchInCountInWeek;
+
+    /**
+     * 本周完成打卡数
+     */
+    @Column(name = "punch_in_done_count_in_week")
+    private Integer punchInDoneCountInWeek;
+
+    /**
+     * 本周打卡率
+     */
+    @Column(name = "punch_in_rate_in_week")
+    private BigDecimal punchInRateInWeek;
+
+    /**
+     * 本周打卡完成率
+     */
+    @Column(name = "punch_in_done_rate_in_week")
+    private BigDecimal punchInDoneRateInWeek;
+
+    /**
+     * 本周获取积分数
+     */
+    @Column(name = "points_in_week")
+    private Integer pointsInWeek;
+
+    /**
+     * 统计时间(格式:yyyy-W周数)
+     */
+    @Column(name = "stats_time_in_month")
+    private String statTimeInMonth;
+
+    /**
+     * 本周需打卡数
+     */
+    @Column(name = "punch_in_total_count_in_month")
+    private Integer punchInTotalCountInMonth;
+
+    /**
+     * 本周已打卡数
+     */
+    @Column(name = "punch_in_count_in_month")
+    private Integer punchInCountInMonth;
+
+    /**
+     * 本周完成打卡数
+     */
+    @Column(name = "punch_in_done_count_in_month")
+    private Integer punchInDoneCountInMonth;
+
+    /**
+     * 本周打卡率
+     */
+    @Column(name = "punch_in_rate_in_month")
+    private BigDecimal punchInRateInMonth;
+
+    /**
+     * 本周打卡完成率
+     */
+    @Column(name = "punch_in_done_rate_in_month")
+    private BigDecimal punchInDoneRateInMonth;
+
+    /**
+     * 本周获取积分数
+     */
+    @Column(name = "points_in_month")
+    private Integer pointsInMonth;
 }