1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package backend
- import (
- "context"
- "kpt-pasture/model"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- "gitee.com/xuyiping_admin/pkg/xerr"
- )
- type EventCheckModel struct {
- CowList []*model.Cow
- CurrentUser *model.SystemUser
- OperationUser *model.SystemUser
- }
- func (s *StoreEntry) MatingCreateCheck(ctx context.Context, req *pasturePb.EventMating) (*EventCheckModel, error) {
- if len(req.CowIds) <= 0 {
- return nil, xerr.Custom("请选择相关牛只")
- }
- cowList, err := s.ParseCowIds(ctx, req.CowIds)
- if err != nil {
- return nil, xerr.WithStack(err)
- }
- operationUser, err := s.GetSystemUserById(ctx, int64(req.OperationId))
- if err != nil {
- return nil, xerr.WithStack(err)
- }
- currentUser, err := s.GetCurrentSystemUser(ctx)
- if err != nil {
- return nil, xerr.Customf("获取当前用户失败: %s", err.Error())
- }
- for _, cow := range cowList {
- if cow.Sex != pasturePb.Genders_Female {
- return nil, xerr.Customf("牛只: %d,不是母牛", cow.Id)
- }
- }
- return &EventCheckModel{
- CowList: cowList,
- CurrentUser: currentUser,
- OperationUser: operationUser,
- }, nil
- }
|