Browse Source

test: RNP-223

Yi 3 days ago
parent
commit
77669da837
2 changed files with 14 additions and 4 deletions
  1. 4 2
      module/backend/event_base.go
  2. 10 2
      module/backend/event_check.go

+ 4 - 2
module/backend/event_base.go

@@ -89,7 +89,7 @@ func (s *StoreEntry) CreateEnter(ctx context.Context, req *pasturePb.EventEnterR
 		return xerr.WithStack(err)
 	}
 
-	if err = s.EnterCheck(ctx, req); err != nil {
+	if err = s.EnterCheck(ctx, userModel.AppPasture.Id, req); err != nil {
 		return xerr.WithStack(err)
 	}
 
@@ -246,13 +246,15 @@ func (s *StoreEntry) CreateGroupTransfer(ctx context.Context, req *pasturePb.Tra
 			if cow.PenId == v.TransferInPenId {
 				return xerr.Custom("转入栏舍和牛只当前栏舍不能一致")
 			}
+
 			operationUser, err := s.GetSystemUserById(ctx, int64(v.OperationId))
 			if err != nil {
 				return xerr.WithStack(err)
 			}
 
 			newEventTransferGroup := model.NewEventTransferGroup(userModel.AppPasture.Id, cow, v, transferReasonMap, userModel.SystemUser, operationUser)
-			if err = tx.Model(new(model.EventTransferGroup)).Create(newEventTransferGroup).Error; err != nil {
+			if err = tx.Model(new(model.EventTransferGroup)).
+				Create(newEventTransferGroup).Error; err != nil {
 				return xerr.WithStack(err)
 			}
 

+ 10 - 2
module/backend/event_check.go

@@ -43,14 +43,22 @@ type AbortionCheckBatchModel struct {
 	IsLact        pasturePb.IsShow_Kind
 }
 
-func (s *StoreEntry) EnterCheck(ctx context.Context, req *pasturePb.EventEnterRequest) error {
+func (s *StoreEntry) EnterCheck(ctx context.Context, pastureId int64, req *pasturePb.EventEnterRequest) error {
 	var count int64
-	if err := s.DB.Model(new(model.Cow)).Where("ear_number = ?", req.EarNumber).Count(&count).Error; err != nil {
+	if err := s.DB.Model(new(model.Cow)).
+		Where("ear_number = ?", req.EarNumber).
+		Where("pasture_id = ?", pastureId).
+		Count(&count).Error; err != nil {
 		return xerr.WithStack(err)
 	}
 	if count > 0 {
 		return xerr.Custom("该牛只已存在")
 	}
+
+	if req.BirthAt > req.EnterAt {
+		return xerr.Custom("出生时间不能大于入场时间")
+	}
+
 	return nil
 }