1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package service
- import (
- "errors"
- "strconv"
- "time"
- "youngee_b_api/app/consts"
- "youngee_b_api/app/dao"
- "youngee_b_api/app/entity"
- "youngee_b_api/app/vo"
- )
- type ProductService struct{}
- func (p ProductService) GetTaskProducts(enterpriseId string) ([]vo.ReTaskProduct, error) {
- if enterpriseId == "" {
- return nil, errors.New("enterpriseId is empty")
- }
- products, err := (&dao.ProductDAO{}).GetProductsByEnterpriseID(enterpriseId)
- if err != nil {
- // 数据库查询error
- return nil, err
- }
- var reProducts []vo.ReTaskProduct
- for _, product := range products {
- photoUrl, e := dao.ProductPhotoDAO{}.GetMainPhotoByProductID(product.ProductID)
- if e != nil {
- photoUrl = ""
- }
- reProduct := vo.ReTaskProduct{
- ProductID: product.ProductID,
- ProductName: product.ProductName,
- ProductType: consts.GetProductType(product.ProductType),
- ProductPrice: product.ProductPrice,
- ProductDetail: product.ProductDetail,
- CreatedAt: product.CreatedAt,
- BrandName: product.BrandName,
- PhotoUrl: photoUrl,
- }
- reProducts = append(reProducts, reProduct)
- }
- return reProducts, nil
- }
- func (p ProductService) CreateProduct(productCreateParam *vo.ProductCreateParam) (int64, error) {
- product := entity.Product{
- ProductName: productCreateParam.ProductName,
- ProductType: productCreateParam.ProductType,
- ShopAddress: productCreateParam.ShopAddress,
- ProductPrice: productCreateParam.ProductPrice,
- ProductDetail: productCreateParam.ProductDetail,
- ProductUrl: productCreateParam.ProductUrl,
- EnterpriseID: productCreateParam.EnterpriseId,
- BrandName: productCreateParam.BrandName,
- PublicCommission: productCreateParam.PublicCommission,
- ExclusiveCommission: productCreateParam.ExclusiveCommission,
- CommissionPrice: productCreateParam.CommissionPrice,
- SalesCount: strconv.Itoa(int(productCreateParam.MerchantSoldCountThirtyDays)),
- KuaishouProductId: productCreateParam.KuaishouProductId,
- }
- productID, err := dao.ProductDAO{}.CreateProduct(product)
- if err != nil {
- return 0, err
- }
- if productCreateParam.ProductPhotos != nil {
- productPhotos := []entity.ProductPhoto{}
- for _, photo := range productCreateParam.ProductPhotos {
- productPhoto := entity.ProductPhoto{
- PhotoUrl: photo.PhotoUrl,
- PhotoUid: photo.PhotoUid,
- Symbol: photo.Symbol,
- ProductID: productID,
- CreatedAt: time.Time{},
- }
- productPhotos = append(productPhotos, productPhoto)
- }
- err = dao.ProductPhotoDAO{}.CreateProductPhoto(productPhotos)
- if err != nil {
- return 0, err
- }
- }
- return productID, nil
- }
|