package service import ( "context" "youngee_b_api/db" "youngee_b_api/model/gorm_model" "youngee_b_api/model/http_model" ) var Product *product type product struct { } func (*product) CreateProduct(ctx context.Context, newProduct http_model.CreateProductRequest) (*http_model.CreateProductData, error) { product := gorm_model.YounggeeProduct{ ProductName: newProduct.ProductName, ProductType: newProduct.ProductType, ShopAddress: newProduct.ShopAddress, ProductPrice: newProduct.ProductPrice, ProductUrl: newProduct.ProductUrl, EnterpriseID: newProduct.EnterpriseID, BrandName: newProduct.BrandName, } productID, err := db.CreateProduct(ctx, product) if err != nil { return nil, err } else { productPhotos := []gorm_model.YounggeeProductPhoto{} for _, photo := range newProduct.ProductPhotos { productPhoto := gorm_model.YounggeeProductPhoto{ PhotoUrl: photo.PhotoUrl, Symbol: photo.Symbol, ProductID: *productID, } productPhotos = append(productPhotos, productPhoto) } err := db.CreateProductPhoto(ctx, productPhotos) if err != nil { return nil, err } } res := &http_model.CreateProductData{ ProductID: *productID, } return res, nil }