package model import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" type OutboundLog struct { Id int64 `json:"id"` OutboundId int64 `json:"outboundId"` GoodsId int64 `json:"goodsId"` GoodsName string `json:"goodsName"` Specs string `json:"specs"` Producer string `json:"producer"` BatchNumber string `json:"batchNumber"` Price int32 `json:"price"` Unit pasturePb.Unit_Kind `json:"unit"` UnitName string `json:"unitName"` Quantity int32 `json:"quantity"` CreatedAt int64 `json:"createdAt"` UpdatedAt int64 `json:"updatedAt"` } func (o *OutboundLog) TableName() string { return "outband_log" } func NewOutboundLogList(req []*pasturePb.OutboundApplyGoodsItem, unitMap map[pasturePb.Unit_Kind]string) []*OutboundLog { res := make([]*OutboundLog, 0) for _, v := range req { unitName := "" if unit, ok := unitMap[v.Unit]; ok { unitName = unit } res = append(res, &OutboundLog{ GoodsId: int64(v.GoodsId), GoodsName: v.GoodsName, Specs: v.Specs, Producer: v.Producer, BatchNumber: v.BatchNumber, Price: int32(v.Price * 100), Unit: v.Unit, UnitName: unitName, Quantity: int32(v.Quantity), }) } return res } type OutboundLogSlice []*OutboundLog func (o OutboundLogSlice) ToPB() []*pasturePb.OutboundApplyGoodsItem { res := make([]*pasturePb.OutboundApplyGoodsItem, len(o)) for i, v := range o { res[i] = &pasturePb.OutboundApplyGoodsItem{ GoodsId: int32(v.GoodsId), GoodsName: v.GoodsName, Specs: v.Specs, Producer: v.Producer, BatchNumber: v.BatchNumber, Price: float32(v.Price) / 100, Unit: v.Unit, Quantity: uint32(v.Quantity), } } return res }