fix fbs encoding

This commit is contained in:
Aleksandr Trushkin
2024-02-11 20:13:23 +03:00
parent a94cbe6710
commit 23a4f007fc
2 changed files with 14 additions and 6 deletions

View File

@ -545,6 +545,8 @@ type chanIter[T any] struct {
next T next T
} }
var errChannelClosed = errors.New("channel closed")
func (i *chanIter[T]) Next() (ok bool) { func (i *chanIter[T]) Next() (ok bool) {
if i.err != nil { if i.err != nil {
return false return false
@ -552,7 +554,7 @@ func (i *chanIter[T]) Next() (ok bool) {
i.next, ok = <-i.in i.next, ok = <-i.in
if !ok { if !ok {
i.err = errors.New("channel closed") i.err = errChannelClosed
} }
return ok return ok
@ -563,6 +565,10 @@ func (i *chanIter[T]) Get() T {
} }
func (i *chanIter[T]) Err() error { func (i *chanIter[T]) Err() error {
if errors.Is(i.err, errChannelClosed) {
return nil
}
return i.err return i.err
} }

View File

@ -88,7 +88,6 @@ func makeDomainGoodItem(builder *flatbuffers.Builder, in entity.GoodsItem) flatb
h = float32(in.Sizes.Height.AdjustTo(entity.DimensionKindCentimeter).Value) h = float32(in.Sizes.Height.AdjustTo(entity.DimensionKindCentimeter).Value)
l = float32(in.Sizes.Length.AdjustTo(entity.DimensionKindCentimeter).Value) l = float32(in.Sizes.Length.AdjustTo(entity.DimensionKindCentimeter).Value)
} }
sizes := CreateDimensions(builder, w, h, l)
GoodItemStart(builder) GoodItemStart(builder)
GoodItemAddSku(builder, sku) GoodItemAddSku(builder, sku)
@ -106,9 +105,9 @@ func makeDomainGoodItem(builder *flatbuffers.Builder, in entity.GoodsItem) flatb
GoodItemAddTariff(builder, float32(in.TariffPrice)) GoodItemAddTariff(builder, float32(in.TariffPrice))
GoodItemAddCart(builder, int64(in.Cart)) GoodItemAddCart(builder, int64(in.Cart))
GoodItemAddStock(builder, int16(in.Stock)) GoodItemAddStock(builder, int16(in.Stock))
GoodItemAddSizes(builder, sizes)
GoodItemAddParameters(builder, parameters) GoodItemAddParameters(builder, parameters)
GoodItemAddCreatedAt(builder, in.CreatedAt.Unix()) GoodItemAddCreatedAt(builder, in.CreatedAt.Unix())
GoodItemAddSizes(builder, CreateDimensions(builder, w, h, l))
return GoodItemEnd(builder) return GoodItemEnd(builder)
} }
@ -145,10 +144,13 @@ func ParseGoodsItem(data []byte) (item entity.GoodsItem, err error) {
} }
} }
var w, h, l float64
sizes := itemFBS.Sizes(nil) sizes := itemFBS.Sizes(nil)
w := float64(sizes.Width()) if sizes != nil {
h := float64(sizes.Height()) w = float64(sizes.Width())
l := float64(sizes.Length()) h = float64(sizes.Height())
l = float64(sizes.Length())
}
item.Sizes = entity.GoodsItemSize{ item.Sizes = entity.GoodsItemSize{
Width: entity.NewMilimeterDimension(w), Width: entity.NewMilimeterDimension(w),