feat(store): add two-level store categories for admin and partner open-store
CI / verify (pull_request) Has been cancelled

Admin CRUD under stores menu; partner picks leaf category on create.
Default sync only inserts missing rows and never updates existing ones.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-22 12:10:02 +08:00
parent 823e439101
commit 9a550cbaaf
18 changed files with 848 additions and 26 deletions
@@ -1150,3 +1150,53 @@ export class AdminBenefitGrantDto {
@IsString()
remark?: string;
}
export class CreateStoreCategoryDto {
@IsString()
@IsNotEmpty()
code: string;
@IsString()
@IsNotEmpty()
name: string;
@IsOptional()
@Type(() => Number)
@IsNumber()
sort?: number;
/** 空/不传 = 一级分类;传入一级 id = 二级分类 */
@IsOptional()
@IsString()
parentId?: string | null;
@IsOptional()
@IsIn(['ACTIVE', 'DISABLED'])
status?: string;
}
export class UpdateStoreCategoryDto {
@IsOptional()
@IsString()
@IsNotEmpty()
code?: string;
@IsOptional()
@IsString()
@IsNotEmpty()
name?: string;
@IsOptional()
@Type(() => Number)
@IsNumber()
sort?: number;
@IsOptional()
@ValidateIf((_, v) => v !== null && v !== undefined)
@IsString()
parentId?: string | null;
@IsOptional()
@IsIn(['ACTIVE', 'DISABLED'])
status?: string;
}