prescription_drugs.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package model
  2. import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  3. type PrescriptionDrugs struct {
  4. Id int32 `json:"id"`
  5. PastureId int64 `json:"pasture_id"`
  6. PrescriptionId int32 `json:"prescription_id"`
  7. DrugsId int64 `json:"drugs_id"`
  8. DrugsName string `json:"drugs_name"`
  9. UseDays int32 `json:"use_days"`
  10. Dosages float32 `json:"dosages"`
  11. Unit pasturePb.Unit_Kind `json:"unit"`
  12. UnitName string `json:"unit_name"`
  13. Specs string `json:"specs"`
  14. IsShow pasturePb.IsShow_Kind `json:"is_show"`
  15. CreatedAt int64 `json:"created_at"`
  16. UpdatedAt int64 `json:"updated_at"`
  17. }
  18. func (p *PrescriptionDrugs) TableName() string {
  19. return "prescription_drugs"
  20. }
  21. func NewPrescriptionDrugs(pastureId int64, prescriptionId int32, list []*pasturePb.PrescriptionDrugsList) []*PrescriptionDrugs {
  22. res := make([]*PrescriptionDrugs, len(list))
  23. for i, v := range list {
  24. res[i] = &PrescriptionDrugs{
  25. PastureId: pastureId,
  26. PrescriptionId: prescriptionId,
  27. DrugsId: int64(v.DrugsId),
  28. DrugsName: v.DrugsName,
  29. UseDays: v.UseDays,
  30. Dosages: v.Dosages,
  31. Unit: v.Unit,
  32. UnitName: v.UnitName,
  33. Specs: v.Specs,
  34. IsShow: pasturePb.IsShow_Ok,
  35. }
  36. }
  37. return res
  38. }
  39. type PrescriptionDrugsSlice []*PrescriptionDrugs
  40. func (p PrescriptionDrugsSlice) ToPB() []*pasturePb.PrescriptionDrugsList {
  41. res := make([]*pasturePb.PrescriptionDrugsList, len(p))
  42. for i, v := range p {
  43. res[i] = &pasturePb.PrescriptionDrugsList{
  44. DrugsId: int32(v.DrugsId),
  45. DrugsName: v.DrugsName,
  46. UseDays: v.UseDays,
  47. Dosages: v.Dosages,
  48. Unit: v.Unit,
  49. UnitName: v.UnitName,
  50. Specs: v.Specs,
  51. }
  52. }
  53. return res
  54. }