Adapt to old_id

This commit is contained in:
2025-08-02 20:44:09 +08:00
parent 719cd14269
commit 14c3a23752
7 changed files with 72 additions and 2 deletions

View File

@@ -105,6 +105,32 @@ func (s *ProductManagementService) GetProductWithCategory(ctx context.Context, p
return &product, nil
}
// GetProductByOldIDWithCategory 根据旧ID获取产品及其分类信息
func (s *ProductManagementService) GetProductByOldIDWithCategory(ctx context.Context, oldID string) (*entities.Product, error) {
product, err := s.productRepo.FindByOldID(ctx, oldID)
if err != nil {
return nil, fmt.Errorf("产品不存在: %w", err)
}
// 加载分类信息
if product.CategoryID != "" {
category, err := s.categoryRepo.GetByID(ctx, product.CategoryID)
if err == nil {
product.Category = &category
}
}
// 如果是组合包,加载子产品信息
if product.IsPackage {
packageItems, err := s.productRepo.GetPackageItems(ctx, product.ID)
if err == nil {
product.PackageItems = packageItems
}
}
return product, nil
}
// GetPackageItems 获取组合包项目列表
func (s *ProductManagementService) GetPackageItems(ctx context.Context, packageID string) ([]*entities.ProductPackageItem, error) {
packageItems, err := s.productRepo.GetPackageItems(ctx, packageID)