package model import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" type MedicalEquipment struct { Id int64 `json:"id"` Name string `json:"name"` Producer string `json:"producer"` BatchNumber string `json:"batch_number"` Unit pasturePb.Unit_Kind `json:"unit"` Specs string `json:"specs"` Inventory int32 `json:"inventory"` Price int32 `json:"price"` Remarks string `json:"remarks"` OperationId int32 `json:"operation_id"` OperationName string `json:"operation_name"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } func (m *MedicalEquipment) TableName() string { return "medical_equipment" } func NewMedicalEquipment(req *pasturePb.SearchMedicalEquipmentList, currentUser *SystemUser) *MedicalEquipment { return &MedicalEquipment{ Name: req.Name, Producer: req.Producer, BatchNumber: req.BatchNumber, Unit: req.Unit, Specs: req.Specs, Inventory: req.Inventory, Price: int32(req.Price * 100), Remarks: req.Remarks, OperationId: int32(currentUser.Id), OperationName: currentUser.Name, } } type MedicalEquipmentSlice []*MedicalEquipment func (m MedicalEquipmentSlice) ToPB(unitMap map[pasturePb.Unit_Kind]string) []*pasturePb.SearchMedicalEquipmentList { res := make([]*pasturePb.SearchMedicalEquipmentList, len(m)) for i, v := range m { res[i] = &pasturePb.SearchMedicalEquipmentList{ Id: int32(v.Id), Name: v.Name, Producer: v.Producer, BatchNumber: v.BatchNumber, Unit: v.Unit, UnitName: unitMap[v.Unit], Specs: v.Specs, Inventory: v.Inventory, Price: float32(v.Price) / 100, Remarks: v.Remarks, OperationId: v.OperationId, OperationName: v.OperationName, CreatedAt: int32(v.CreatedAt), UpdatedAt: int32(v.UpdatedAt), } } return res }