12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package service
- import (
- "errors"
- "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) GetTaskProductsByUserId(param vo.GetAllProductParam) (vo.ResultVO, error) {
- var result vo.ResultVO
- var products []entity.Product
- var err error
- var total int64
- if param.SubAccountId == 0 {
- enterpriseId := param.EnterpriseId
- if enterpriseId == "" {
- return result, errors.New("enterpriseId is empty")
- }
- products, total, err = (&dao.ProductDAO{}).GetProductsByEnterpriseID(enterpriseId, param.Page, param.PageSize)
- } else {
- products, total, err = (&dao.ProductDAO{}).GetProductsBySubAccountId(param.SubAccountId, param.Page, param.PageSize)
- }
- if err != nil {
- // 数据库查询error
- return result, 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,
- PhotoUrl: photoUrl,
- }
- reProducts = append(reProducts, reProduct)
- }
- result = vo.ResultVO{
- Page: param.Page,
- PageSize: param.PageSize,
- Total: total,
- Data: reProducts,
- }
- return result, nil
- }
- func (p ProductService) CreateProduct(productCreateParam *vo.ProductCreateParam) (int64, error) {
- product := entity.Product{
- KuaishouProductId: productCreateParam.ProductId,
- ProductName: productCreateParam.ProductName,
- ProductCategory: productCreateParam.ProductCategory,
- ProductPrice: productCreateParam.ProductPrice,
- ProductDetail: productCreateParam.ProductDetail,
- EnterpriseID: productCreateParam.EnterpriseId,
- SubAccountID: productCreateParam.SubAccountId,
- ExclusiveCommission: productCreateParam.ExclusiveCommission,
- CommissionPrice: productCreateParam.CommissionPrice,
- PublicCommission: productCreateParam.PublicCommission,
- ProductUrl: productCreateParam.ProductUrl,
- }
- 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
- }
|