product_photo_dao.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package dao
  2. import (
  3. "github.com/sirupsen/logrus"
  4. "youngee_b_api/app/entity"
  5. )
  6. type ProductPhotoDAO struct{}
  7. func (d ProductPhotoDAO) GetMainPhotoByProductID(productId int64) (string, error) {
  8. var productPhoto entity.ProductPhoto
  9. err := Db.Where("product_id = ? AND symbol = ?", productId, 1).First(&productPhoto).Error
  10. if err != nil {
  11. return "", err
  12. }
  13. return productPhoto.PhotoUrl, nil
  14. }
  15. func (d ProductPhotoDAO) CreateProductPhoto(productPhotos []entity.ProductPhoto) error {
  16. err := Db.Create(&productPhotos).Error
  17. if err != nil {
  18. return err
  19. }
  20. return nil
  21. }
  22. func (d ProductPhotoDAO) GetProductPhotoByProductID(productID int64) ([]entity.ProductPhoto, error) {
  23. var productPhotos []entity.ProductPhoto
  24. err := Db.Where("product_id = ?", productID).Find(&productPhotos).Error
  25. if err != nil {
  26. return nil, err
  27. }
  28. return productPhotos, nil
  29. }
  30. func (d ProductPhotoDAO) GetProductPhotosBySelectionId(selectionId string) ([]*entity.ProductPhoto, error) {
  31. productId := 0
  32. err := Db.Model(entity.SelectionInfo{}).Select("product_id").Where("selection_id = ?", selectionId).Find(&productId).Error
  33. if err != nil {
  34. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  35. return nil, err
  36. }
  37. var productPhotos []*entity.ProductPhoto
  38. err = Db.Model(entity.ProductPhoto{}).Where("product_id = ?", productId).Find(&productPhotos).Error
  39. if err != nil {
  40. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  41. return nil, err
  42. }
  43. return productPhotos, nil
  44. }
  45. func (d ProductPhotoDAO) GetProductPhotosByProjectId(projectId string) ([]*entity.ProductPhoto, error) {
  46. productId := 0
  47. err := Db.Model(entity.Project{}).Select("product_id").Where("project_id = ?", projectId).Find(&productId).Error
  48. if err != nil {
  49. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  50. return nil, err
  51. }
  52. var productPhotos []*entity.ProductPhoto
  53. err = Db.Model(entity.ProductPhoto{}).Where("product_id = ?", productId).Find(&productPhotos).Error
  54. if err != nil {
  55. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  56. return nil, err
  57. }
  58. return productPhotos, nil
  59. }