| 1234567891011121314151617181920212223242526272829303132333435 | 
							- package backend
 
- import (
 
- 	"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
 
- }
 
 
  |