| 123456789101112131415161718192021222324252627282930313233343536 | package backendimport (	"context"	"kpt-pasture/model"	"net/http"	"gitee.com/xuyiping_admin/pkg/xerr"	pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow")func (s *StoreEntry) Bar(ctx context.Context) (*pasturePb.BarCowStructResponse, error) {	barCowStructList := make([]*model.BarCowStruct, 0)	var count int32 = 0	if err := s.DB.Model(new(model.Cow)).		Select("COUNT(*) AS number ,cow_type").		Where("admission_status = ?", pasturePb.AdmissionStatus_Admission).		Group("cow_type").		Find(&barCowStructList).Error; err != nil {		return nil, xerr.WithStack(err)	}	cowTypeMap := s.CowTypeMap()	for _, v := range barCowStructList {		count += v.Number	}	return &pasturePb.BarCowStructResponse{		Code:    http.StatusOK,		Message: "ok",		Data: &pasturePb.BarCowStructData{			List:  model.BarCowStructSlice(barCowStructList).ToPB(cowTypeMap, count),			Total: 38563,		},	}, nil}
 |