refactor: 重构资产实体和DTO结构类型
将gjson.Json类型替换为具体的结构体和map类型,修正DAO层链式调用,启用SKU元数据校验逻辑
This commit is contained in:
71
update.sql
71
update.sql
@@ -123,4 +123,73 @@ COMMENT ON COLUMN assets_asset.virtual_asset_config IS '虚拟资产配置(JSONB
|
||||
COMMENT ON COLUMN assets_asset.metadata IS '动态元数据(JSONB)';
|
||||
COMMENT ON COLUMN assets_asset.tenant_module_type IS '租户模块类型';
|
||||
|
||||
--------------------pgsql创建assets_asset表语句---------------------------
|
||||
--------------------pgsql创建assets_asset表语句---------------------------
|
||||
|
||||
--------------------pgsql创建assets_asset_sku表语句---------------------------
|
||||
-- 资产SKU表
|
||||
CREATE TABLE IF NOT EXISTS assets_asset_sku (
|
||||
-- 基础字段(继承 SQLBaseDO 通用字段)
|
||||
id BIGINT PRIMARY KEY, -- 主键ID(非自增)
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- SKU核心字段
|
||||
asset_id BIGINT NOT NULL, -- 关联资产ID
|
||||
asset_name VARCHAR(128) NOT NULL, -- 资产名称
|
||||
sku_name VARCHAR(128) NOT NULL, -- SKU名称
|
||||
image_url VARCHAR(256) DEFAULT '', -- SKU主图
|
||||
spec_values JSONB NOT NULL DEFAULT '[]'::JSONB, -- 规格值:{"颜色":"红色","尺寸":"L"}
|
||||
price INT NOT NULL DEFAULT 0, -- 价格(分为单位)
|
||||
unlimited_stock BOOLEAN NOT NULL DEFAULT FALSE, -- 是否无库存限制
|
||||
stock INT NOT NULL DEFAULT 0, -- 库存数量
|
||||
specs_count INT NOT NULL DEFAULT 0, -- 规格数量
|
||||
specs_unit JSONB DEFAULT '{}'::JSONB, -- 规格单位 SpecsUnitKeyValue
|
||||
sort INT NOT NULL DEFAULT 0, -- 排序
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 资产状态:1启用/0停用
|
||||
stock_mode SMALLINT NOT NULL DEFAULT 1, -- 库存管理模式:1-明细模式 2-批次模式
|
||||
category_id BIGINT NOT NULL DEFAULT 0, -- 分类ID
|
||||
category_path VARCHAR(512) DEFAULT '', -- 分类路径
|
||||
tenant_module_type VARCHAR(32) DEFAULT '', -- 租户模块类型
|
||||
|
||||
-- 外键约束(可选,根据业务需要启用)
|
||||
CONSTRAINT fk_sku_asset_id FOREIGN KEY (asset_id) REFERENCES assets_asset(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_sku_category_id FOREIGN KEY (category_id) REFERENCES assets_category(id) ON DELETE SET DEFAULT
|
||||
);
|
||||
|
||||
-- 索引(根据查询场景优化)
|
||||
CREATE INDEX idx_sku_asset_id ON assets_asset_sku(asset_id);
|
||||
CREATE INDEX idx_sku_category_id ON assets_asset_sku(category_id);
|
||||
CREATE INDEX idx_sku_status ON assets_asset_sku(status);
|
||||
CREATE INDEX idx_sku_stock_mode ON assets_asset_sku(stock_mode);
|
||||
CREATE INDEX idx_sku_deleted_at ON assets_asset_sku(deleted_at); -- 软删字段索引
|
||||
CREATE INDEX idx_sku_tenant_module_type ON assets_asset_sku(tenant_module_type);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE assets_asset_sku IS '资产SKU表';
|
||||
COMMENT ON COLUMN assets_asset_sku.id IS '主键ID(非自增)';
|
||||
COMMENT ON COLUMN assets_asset_sku.creator IS '创建人';
|
||||
COMMENT ON COLUMN assets_asset_sku.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN assets_asset_sku.updater IS '更新人';
|
||||
COMMENT ON COLUMN assets_asset_sku.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN assets_asset_sku.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN assets_asset_sku.asset_id IS '关联资产ID';
|
||||
COMMENT ON COLUMN assets_asset_sku.asset_name IS '资产名称';
|
||||
COMMENT ON COLUMN assets_asset_sku.sku_name IS 'SKU名称';
|
||||
COMMENT ON COLUMN assets_asset_sku.image_url IS 'SKU主图';
|
||||
COMMENT ON COLUMN assets_asset_sku.spec_values IS '规格值:{"颜色":"红色","尺寸":"L","时长":"1个月","平台":"抖音"}';
|
||||
COMMENT ON COLUMN assets_asset_sku.price IS '价格(分为单位)';
|
||||
COMMENT ON COLUMN assets_asset_sku.unlimited_stock IS '是否无库存限制';
|
||||
COMMENT ON COLUMN assets_asset_sku.stock IS '库存数量';
|
||||
COMMENT ON COLUMN assets_asset_sku.specs_count IS '规格数量';
|
||||
COMMENT ON COLUMN assets_asset_sku.specs_unit IS '规格单位 SpecsUnitKeyValue';
|
||||
COMMENT ON COLUMN assets_asset_sku.sort IS '排序';
|
||||
COMMENT ON COLUMN assets_asset_sku.status IS '状态:active-启用/inactive-未启用/disabled-禁用';
|
||||
COMMENT ON COLUMN assets_asset_sku.stock_mode IS '库存管理模式:1-明细模式 2-批次模式';
|
||||
COMMENT ON COLUMN assets_asset_sku.category_id IS '分类ID';
|
||||
COMMENT ON COLUMN assets_asset_sku.category_path IS '分类路径';
|
||||
COMMENT ON COLUMN assets_asset_sku.tenant_module_type IS '租户模块类型';
|
||||
|
||||
--------------------pgsql创建assets_sku表语句---------------------------
|
||||
|
||||
Reference in New Issue
Block a user