selection_info_service.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package service
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/sirupsen/logrus"
  5. "youngee_b_api/db"
  6. "youngee_b_api/model/http_model"
  7. )
  8. type SelectionInfoService struct{}
  9. func (s *SelectionInfoService) GetSelectionInfo(ctx *gin.Context, selectionId string) (*http_model.SelectionDetail, error) {
  10. selectionDetail := http_model.SelectionDetail{}
  11. selectionInfo, err := db.GetSelectionById(ctx, selectionId)
  12. if err != nil {
  13. logrus.WithContext(ctx).Errorf("[selectionDB service] call GetSelectionInfo error,err:%+v", err)
  14. return nil, err
  15. }
  16. selectionBriefInfo, err := db.GetSelectionBriefInfo(ctx, selectionId)
  17. if err != nil {
  18. logrus.WithContext(ctx).Errorf("[selectionDB service] call GetSelectionBriefInfo error,err:%+v", err)
  19. return nil, err
  20. }
  21. selectionExampleInfo, err := db.GetSelectionExampleInfo(ctx, selectionId)
  22. if err != nil {
  23. logrus.WithContext(ctx).Errorf("[selectionDB service] call GetSelectionExampleInfo error,err:%+v", err)
  24. return nil, err
  25. }
  26. productInfo, err := db.GetProductInfoBySelectionId(ctx, selectionId)
  27. if err != nil {
  28. logrus.WithContext(ctx).Errorf("[selectionDB service] call GetProductInfo error,err:%+v", err)
  29. return nil, err
  30. }
  31. productPhotoInfo, err := db.GetProductPhotoInfoBySelectionId(ctx, selectionId)
  32. if err != nil {
  33. logrus.WithContext(ctx).Errorf("[selectionDB service] call GetProductPhotoInfo error,err:%+v", err)
  34. return nil, err
  35. }
  36. selectionDetail.SelectionBrief = selectionBriefInfo
  37. selectionDetail.SelectionInfo = selectionInfo
  38. selectionDetail.SelectionExample = selectionExampleInfo
  39. selectionDetail.ProductInfo = productInfo
  40. selectionDetail.ProductPhotoInfo = productPhotoInfo
  41. return &selectionDetail, nil
  42. }