fix fbs encoding

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

View File

@ -545,6 +545,8 @@ type chanIter[T any] struct {
next T
}
var errChannelClosed = errors.New("channel closed")
func (i *chanIter[T]) Next() (ok bool) {
if i.err != nil {
return false
@ -552,7 +554,7 @@ func (i *chanIter[T]) Next() (ok bool) {
i.next, ok = <-i.in
if !ok {
i.err = errors.New("channel closed")
i.err = errChannelClosed
}
return ok
@ -563,6 +565,10 @@ func (i *chanIter[T]) Get() T {
}
func (i *chanIter[T]) Err() error {
if errors.Is(i.err, errChannelClosed) {
return nil
}
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)
l = float32(in.Sizes.Length.AdjustTo(entity.DimensionKindCentimeter).Value)
}
sizes := CreateDimensions(builder, w, h, l)
GoodItemStart(builder)
GoodItemAddSku(builder, sku)
@ -106,9 +105,9 @@ func makeDomainGoodItem(builder *flatbuffers.Builder, in entity.GoodsItem) flatb
GoodItemAddTariff(builder, float32(in.TariffPrice))
GoodItemAddCart(builder, int64(in.Cart))
GoodItemAddStock(builder, int16(in.Stock))
GoodItemAddSizes(builder, sizes)
GoodItemAddParameters(builder, parameters)
GoodItemAddCreatedAt(builder, in.CreatedAt.Unix())
GoodItemAddSizes(builder, CreateDimensions(builder, w, h, l))
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)
w := float64(sizes.Width())
h := float64(sizes.Height())
l := float64(sizes.Length())
if sizes != nil {
w = float64(sizes.Width())
h = float64(sizes.Height())
l = float64(sizes.Length())
}
item.Sizes = entity.GoodsItemSize{
Width: entity.NewMilimeterDimension(w),