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
- }
|