| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | package modelimport pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"type Drugs struct {	Id              int64                       `json:"id"`	PastureId       int64                       `json:"pastureId"`	Name            string                      `json:"name"`	CategoryId      pasturePb.DrugCategory_Kind `json:"categoryId"`	CategoryName    string                      `json:"categoryName"`	Producer        string                      `json:"producer"`	BatchNumber     string                      `json:"batchNumber"`	ProductionAt    int64                       `json:"productionAt"`	ExpirationAt    int64                       `json:"expirationAt"`	Unit            pasturePb.Unit_Kind         `json:"unit"`	UnitName        string                      `json:"unitName"`	Specs           string                      `json:"specs"`	Inventory       int32                       `json:"inventory"`	UsageMethod     pasturePb.DrugUsage_Kind    `json:"usage_method"`	UsageMethodName string                      `json:"usageMethodName"`	Price           int32                       `json:"price"`	MilkExpiredDays int32                       `json:"milk_expired_days"`	MeatExpiredDays int32                       `json:"meat_expired_days"`	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 (d *Drugs) TableName() string {	return "drugs"}func NewDrugs(pastureId int64, req *pasturePb.SearchDrugsList, currentUser *SystemUser) *Drugs {	return &Drugs{		PastureId:       pastureId,		Name:            req.Name,		CategoryId:      req.CategoryId,		CategoryName:    req.CategoryName,		Producer:        req.Producer,		BatchNumber:     req.BatchNumber,		ProductionAt:    int64(req.ProductionAt),		ExpirationAt:    int64(req.ExpirationAt),		Unit:            req.Unit,		UnitName:        req.UnitName,		Specs:           req.Specs,		Inventory:       req.Inventory,		UsageMethod:     req.Usage,		UsageMethodName: req.UsageName,		Price:           int32(req.Price * 100),		Remarks:         req.Remarks,		OperationId:     int32(currentUser.Id),		OperationName:   currentUser.Name,	}}type DrugsSlice []*Drugsfunc (d DrugsSlice) ToPB() []*pasturePb.SearchDrugsList {	res := make([]*pasturePb.SearchDrugsList, len(d))	for i, v := range d {		res[i] = &pasturePb.SearchDrugsList{			Id:              int32(v.Id),			Name:            v.Name,			CategoryId:      v.CategoryId,			CategoryName:    v.CategoryName,			Producer:        v.Producer,			BatchNumber:     v.BatchNumber,			ProductionAt:    int32(v.ProductionAt),			ExpirationAt:    int32(v.ExpirationAt),			Unit:            v.Unit,			UnitName:        v.UnitName,			Specs:           v.Specs,			Inventory:       v.Inventory,			Usage:           v.UsageMethod,			UsageName:       v.UsageMethodName,			Price:           float32(v.Price) / 100,			MeatExpiredDays: v.MeatExpiredDays,			MilkExpiredDays: v.MilkExpiredDays,			Remarks:         v.Remarks,			OperationId:     v.OperationId,			OperationName:   v.OperationName,			CreatedAt:       int32(v.CreatedAt),			UpdatedAt:       int32(v.UpdatedAt),		}	}	return res}
 |