共性能力平台 — 收藏与收录 数据库设计说明
| 属性 |
内容 |
| 文档版本 |
v2.0 |
| 编写日期 |
2026-05-23 |
| 修订日期 |
2026-05-23 |
| 编写人 |
(待填写) |
| 审核人 |
(待填写) |
| 适用系统 |
txw-mhzc 门户 — 共性能力页 /gxnlpt |
| 适用数据库 |
MySQL 8.0+(InnoDB,utf8mb4);本文 DDL/索引以 MySQL 为准,不承诺 Oracle 等库可直接复用 |
| 关联前端 |
txw-mhzc-web/src/pages/index/views/gxnlpt/index.vue |
| DDL 脚本 |
txw-mhzc/sql/txw_mhzc_gxnl_slxxb_gxscb.sql |
修订记录
| 版本 |
日期 |
修订人 |
审核人 |
说明 |
| v1.0 |
2026-05-23 |
— |
— |
初稿:双表、ER、基础字段与状态 |
| v2.0 |
2026-05-23 |
— |
— |
参照评审意见补充:字段校验、命名规范、乐观锁、索引与唯一约束、状态矩阵、API 规范、一致性/异常/迁移/性能 |
1. 设计背景与目标
1.1 业务场景
| 能力 |
前端入口 |
业务特征 |
| 分类浏览 |
左侧 5 类导航 + 卡片 |
展示已上架网站条目 |
| 收录 |
「收录」表单 |
提交名称/链接/简介/分类/标签/联系人;审核后展示 |
| 收藏 |
星标 +「我的收藏」 |
登录用户对已上架条目收藏/取消 |
1.2 设计目标
- 与供需体系(
txw_gxzx_*)解耦,新建 txw_mhzc_gxnl_* 域表。
- 字段、状态、索引、API 具备可落地校验规则,减少脏数据与并发覆盖。
- 首期双表交付;审核流水、操作日志表列为可选扩展,并给出过渡期方案。
1.3 表清单
| 序号 |
物理表名 |
中文名 |
职责 |
| 1 |
txw_mhzc_gxnl_slxxb |
共性能力收录信息表 |
主数据 + 收录申请 + 审核/上架 |
| 2 |
txw_mhzc_gxnl_gxscb |
共性能力收藏表 |
用户收藏关系 |
| (扩展) |
txw_mhzc_gxnl_slshb |
收录审核流水表 |
多轮审核留痕(二期建议建表) |
| (扩展) |
平台操作日志 |
复用现有审计/日志组件 |
关联 wz_uuid 追溯操作链路 |
2. 命名与缩写规范
2.1 后缀约定(全库统一)
| 后缀 |
含义 |
示例 |
_dm |
代码(字典值、枚举) |
gxnl_fl_dm、lyqd_dm |
_mc |
名称(展示冗余) |
gxnl_fl_mc、qymc |
_uuid |
业务主键/外键 UUID |
wz_uuid、yh_uuid |
_bz |
标志(Y/N) |
yxbz、sjzt(上架标志,历史命名保留) |
_jh |
集合(逗号分隔) |
bqjh |
_rq / _sj |
日期/时间 |
lrrq、shsj |
lrr / xgr / shr |
录入人/修改人/审核人 |
lrruuid、xgruuid |
tjr_ |
提交人(门户侧填写) |
tjr_nc、tjr_lxdh |
2.2 未使用后缀的字段说明
| 字段 |
说明 |
zt |
业务状态(历史习惯,与 sjzt 成对使用,不改为 zt_dm 以降低迁移成本) |
sjzt |
上架状态(s=上架,j=见,与项目内 sjzt 一致) |
bt |
标题 title 缩写 |
2.3 易混字段语义(收录表)
| 字段 |
语义 |
赋值规则 |
yh_uuid |
门户提交账号 |
用户登录提交时 = 当前 Session.yh_uuid;游客提交 = NULL |
lrruuid |
数据录入操作人 |
门户提交:登录用户 = yh_uuid,游客 = NULL;运营后台录入/导入 = 操作员 yh_uuid |
tjr_nc / tjr_lxdh |
表单展示用联系人 |
用户填写;可与账号信息不一致 |
xgruuid |
最后修改人 |
审核、编辑、下架等写操作更新 |
shruuid |
最后审核人 |
仅审核通过/驳回时写入 |
结论:yh_uuid 表示「谁提交的」;lrruuid 表示「谁执行了入库动作」。多数登录场景二者相同;运营代录时 lrruuid=运营员,yh_uuid 可空。
2.4 已删除/弱化的字段
| 原字段 |
v2.0 处理 |
sjzt_bz |
删除。运营备注统一走管理端备注或扩展表,避免与 shyj 混用 |
3. ER 图(与字段清单一致)
3.1 完整实体关系(Mermaid)
erDiagram
TXW_MHZC_YHXXB ||--o{ TXW_MHZC_GXNL_GXSCB : "收藏"
TXW_MHZC_GXNL_SLXXB ||--o{ TXW_MHZC_GXNL_GXSCB : "被收藏"
TXW_MHZC_YHXXB ||--o{ TXW_MHZC_GXNL_SLXXB : "提交账号"
TXW_MHZC_QYXXB ||--o{ TXW_MHZC_GXNL_SLXXB : "关联企业"
TXW_MHZC_GXNL_SLXXB ||--o{ TXW_MHZC_GXNL_SLSHB : "审核流水(二期)"
TXW_MHZC_GXNL_SLXXB {
varchar wz_uuid PK
varchar bt
varchar wz_lj
varchar jj
char gxnl_fl_dm
varchar gxnl_fl_mc
varchar bqjh
char zt
char sjzt
varchar lyqd_dm
varchar tjr_nc
varchar tjr_lxdh
varchar yh_uuid
varchar qyuuid
varchar qymc
varchar shyj
varchar shruuid
datetime shsj
int shcs
text shls_j
int pxh
int llcs
int sccs
int bbh
varchar lrruuid
datetime lrrq
varchar xgruuid
datetime xgrq
char yxbz
}
TXW_MHZC_GXNL_GXSCB {
varchar uuid PK
varchar wz_uuid FK
varchar yh_uuid FK
datetime lrrq
datetime qxrq
char yxbz
}
TXW_MHZC_YHXXB {
varchar yh_uuid PK
}
TXW_MHZC_QYXXB {
varchar qyuuid PK
}
3.2 关系与一致性(应用层)
| 关系 |
基数 |
一致性策略 |
| 用户 → 收藏 |
1:N |
用户注销:异步任务将 gxscb.yxbz='N',sccs 重算;失败入补偿队列 |
| 收录 → 收藏 |
1:N |
条目 yxbz='N' 或下架:不删收藏行;「我的收藏」JOIN 时标 yxzt=invalid |
| 用户 → 收录 |
1:N |
用户注销:不删 slxxb,yh_uuid 保留用于审计 |
| 企业 → 收录 |
1:N |
企业注销:qyuuid 置空或保留历史,不级联删条目 |
不建数据库外键:与 txw_gxzx_gxscb 等项目表一致;所有引用在 Service 层校验存在性。
4. 字段校验规则(入库前必校验)
4.1 通用约定
| 项 |
规范 |
| 时区 |
服务端统一 Asia/Shanghai |
| 时间格式 |
DATETIME,入库 YYYY-MM-DD HH:mm:ss;接口 ISO8601 可选,入库前转换 |
| UUID |
[a-zA-Z0-9_-]{1,50},系统生成优先 |
| 字符串 |
入库前 trim();全角空格转半角(可选) |
4.2 txw_mhzc_gxnl_slxxb 字段校验
| 字段 |
类型/长度 |
必填 |
校验规则 |
wz_uuid |
VARCHAR(50) |
Y |
系统生成,唯一 |
bt |
VARCHAR(200) |
Y |
1~200 字符;禁止纯空格;禁止 <script 等 XSS 片段(输出编码为主,入库可做长度+危险字符拦截) |
wz_lj |
VARCHAR(500) |
Y |
必须 http:// 或 https:// 开头;总长 ≤500;域名合法;禁止 javascript:;入库前 URI 规范化 |
jj |
VARCHAR(40) |
Y* |
用户收录必填,运营导入可空;1~40 字符(与前端 maxlength 一致) |
gxnl_fl_dm |
CHAR(2) |
Y |
枚举 01~05,否则拒绝 |
gxnl_fl_mc |
VARCHAR(50) |
N |
由服务端根据 gxnl_fl_dm 填充,不信任前端 |
bqjh |
VARCHAR(500) |
N |
最多 10 个标签;单标签 1~20 字符;仅中英文数字及 -_;英文逗号分隔;去重 |
zt |
CHAR(1) |
Y |
枚举 0~4 |
sjzt |
CHAR(1) |
Y |
仅 Y/N;仅当 zt=2 时允许 sjzt=Y |
lyqd_dm |
VARCHAR(20) |
Y |
枚举 admin/user/import |
tjr_nc |
VARCHAR(50) |
N |
≤50 字符 |
tjr_lxdh |
VARCHAR(20) |
N* |
发验证码时必填;手机号 ^1[3-9]\d{9}$ 或座机 ^0\d{2,3}-?\d{7,8}$ |
yh_uuid |
VARCHAR(50) |
N |
存在则校验 yhxxb 有效 |
qyuuid |
VARCHAR(50) |
N |
存在则校验 qyxxb |
qymc |
VARCHAR(200) |
N |
由企业表冗余,不信任前端随意改 |
shyj |
VARCHAR(500) |
N |
驳回时必填;≤500 字符 |
shruuid |
VARCHAR(50) |
N |
审核时必填 |
shsj |
DATETIME |
N |
审核时必填 |
shcs |
INT |
Y |
≥0;每次驳回/通过 +1 |
shls_j |
TEXT |
N |
JSON 数组,见 §8.3;单条 ≤2000 字符建议 |
pxh |
INT |
Y |
0~999999 |
llcs |
INT |
Y |
≥0 |
sccs |
INT |
Y |
≥0;冗余字段,规则见 §7.2 |
bbh |
INT |
Y |
≥0;乐观锁,更新时 WHERE bbh=? |
lrruuid/xgruuid |
VARCHAR(50) |
N |
写操作写入 |
lrrq/xgrq |
DATETIME |
N |
首次/更新自动 |
yxbz |
CHAR(1) |
Y |
Y/N |
4.3 txw_mhzc_gxnl_gxscb 字段校验
| 字段 |
类型/长度 |
必填 |
校验规则 |
uuid |
VARCHAR(50) |
Y |
系统生成 |
wz_uuid |
VARCHAR(50) |
Y |
须存在且 slxxb.yxbz=Y 且 zt=2 且 sjzt=Y |
yh_uuid |
VARCHAR(50) |
Y |
当前登录用户 |
lrrq |
DATETIME |
Y |
收藏时写入 |
qxrq |
DATETIME |
N |
取消收藏时写入 |
yxbz |
CHAR(1) |
Y |
Y/N |
5. 表结构明细
5.1 txw_mhzc_gxnl_slxxb — 共性能力收录信息表
| 字段名 |
类型 |
空 |
默认 |
注释 |
wz_uuid |
VARCHAR(50) |
N |
— |
网站信息 UUID,主键 |
bt |
VARCHAR(200) |
N |
— |
名称 |
wz_lj |
VARCHAR(500) |
N |
— |
网站链接(http/https) |
jj |
VARCHAR(40) |
Y |
NULL |
简介,≤40 字 |
gxnl_fl_dm |
CHAR(2) |
N |
— |
分类代码 01~05 |
gxnl_fl_mc |
VARCHAR(50) |
Y |
NULL |
分类名称冗余 |
bqjh |
VARCHAR(500) |
Y |
NULL |
标签合集,逗号分隔,最多 10 个 |
zt |
CHAR(1) |
N |
1 |
业务状态,§6 |
sjzt |
CHAR(1) |
N |
N |
上架状态 Y/N |
lyqd_dm |
VARCHAR(20) |
N |
user |
来源:admin/user/import |
tjr_nc |
VARCHAR(50) |
Y |
NULL |
提交人昵称 |
tjr_lxdh |
VARCHAR(20) |
Y |
NULL |
提交人联系方式 |
yh_uuid |
VARCHAR(50) |
Y |
NULL |
提交账号 UUID |
qyuuid |
VARCHAR(50) |
Y |
NULL |
关联企业 UUID |
qymc |
VARCHAR(200) |
Y |
NULL |
企业名称冗余 |
shyj |
VARCHAR(500) |
Y |
NULL |
当前轮次审核意见 |
shruuid |
VARCHAR(50) |
Y |
NULL |
最后审核人 |
shsj |
DATETIME |
Y |
NULL |
最后审核时间 |
shcs |
INT |
N |
0 |
审核轮次(提交/重提/审核累计) |
shls_j |
TEXT |
Y |
NULL |
审核历史 JSON(过渡期多轮审核) |
pxh |
INT |
N |
0 |
排序号 |
llcs |
INT |
N |
0 |
浏览次数 |
sccs |
INT |
N |
0 |
有效收藏数冗余 |
bbh |
INT |
N |
0 |
版本号(乐观锁) |
lrruuid |
VARCHAR(50) |
Y |
NULL |
录入人 UUID |
lrrq |
DATETIME |
Y |
NULL |
录入时间 |
xgruuid |
VARCHAR(50) |
Y |
NULL |
修改人 UUID |
xgrq |
DATETIME |
Y |
NULL |
修改时间 |
yxbz |
CHAR(1) |
N |
Y |
有效标志 Y/N |
分类代码 gxnl_fl_dm
| 代码 |
名称 |
前端 anchor |
01 |
碳核算平台 |
content-1 |
02 |
碳认证机构 |
content-2 |
03 |
碳交易平台 |
content-3 |
04 |
碳金融服务 |
content-4 |
05 |
碳技术咨询 |
content-5 |
5.2 txw_mhzc_gxnl_gxscb — 共性能力收藏表
| 字段名 |
类型 |
空 |
默认 |
注释 |
uuid |
VARCHAR(50) |
N |
— |
收藏记录 UUID |
wz_uuid |
VARCHAR(50) |
N |
— |
关联网站信息 |
yh_uuid |
VARCHAR(50) |
N |
— |
收藏用户 |
lrrq |
DATETIME |
N |
— |
收藏时间 |
qxrq |
DATETIME |
Y |
NULL |
取消收藏时间 |
yxbz |
CHAR(1) |
N |
Y |
Y=有效收藏 N=已取消 |
收藏写入策略(解决唯一约束与软删冲突)
- 表级唯一约束:
UNIQUE (yh_uuid, wz_uuid) 不变。
- 取消收藏:
UPDATE SET yxbz='N', qxrq=NOW(),不删行。
- 再次收藏:若存在该行则
UPDATE SET yxbz='Y', lrrq=NOW(), qxrq=NULL;否则 INSERT。
- 禁止对同一
(yh_uuid, wz_uuid) 重复 INSERT。
6. 状态流转矩阵
6.1 状态枚举
zt 业务状态
| 值 |
含义 |
门户列表 |
可收藏 |
0 |
草稿 |
否 |
否 |
1 |
待审核 |
否 |
否 |
2 |
审核通过 |
是* |
是* |
3 |
审核驳回 |
否 |
否 |
4 |
已下架 |
否 |
否 |
* 须同时 sjzt=Y 且 yxbz=Y。
sjzt 上架状态
6.2 状态变更矩阵(含权限)
| 当前状态 |
事件 |
目标状态 |
操作角色 |
附加条件 |
| — |
用户提交收录 |
zt=1,sjzt=N |
游客/登录用户 |
验证码通过 |
1 |
用户撤回 |
zt=0,sjzt=N |
提交人本人 |
仅 zt=1;yh_uuid 匹配或手机号验证 |
0 |
用户再次提交 |
zt=1 |
提交人 |
更新同 wz_uuid |
1 |
审核通过 |
zt=2,sjzt=Y |
运营/管理员 |
写 shyj 可空;shcs+1 |
1 |
审核驳回 |
zt=3,sjzt=N |
运营/管理员 |
shyj 必填 |
2,Y |
运营下架 |
zt=4,sjzt=N |
运营/管理员 |
可不删收藏记录 |
4,N |
重新上架 |
zt=2,sjzt=Y |
运营/管理员 |
须 yxbz=Y |
3 |
修改后重提 |
zt=1,sjzt=N |
提交人 |
shcs+1;历史写入 shls_j |
| 任意 |
逻辑删除 |
yxbz=N |
管理员 |
门户不可见;待审单不再展示在审核队列(或单独筛) |
6.3 异常场景处理
| 场景 |
处理 |
| 待审条目被逻辑删除 |
审核接口返回「条目已失效」;不再出现在待审列表 |
| 已收藏条目下架 |
「我的收藏」仍展示,卡片标 「已失效」,不可跳转或灰显;scbz 仍 Y,增加 yxzt=N |
| 已收藏条目逻辑删除 |
同下架,yxzt=N |
| 并发审核/编辑 |
UPDATE ... WHERE wz_uuid=? AND bbh=?;失败返回「数据已被修改,请刷新」 |
| 用户注销 |
收藏批量 yxbz=N;sccs 按条目异步重算 |
7. 收藏业务规则
7.1 方案选定
| 方案 |
说明 |
本期 |
软删 yxbz |
取消置 N,可统计、可复收藏 |
采用 |
| 物理删除 |
无法追溯取消行为 |
不采用 |
7.2 sccs 冗余维护规则
| 项 |
规则 |
| 含义 |
当前 有效收藏 数,等价于 COUNT(*) FROM gxscb WHERE wz_uuid=? AND yxbz='Y' |
| 增加 |
toggle add 成功且由 N→Y 时 sccs+1(复收藏若从 N→Y 也 +1) |
| 减少 |
toggle remove 成功且由 Y→N 时 sccs-1,下限 0 |
| 并发 |
与 gxscb 更新同一事务;sccs 更新 WHERE sccs>=0 |
| 校验 |
每日凌晨 Job 全量校对,偏差 >0 则修复并告警 |
| 是否含注销用户 |
不含;注销时已置 yxbz=N |
7.3 查询规则
- 门户列表
scbz:LEFT JOIN gxscb ON wz_uuid AND yh_uuid AND yxbz='Y'。
- 我的收藏:
gxscb.yxbz='Y' JOIN slxxb;下架条目带 yxzt 字段返回。
8. 审核流程
8.1 权限
| 角色 |
权限 |
| 游客 |
提交收录、验证码 |
| 登录用户 |
提交、撤回自己的待审单、收藏 |
| 运营 |
审核、上下架、编辑条目 |
| 管理员 |
全部 + 逻辑删除 |
首期不按分类分审核人;二期可在 slshb 增加 gxnl_fl_dm 路由。
8.2 多轮审核(过渡期)
未建 txw_mhzc_gxnl_slshb 前:
shyj / shruuid / shsj:保存 最后一轮 审核信息。
shls_j:JSON 数组,元素示例:
{
"shcs": 1,
"shjg_dm": "3",
"shyj": "链接无法访问",
"shruuid": "admin-001",
"shsj": "2026-05-23 14:00:00"
}
shjg_dm:2 通过,3 驳回。
8.3 二期审核流水表(建议)
txw_mhzc_gxnl_slshb:uuid, wz_uuid, shcs, shjg_dm, shyj, shruuid, shsj, lrrq。
建成后 shls_j 可弃用,历史数据迁移入流水表。
9. 索引设计
9.1 设计原则(MySQL 8.0)
- 组合索引字段顺序:等值条件按区分度从高到低,范围/排序字段放最后。
- 门户主查:
gxnl_fl_dm(5 类)+ sjzt + zt + ORDER BY lrrq DESC。
%keyword% 模糊查询 不走 BTree;名称搜索用 FULLTEXT 或 ES(二期)。
9.2 txw_mhzc_gxnl_slxxb 索引
| 索引名 |
字段 |
说明 |
| PRIMARY |
wz_uuid |
主键 |
idx_slxx_fl_sjzt_zt_lrrq |
gxnl_fl_dm, sjzt, zt, lrrq |
门户分类列表(v2 调整顺序) |
idx_slxx_zt_lrrq |
zt, lrrq |
管理端待审 zt=1 |
idx_slxx_yh_lrrq |
yh_uuid, lrrq |
我的提交 |
idx_slxx_yxbz |
yxbz |
过滤有效数据 |
ft_slxx_bt_jj |
FULLTEXT(bt,jj) |
名称/简介搜索(可选,见 DDL 注释) |
idx_slxx_bt BTree 说明:仅适合 前缀 查询 LIKE 'keyword%';%keyword% 会失效,已改用 FULLTEXT。
9.3 txw_mhzc_gxnl_gxscb 索引
| 索引名 |
字段 |
说明 |
| PRIMARY |
uuid |
— |
uk_gxsc_yh_wz |
yh_uuid, wz_uuid |
唯一;配合 UPDATE 复收藏 |
idx_gxsc_yh_yxbz_lrrq |
yh_uuid, yxbz, lrrq |
我的收藏 |
idx_gxsc_wz_yxbz |
wz_uuid, yxbz |
统计/校对 sccs |
10. 数据清理与归档
| 数据 |
策略 |
gxscb 且 yxbz=N 且 qxrq < 1 年 |
可物理删除(夜间 Job) |
slxxb 且 zt=3 且 yxbz=Y 超过 2 年 |
归档至历史表或 yxbz=N |
slxxb 且 yxbz=N |
保留 3 年后物理删除(合规待定) |
11. API 规范(概要)
统一约定
- Base:
/mhzc/gxnl
- Method:POST(与项目现有
/gxdt 一致)
- Content-Type:
application/json
- 分页:
pageNo(从 1)、pageSize(默认 10,最大 50)
- 排序:列表默认
lrrq DESC, pxh DESC
- 响应:
{ code, msg, data };code=0 成功
11.1 POST /mhzc/gxnl/wzxx/list — 分类列表
请求
{
"pageNo": 1,
"pageSize": 10,
"gxnlFlDm": "01",
"nr": "碳足迹",
"onlySc": false
}
| 参数 |
类型 |
必填 |
说明 |
| pageNo |
int |
Y |
≥1 |
| pageSize |
int |
N |
默认 10,最大 50 |
| gxnlFlDm |
string |
N |
01~05 |
| nr |
string |
N |
关键词;有值时走 FULLTEXT 或 LIKE(见实现开关) |
| onlySc |
boolean |
N |
true 时仅返回当前用户收藏 |
响应 data:{ list: [{ wzUuid, bt, jj, wzLj, bqjh, gxnlFlMc, scbz, lrrq }], total }
11.2 POST /mhzc/gxnl/slxx/submit — 收录提交
请求
{
"bt": "某某碳核算平台",
"wzLj": "https://example.com",
"jj": "简介文案",
"gxnlFlDm": "01",
"bqjh": "碳足迹,LCA",
"tjrNc": "张三",
"tjrLxdh": "13800138000",
"captchaId": "xxx",
"captchaCode": "123456"
}
异常码
| code |
说明 |
| 40001 |
参数校验失败(附 fieldErrors) |
| 40002 |
URL 格式非法 |
| 40003 |
分类代码不存在 |
| 40004 |
验证码错误或过期 |
| 40005 |
标签数量/格式超限 |
11.3 POST /mhzc/gxnl/slxx/audit — 审核
请求:{ wzUuid, shjgDm: "2"|"3", shyj, bbh }
权限:运营/管理员
异常:40010 状态不允许审核;40011 乐观锁冲突
11.4 POST /mhzc/gxnl/slxx/withdraw — 撤回
请求:{ wzUuid }
条件:zt=1 且本人提交
11.5 POST /mhzc/gxnl/gxsc/toggle — 收藏切换
请求:{ wzUuid, type: "add" | "remove" }(小写,大小写敏感)
异常:40101 未登录;40020 条目不可收藏
11.6 POST /mhzc/gxnl/gxsc/myList — 我的收藏
请求:{ pageNo, pageSize }
响应:含 yxzt(Y=正常 N=已下架/删除)
11.7 POST /mhzc/gxnl/captcha/send
请求:{ tjrLxdh, bizType: "gxnl_submit" }
限流:同一手机号 1 分钟 1 次,1 小时 5 次
12. 数据迁移(自供需表)
| 源 |
目标 |
规则 |
txw_gxzx_gxxxb(若曾误用) |
txw_mhzc_gxnl_slxxb |
仅迁移明确标记为共性能力的数据;bt_1→bt,链接从 kzwj 或 fwnr 解析 |
txw_gxzx_gxscb |
txw_mhzc_gxnl_gxscb |
不自动迁移(gx_uuid 与 wz_uuid 无稳定映射);需人工或脚本映射表 |
| 历史收藏 |
— |
建议上线后用户重新收藏,或一次性脚本 + 映射表 |
迁移步骤:停写 → 备份 → 脚本导入 → 校对条数 → 抽测 → 开写。
锁表:大批量时按主键分批,避免长事务锁表。
13. 性能与容量(预估)
| 项 |
预估 |
措施 |
| 收录条目 |
5 万级/3 年 |
索引 + 归档 |
| 收藏记录 |
50 万级 |
分区(按年)二期考虑 |
| 列表 QPS |
峰值 200 |
Redis 缓存分类列表 60s;收藏态用户级缓存 |
| 收藏 toggle |
峰值 50 |
行级锁 + 事务 |
14. 操作日志(扩展)
写操作(提交、审核、上下架、删除)通过现有平台审计日志记录,建议扩展字段:
bizType=gxnl_slxx
bizId=wz_uuid
op=submit|audit|onShelf|offShelf|delete
不在业务表增加 czrz_uuid;以日志中心为准。
15. 与现有表对比
| 维度 |
原供需表 |
v2.0 新表 |
| 链接 |
无 |
wz_lj + URL 校验 |
| 分类 |
关键词 |
gxnl_fl_dm |
| 收藏唯一 |
gx_uuid |
wz_uuid + upsert |
| 并发 |
无版本号 |
bbh 乐观锁 |
| 多轮审核 |
shqkb |
shls_j 过渡 + 二期 slshb |
16. 前端字段映射
| 前端 |
表字段 |
| submitForm.bt1 |
bt |
| submitForm.lj |
wz_lj |
| submitForm.jj |
jj |
| submitForm.fl |
gxnl_fl_dm |
| submitForm.bq |
bqjh |
| submitForm.nc |
tjr_nc |
| submitForm.lxfs |
tjr_lxdh |
| card.gxUuid |
wz_uuid(接口驼峰 wzUuid) |
17. DDL
见:txw-mhzc/sql/txw_mhzc_gxnl_slxxb_gxscb.sql