1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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
- }
|