outbound_log.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 "outband_log"
  20. }
  21. func NewOutboundLogList(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. GoodsId: int64(v.GoodsId),
  30. GoodsName: v.GoodsName,
  31. Specs: v.Specs,
  32. Producer: v.Producer,
  33. BatchNumber: v.BatchNumber,
  34. Price: int32(v.Price * 100),
  35. Unit: v.Unit,
  36. UnitName: unitName,
  37. Quantity: int32(v.Quantity),
  38. })
  39. }
  40. return res
  41. }
  42. type OutboundLogSlice []*OutboundLog
  43. func (o OutboundLogSlice) ToPB() []*pasturePb.OutboundApplyGoodsItem {
  44. res := make([]*pasturePb.OutboundApplyGoodsItem, len(o))
  45. for i, v := range o {
  46. res[i] = &pasturePb.OutboundApplyGoodsItem{
  47. GoodsId: int32(v.GoodsId),
  48. GoodsName: v.GoodsName,
  49. Specs: v.Specs,
  50. Producer: v.Producer,
  51. BatchNumber: v.BatchNumber,
  52. Price: float32(v.Price) / 100,
  53. Unit: v.Unit,
  54. Quantity: uint32(v.Quantity),
  55. }
  56. }
  57. return res
  58. }