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 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),