feat(shop-role): 实现店铺角色继承功能和权限检查优化
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m39s

- 新增店铺角色管理 API 和数据模型
- 实现角色继承和权限检查逻辑
- 添加流程测试框架和集成测试
- 更新权限服务和账号管理逻辑
- 添加数据库迁移脚本
- 归档 OpenSpec 变更文档

Ultraworked with Sisyphus
This commit is contained in:
2026-02-03 10:06:13 +08:00
parent bc7e5d6f6d
commit 5a90caa619
61 changed files with 21284 additions and 131 deletions

View File

@@ -0,0 +1,8 @@
-- 删除索引
DROP INDEX IF EXISTS idx_shop_role_deleted_at;
DROP INDEX IF EXISTS idx_shop_role_role_id;
DROP INDEX IF EXISTS idx_shop_role_shop_id;
DROP INDEX IF EXISTS idx_shop_role_shop_id_role_id;
-- 删除表
DROP TABLE IF EXISTS tb_shop_role;

View File

@@ -0,0 +1,31 @@
-- 创建店铺角色关联表
CREATE TABLE tb_shop_role (
id SERIAL PRIMARY KEY,
shop_id INT NOT NULL,
role_id INT NOT NULL,
status INT NOT NULL DEFAULT 1, -- 0=禁用 1=启用
creator INT NOT NULL,
updater INT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP
);
-- 创建唯一索引
CREATE UNIQUE INDEX idx_shop_role_shop_id_role_id ON tb_shop_role(shop_id, role_id) WHERE deleted_at IS NULL;
-- 创建索引
CREATE INDEX idx_shop_role_shop_id ON tb_shop_role(shop_id) WHERE deleted_at IS NULL;
CREATE INDEX idx_shop_role_role_id ON tb_shop_role(role_id) WHERE deleted_at IS NULL;
CREATE INDEX idx_shop_role_deleted_at ON tb_shop_role(deleted_at);
-- 添加注释
COMMENT ON TABLE tb_shop_role IS '店铺角色关联表';
COMMENT ON COLUMN tb_shop_role.shop_id IS '店铺ID';
COMMENT ON COLUMN tb_shop_role.role_id IS '角色ID';
COMMENT ON COLUMN tb_shop_role.status IS '状态 0=禁用 1=启用';
COMMENT ON COLUMN tb_shop_role.creator IS '创建人ID';
COMMENT ON COLUMN tb_shop_role.updater IS '更新人ID';
COMMENT ON COLUMN tb_shop_role.created_at IS '创建时间';
COMMENT ON COLUMN tb_shop_role.updated_at IS '更新时间';
COMMENT ON COLUMN tb_shop_role.deleted_at IS '软删除时间';