更新若干功能
This commit is contained in:
1 parent
892ba5886d
commit
79d5ae6b66
45 files changed
+6755
-38
No files matched your search
@@ -0,0 +1,66 @@
|
||||
-- =============================================================
|
||||
-- OA 工作日报 —— 表结构
|
||||
--
|
||||
-- 对应代码:
|
||||
-- models/oa_daily_report.go
|
||||
-- services/oauth/dailyreport_service.go
|
||||
-- controllers/backend_oa_dailyreport.go(后台 PC 端)
|
||||
-- controllers/app_oa_dailyreport.go(小程序端)
|
||||
--
|
||||
-- 设计要点:
|
||||
-- 1. 每人每天一条日报,用 (tid, user_id, report_date, is_deleted) 唯一键约束;
|
||||
-- user_id 存 SystemTenantUser.uid(不是 JWT 里的 identity_id)。
|
||||
-- 2. 删除为软删除:is_deleted=0 表示未删除;删除时写入记录 ID 作为删除批次标记,
|
||||
-- 使唯一键在「删除后同一天重新填写」时不与历史软删记录冲突。
|
||||
-- 评论同步软删除(is_deleted=1)。
|
||||
-- 3. 同一天允许先存草稿(status=0)后提交(status=1)。
|
||||
-- 4. 不显式指定 COLLATE,沿用数据库默认排序规则,避免与其他表
|
||||
-- JOIN 字符串时出现 Illegal mix of collations。
|
||||
-- =============================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ---------------- 1. 工作日报主表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_oa_daily_report` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
`user_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '作者uid(yz_system_tenant_user.uid)',
|
||||
`user_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '作者姓名快照',
|
||||
`org_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '作者部门ID(yz_backend_organization.id)',
|
||||
`org_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '部门名称快照',
|
||||
`report_date` DATE NOT NULL COMMENT '日报日期',
|
||||
`today_done` TEXT COMMENT '今日完成',
|
||||
`tomorrow_plan` TEXT COMMENT '明日计划',
|
||||
`issues` TEXT COMMENT '问题与建议',
|
||||
`attachments` TEXT COMMENT '附件JSON数组:[{"id":1,"url":"","name":"","size":0}]',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '0草稿 1已提交',
|
||||
`submit_time` DATETIME DEFAULT NULL COMMENT '提交时间',
|
||||
`is_deleted` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '软删除标记:0=未删除;删除时写入记录ID(避免唯一键冲突)',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tid_user_date` (`tid`, `user_id`, `report_date`, `is_deleted`),
|
||||
KEY `idx_tid_date` (`tid`, `report_date`),
|
||||
KEY `idx_tid_org_date` (`tid`, `org_id`, `report_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-工作日报';
|
||||
|
||||
-- ---------------- 2. 日报评论表 ----------------
|
||||
-- reply_to_id 指向同表评论ID,用于两级回复(0 表示直接评论日报)。
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_oa_daily_report_comment` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
`report_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '日报ID',
|
||||
`user_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '评论人uid',
|
||||
`user_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '评论人姓名快照',
|
||||
`content` VARCHAR(1000) NOT NULL DEFAULT '' COMMENT '评论内容',
|
||||
`reply_to_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '回复的评论ID,0=直接评论',
|
||||
`reply_to_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '被回复人姓名快照',
|
||||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除标记:0=未删除 1=已删除',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_report` (`report_id`, `id`),
|
||||
KEY `idx_tid` (`tid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-工作日报评论';
|
||||
Reference in new issue
Block a user