product_photo_dao.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package dao
  2. import (
  3. "errors"
  4. "github.com/sirupsen/logrus"
  5. "gorm.io/gorm"
  6. "youngee_b_api/app/entity"
  7. )
  8. type ProductPhotoDAO struct{}
  9. func (d ProductPhotoDAO) CreateProductPhoto(productPhotos []entity.ProductPhoto) error {
  10. err := Db.Debug().Create(&productPhotos).Error
  11. if err != nil {
  12. return err
  13. }
  14. return nil
  15. }
  16. // 获取所属商品的图片
  17. func (d ProductPhotoDAO) GetProductPhotoByProductID(productId int64) ([]entity.ProductPhoto, error) {
  18. var productPhotos []entity.ProductPhoto
  19. err := Db.Where("product_id = ?", productId).Order("created_at asc").Find(&productPhotos).Error
  20. if err != nil {
  21. return nil, err
  22. }
  23. return productPhotos, nil
  24. }
  25. // 获取所属商品的主图详情
  26. func (d ProductPhotoDAO) GetMainProductPhotoInfoByProductID(productId int64) (*entity.ProductPhoto, error) {
  27. var productPhoto entity.ProductPhoto
  28. err := Db.Where("product_id = ? AND symbol = ?", productId, 1).First(&productPhoto).Error
  29. if err != nil {
  30. if errors.Is(err, gorm.ErrRecordNotFound) {
  31. return nil, nil
  32. } else {
  33. return nil, err
  34. }
  35. }
  36. return &productPhoto, nil
  37. }
  38. // 获取所属商品的主图
  39. func (d ProductPhotoDAO) GetMainPhotoByProductID(productId int64) (string, error) {
  40. var productPhoto entity.ProductPhoto
  41. err := Db.Where("product_id = ? AND symbol = ?", productId, 1).Find(&productPhoto).Error
  42. if err != nil {
  43. return "", err
  44. }
  45. return productPhoto.PhotoUrl, nil
  46. }
  47. // 获取所属门店的图片
  48. func (d ProductPhotoDAO) GetProductPhotoByStoreID(storeId int64) ([]entity.ProductPhoto, error) {
  49. var productPhotos []entity.ProductPhoto
  50. err := Db.Where("store_id = ?", storeId).Order("created_at asc").Find(&productPhotos).Error
  51. if err != nil {
  52. return nil, err
  53. }
  54. return productPhotos, nil
  55. }
  56. // 获取所属门店的主图
  57. func (d ProductPhotoDAO) GetMainPhotoByStoreID(storeId int64) (string, error) {
  58. var productPhoto entity.ProductPhoto
  59. err := Db.Where("store_id = ? AND symbol = ?", storeId, 1).Find(&productPhoto).Error
  60. if err != nil {
  61. return "", err
  62. }
  63. return productPhoto.PhotoUrl, nil
  64. }
  65. // 获取所属团购的图片
  66. func (d ProductPhotoDAO) GetProductPhotoByTeamBuyingID(teamBuyingId int64) ([]entity.ProductPhoto, error) {
  67. var productPhotos []entity.ProductPhoto
  68. err := Db.Where("team_buying_id = ?", teamBuyingId).Order("created_at asc").Find(&productPhotos).Error
  69. if err != nil {
  70. return nil, err
  71. }
  72. return productPhotos, nil
  73. }
  74. // 获取所属团购的主图
  75. func (d ProductPhotoDAO) GetMainPhotoByTeamBuyingID(teamBuyingId int64) (string, error) {
  76. var productPhoto entity.ProductPhoto
  77. err := Db.Where("team_buying_id = ? AND symbol = ?", teamBuyingId, 1).Find(&productPhoto).Error
  78. if err != nil {
  79. return "", err
  80. }
  81. return productPhoto.PhotoUrl, nil
  82. }
  83. func (d ProductPhotoDAO) GetProductPhotosBySelectionId(selectionId string) ([]*entity.ProductPhoto, error) {
  84. productId := 0
  85. err := Db.Model(entity.SelectionInfo{}).Select("product_id").Where("selection_id = ?", selectionId).Find(&productId).Error
  86. if err != nil {
  87. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  88. return nil, err
  89. }
  90. var productPhotos []*entity.ProductPhoto
  91. err = Db.Model(entity.ProductPhoto{}).Where("product_id = ?", productId).Find(&productPhotos).Error
  92. if err != nil {
  93. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  94. return nil, err
  95. }
  96. return productPhotos, nil
  97. }
  98. func (d ProductPhotoDAO) GetProductPhotosByProjectId(projectId string) ([]*entity.ProductPhoto, error) {
  99. productId := 0
  100. err := Db.Model(entity.Project{}).Select("product_id").Where("project_id = ?", projectId).Find(&productId).Error
  101. if err != nil {
  102. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  103. return nil, err
  104. }
  105. var productPhotos []*entity.ProductPhoto
  106. err = Db.Model(entity.ProductPhoto{}).Where("product_id = ?", productId).Find(&productPhotos).Error
  107. if err != nil {
  108. logrus.Errorf("[GetProductInfo] error query mysql, err:%+v", err)
  109. return nil, err
  110. }
  111. return productPhotos, nil
  112. }