Parcourir la source

fix: RFID出场接入收费流程——改用ExitConfirm创建payment_record

lq il y a 1 mois
Parent
commit
afba1273b1
1 fichiers modifiés avec 13 ajouts et 11 suppressions
  1. 13 11
      internal/service/parking/passage.go

+ 13 - 11
internal/service/parking/passage.go

@@ -144,7 +144,7 @@ func (s *PassageService) handleEntry(req common.PassageRequest, identifier strin
 	}, nil
 }
 
-// handleExit 处理出场
+// handleExit 处理出场(使用新的收费流程 ExitConfirm)
 func (s *PassageService) handleExit(req common.PassageRequest, identifier string) (*common.PassageResult, error) {
 	fmt.Printf("🔴 出口开闸 | 设备:%s 车牌:%s RFID:%s\n", req.DeviceCode, req.PlateNumber, req.RFIDTag)
 
@@ -155,13 +155,15 @@ func (s *PassageService) handleExit(req common.PassageRequest, identifier string
 		}
 	}
 
-	// 执行出场
+	// 执行出场(RFID自动出场统一走免密,无人工收费)
 	vehicleSvc := &vehicle.VehicleService{}
-	resp, err := vehicleSvc.VehicleExit(request.VehicleExit{
-		PlateNumber: req.PlateNumber,
-		RFIDTag:     req.RFIDTag,
-		ExitImage:   req.Image,
-	})
+	confirmReq := request.ExitConfirmRequest{
+		PlateNumber:   req.PlateNumber,
+		RFIDTag:       req.RFIDTag,
+		PaymentMethod: "free",
+		PaidAmount:    0,
+	}
+	resp, err := vehicleSvc.ExitConfirm(confirmReq, 0)
 	if err != nil {
 		return nil, err
 	}
@@ -176,10 +178,10 @@ func (s *PassageService) handleExit(req common.PassageRequest, identifier string
 		Direction:   "out",
 		PlateNumber: req.PlateNumber,
 		RFIDTag:     req.RFIDTag,
-		Fee:         resp.Data.Fee,
-		StayTime:    resp.Data.StayTime,
-		EntryTime:   resp.Data.EntryTime,
-		ExitTime:    resp.Data.ExitTime,
+		Fee:         resp.Fee,
+		StayTime:    resp.StayTime,
+		EntryTime:   resp.EntryTime,
+		ExitTime:    resp.ExitTime,
 	}, nil
 }