handle dimension
This commit is contained in:
49
internal/encoding/fbs/Dimensions.go
Normal file
49
internal/encoding/fbs/Dimensions.go
Normal file
@ -0,0 +1,49 @@
|
||||
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
|
||||
|
||||
package fbs
|
||||
|
||||
import (
|
||||
flatbuffers "github.com/google/flatbuffers/go"
|
||||
)
|
||||
|
||||
type Dimensions struct {
|
||||
_tab flatbuffers.Struct
|
||||
}
|
||||
|
||||
func (rcv *Dimensions) Init(buf []byte, i flatbuffers.UOffsetT) {
|
||||
rcv._tab.Bytes = buf
|
||||
rcv._tab.Pos = i
|
||||
}
|
||||
|
||||
func (rcv *Dimensions) Table() flatbuffers.Table {
|
||||
return rcv._tab.Table
|
||||
}
|
||||
|
||||
func (rcv *Dimensions) Width() float32 {
|
||||
return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0))
|
||||
}
|
||||
func (rcv *Dimensions) MutateWidth(n float32) bool {
|
||||
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(0), n)
|
||||
}
|
||||
|
||||
func (rcv *Dimensions) Height() float32 {
|
||||
return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4))
|
||||
}
|
||||
func (rcv *Dimensions) MutateHeight(n float32) bool {
|
||||
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(4), n)
|
||||
}
|
||||
|
||||
func (rcv *Dimensions) Length() float32 {
|
||||
return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8))
|
||||
}
|
||||
func (rcv *Dimensions) MutateLength(n float32) bool {
|
||||
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(8), n)
|
||||
}
|
||||
|
||||
func CreateDimensions(builder *flatbuffers.Builder, width float32, height float32, length float32) flatbuffers.UOffsetT {
|
||||
builder.Prep(4, 12)
|
||||
builder.PrependFloat32(length)
|
||||
builder.PrependFloat32(height)
|
||||
builder.PrependFloat32(width)
|
||||
return builder.Offset()
|
||||
}
|
||||
@ -169,8 +169,21 @@ func (rcv *GoodItem) MutateStock(n int16) bool {
|
||||
return rcv._tab.MutateInt16Slot(28, n)
|
||||
}
|
||||
|
||||
func (rcv *GoodItem) Parameters() []byte {
|
||||
func (rcv *GoodItem) Sizes(obj *Dimensions) *Dimensions {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(30))
|
||||
if o != 0 {
|
||||
x := o + rcv._tab.Pos
|
||||
if obj == nil {
|
||||
obj = new(Dimensions)
|
||||
}
|
||||
obj.Init(rcv._tab.Bytes, x)
|
||||
return obj
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rcv *GoodItem) Parameters() []byte {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(32))
|
||||
if o != 0 {
|
||||
return rcv._tab.ByteVector(o + rcv._tab.Pos)
|
||||
}
|
||||
@ -178,7 +191,7 @@ func (rcv *GoodItem) Parameters() []byte {
|
||||
}
|
||||
|
||||
func (rcv *GoodItem) CreatedAt() int64 {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(32))
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(34))
|
||||
if o != 0 {
|
||||
return rcv._tab.GetInt64(o + rcv._tab.Pos)
|
||||
}
|
||||
@ -186,11 +199,11 @@ func (rcv *GoodItem) CreatedAt() int64 {
|
||||
}
|
||||
|
||||
func (rcv *GoodItem) MutateCreatedAt(n int64) bool {
|
||||
return rcv._tab.MutateInt64Slot(32, n)
|
||||
return rcv._tab.MutateInt64Slot(34, n)
|
||||
}
|
||||
|
||||
func GoodItemStart(builder *flatbuffers.Builder) {
|
||||
builder.StartObject(15)
|
||||
builder.StartObject(16)
|
||||
}
|
||||
func GoodItemAddSku(builder *flatbuffers.Builder, sku flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(sku), 0)
|
||||
@ -231,11 +244,14 @@ func GoodItemAddCart(builder *flatbuffers.Builder, cart int64) {
|
||||
func GoodItemAddStock(builder *flatbuffers.Builder, stock int16) {
|
||||
builder.PrependInt16Slot(12, stock, 0)
|
||||
}
|
||||
func GoodItemAddSizes(builder *flatbuffers.Builder, sizes flatbuffers.UOffsetT) {
|
||||
builder.PrependStructSlot(13, flatbuffers.UOffsetT(sizes), 0)
|
||||
}
|
||||
func GoodItemAddParameters(builder *flatbuffers.Builder, parameters flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(13, flatbuffers.UOffsetT(parameters), 0)
|
||||
builder.PrependUOffsetTSlot(14, flatbuffers.UOffsetT(parameters), 0)
|
||||
}
|
||||
func GoodItemAddCreatedAt(builder *flatbuffers.Builder, createdAt int64) {
|
||||
builder.PrependInt64Slot(14, createdAt, 0)
|
||||
builder.PrependInt64Slot(15, createdAt, 0)
|
||||
}
|
||||
func GoodItemEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
||||
return builder.EndObject()
|
||||
|
||||
@ -82,6 +82,14 @@ func makeDomainGoodItem(builder *flatbuffers.Builder, in entity.GoodsItem) flatb
|
||||
|
||||
producer := builder.CreateString(in.Producer)
|
||||
|
||||
var w, h, l float32
|
||||
if in.Sizes != (entity.GoodsItemSize{}) {
|
||||
w = float32(in.Sizes.Width.AdjustTo(entity.DimensionKindCentimeter).Value)
|
||||
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)
|
||||
GoodItemAddPhoto(builder, photo)
|
||||
@ -98,6 +106,7 @@ 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())
|
||||
|
||||
@ -136,6 +145,17 @@ func ParseGoodsItem(data []byte) (item entity.GoodsItem, err error) {
|
||||
}
|
||||
}
|
||||
|
||||
sizes := itemFBS.Sizes(nil)
|
||||
w := float64(sizes.Width())
|
||||
h := float64(sizes.Height())
|
||||
l := float64(sizes.Length())
|
||||
|
||||
item.Sizes = entity.GoodsItemSize{
|
||||
Width: entity.NewMilimeterDimension(w),
|
||||
Height: entity.NewMilimeterDimension(h),
|
||||
Length: entity.NewMilimeterDimension(l),
|
||||
}
|
||||
|
||||
createdAt := itemFBS.CreatedAt()
|
||||
if createdAt > 0 {
|
||||
item.CreatedAt = time.Unix(createdAt, 0)
|
||||
|
||||
Reference in New Issue
Block a user