outbound_log.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package model
  2. import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  3. type OutboundLog struct {
  4. Id int64 `json:"id"`
  5. OutboundId int64 `json:"outboundId"`
  6. GoodsId int64 `json:"goodsId"`
  7. GoodsName string `json:"goodsName"`
  8. Specs string `json:"specs"`
  9. Producer string `json:"producer"`
  10. BatchNumber string `json:"batchNumber"`
  11. Price int32 `json:"price"`
  12. Unit pasturePb.Unit_Kind `json:"unit"`
  13. UnitName string `json:"unitName"`
  14. Quantity int32 `json:"quantity"`
  15. CreatedAt int64 `json:"createdAt"`
  16. UpdatedAt int64 `json:"updatedAt"`
  17. }
  18. func (o *OutboundLog) TableName() string {
  19. return "outbound_log"
  20. }
  21. func NewOutboundLogList(outboundId int64, req []*pasturePb.OutboundApplyGoodsItem, unitMap map[pasturePb.Unit_Kind]string) []*OutboundLog {
  22. res := make([]*OutboundLog, 0)
  23. for _, v := range req {
  24. unitName := ""
  25. if unit, ok := unitMap[v.Unit]; ok {
  26. unitName = unit
  27. }
  28. res = append(res, &OutboundLog{
  29. OutboundId: outboundId,
  30. GoodsId: int64(v.GoodsId),
  31. GoodsName: v.GoodsName,
  32. Specs: v.Specs,
  33. Producer: v.Producer,
  34. BatchNumber: v.BatchNumber,
  35. Price: int32(v.Price * 100),
  36. Unit: v.Unit,
  37. UnitName: unitName,
  38. Quantity: int32(v.Quantity),
  39. })
  40. }
  41. return res
  42. }
  43. type OutboundLogSlice []*OutboundLog
  44. func (o OutboundLogSlice) ToPB() []*pasturePb.OutboundApplyGoodsItem {
  45. res := make([]*pasturePb.OutboundApplyGoodsItem, len(o))
  46. for i, v := range o {
  47. res[i] = &pasturePb.OutboundApplyGoodsItem{
  48. GoodsId: int32(v.GoodsId),
  49. GoodsName: v.GoodsName,
  50. Specs: v.Specs,
  51. Producer: v.Producer,
  52. BatchNumber: v.BatchNumber,
  53. Price: float32(v.Price) / 100,
  54. Unit: v.Unit,
  55. Quantity: uint32(v.Quantity),
  56. }
  57. }
  58. return res
  59. }