package service import ( "errors" "time" "youngee_b_api/app/dao" "youngee_b_api/app/entity" "youngee_b_api/app/vo" ) type StoreService struct{} func (p StoreService) GetStoresByEnterpriseId(param vo.GetAllStoreParam) (vo.ResultVO, error) { if param.Page == 0 { param.Page = 1 } if param.PageSize == 0 { param.PageSize = 10 } var result vo.ResultVO var stores []entity.Store var err error var total int64 enterpriseId := param.EnterpriseId if enterpriseId == "" { return result, errors.New("enterpriseId is empty") } stores, total, err = (&dao.StoreDao{}).GetStoresByEnterpriseIDAndStoreName(enterpriseId, param.StoreName, param.Page, param.PageSize) if err != nil { // 数据库查询error return result, err } var reStores []vo.ReStore for _, store := range stores { photoUrl, e := dao.ProductPhotoDAO{}.GetMainPhotoByStoreID(store.StoreID) if e != nil { photoUrl = "" } reStore := vo.ReStore{ StoreID: store.StoreID, StoreName: store.StoreName, StoreLocation: store.StoreLocation, StoreType: store.StoreType, StoreCategory: store.StoreCategory, TeamNum: store.TeamNum, StoreDetail: store.StoreDetail, CreatedAt: store.CreatedAt.Format("2006-01-02 15:04:05"), PhotoUrl: photoUrl, } reStores = append(reStores, reStore) } result = vo.ResultVO{ Page: param.Page, PageSize: param.PageSize, Total: total, Data: reStores, } return result, nil } func (p StoreService) CreateStore(param *vo.StoreCreateParam) (int64, error) { newStore := entity.Store{ StoreName: param.StoreName, StoreCategory: param.StoreCategory, StoreType: param.StoreType, StoreLocation: param.StoreLocation, StoreDetail: param.StoreDetail, StoreLink: param.StoreLink, BelongEnterpriseID: param.EnterpriseId, EnterpriseID: param.EnterpriseId, SubAccountID: param.SubAccountId, OperateType: 1, CreatedAt: time.Now(), } storeId, err := dao.StoreDao{}.CreateStore(newStore) if err != nil { return 0, err } if param.StorePhotos != nil { storePhotos := []entity.ProductPhoto{} for _, photo := range param.StorePhotos { storePhoto := entity.ProductPhoto{ PhotoUrl: photo.PhotoUrl, PhotoUid: photo.PhotoUid, Symbol: photo.Symbol, StoreID: storeId, ProductPhotoType: 2, CreatedAt: time.Now(), } storePhotos = append(storePhotos, storePhoto) } err = dao.ProductPhotoDAO{}.CreateProductPhoto(storePhotos) if err != nil { return 0, err } } return storeId, nil }