store_service.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package service
  2. import (
  3. "errors"
  4. "time"
  5. "youngee_b_api/app/dao"
  6. "youngee_b_api/app/entity"
  7. "youngee_b_api/app/vo"
  8. )
  9. type StoreService struct{}
  10. func (p StoreService) GetStoresByEnterpriseId(param vo.GetAllStoreParam) (vo.ResultVO, error) {
  11. if param.Page == 0 {
  12. param.Page = 1
  13. }
  14. if param.PageSize == 0 {
  15. param.PageSize = 10
  16. }
  17. var result vo.ResultVO
  18. var stores []entity.Store
  19. var err error
  20. var total int64
  21. enterpriseId := param.EnterpriseId
  22. if enterpriseId == "" {
  23. return result, errors.New("enterpriseId is empty")
  24. }
  25. stores, total, err = (&dao.StoreDao{}).GetStoresByEnterpriseIDAndStoreName(enterpriseId, param.StoreName, param.Page, param.PageSize)
  26. if err != nil {
  27. // 数据库查询error
  28. return result, err
  29. }
  30. var reStores []vo.ReStore
  31. for _, store := range stores {
  32. photoUrl, e := dao.ProductPhotoDAO{}.GetMainPhotoByStoreID(store.StoreID)
  33. if e != nil {
  34. photoUrl = ""
  35. }
  36. reStore := vo.ReStore{
  37. StoreID: store.StoreID,
  38. StoreName: store.StoreName,
  39. StoreLocation: store.StoreLocation,
  40. StoreType: store.StoreType,
  41. StoreCategory: store.StoreCategory,
  42. TeamNum: store.TeamNum,
  43. StoreDetail: store.StoreDetail,
  44. CreatedAt: store.CreatedAt.Format("2006-01-02 15:04:05"),
  45. PhotoUrl: photoUrl,
  46. }
  47. reStores = append(reStores, reStore)
  48. }
  49. result = vo.ResultVO{
  50. Page: param.Page,
  51. PageSize: param.PageSize,
  52. Total: total,
  53. Data: reStores,
  54. }
  55. return result, nil
  56. }
  57. func (p StoreService) CreateStore(param *vo.StoreCreateParam) (int64, error) {
  58. newStore := entity.Store{
  59. StoreName: param.StoreName,
  60. StoreCategory: param.StoreCategory,
  61. StoreType: param.StoreType,
  62. StoreLocation: param.StoreLocation,
  63. StoreDetail: param.StoreDetail,
  64. StoreLink: param.StoreLink,
  65. BelongEnterpriseID: param.EnterpriseId,
  66. EnterpriseID: param.EnterpriseId,
  67. SubAccountID: param.SubAccountId,
  68. OperateType: 1,
  69. CreatedAt: time.Now(),
  70. }
  71. storeId, err := dao.StoreDao{}.CreateStore(newStore)
  72. if err != nil {
  73. return 0, err
  74. }
  75. if param.StorePhotos != nil {
  76. storePhotos := []entity.ProductPhoto{}
  77. for _, photo := range param.StorePhotos {
  78. storePhoto := entity.ProductPhoto{
  79. PhotoUrl: photo.PhotoUrl,
  80. PhotoUid: photo.PhotoUid,
  81. Symbol: photo.Symbol,
  82. StoreID: storeId,
  83. ProductPhotoType: 2,
  84. CreatedAt: time.Now(),
  85. }
  86. storePhotos = append(storePhotos, storePhoto)
  87. }
  88. err = dao.ProductPhotoDAO{}.CreateProductPhoto(storePhotos)
  89. if err != nil {
  90. return 0, err
  91. }
  92. }
  93. return storeId, nil
  94. }