feat: 建立统一检测任务、样本链与发病事件
This commit is contained in:
@@ -183,7 +183,38 @@ func createInspection(db *gorm.DB, s3 *service.S3Service, ai *service.AIClient,
|
||||
AggregateID: rec.ID,
|
||||
Payload: payload,
|
||||
}
|
||||
return outbox.PublishTx(tx, event)
|
||||
if err := outbox.PublishTx(tx, event); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
if rec.IsMock != nil && !*rec.IsMock && (*rec.RiskLevel == "orange" || *rec.RiskLevel == "red") {
|
||||
priority := "routine"
|
||||
if *rec.RiskLevel == "red" {
|
||||
priority = "urgent"
|
||||
}
|
||||
roomID := ""
|
||||
if rec.RoomID != nil {
|
||||
roomID = *rec.RoomID
|
||||
}
|
||||
payload, _ := json.Marshal(service.DetectionTaskCreatePayload{
|
||||
SourceKey: "inspection-" + rec.ID,
|
||||
SourceType: "inspection",
|
||||
SourceID: rec.ID,
|
||||
RoomID: roomID,
|
||||
InspectionID: rec.ID,
|
||||
Disease: "待确认",
|
||||
Priority: priority,
|
||||
})
|
||||
event := service.Event{
|
||||
ID: "detection-task-" + rec.ID,
|
||||
Type: service.OutboxEventDetectionTaskCreate,
|
||||
AggregateType: "inspection",
|
||||
AggregateID: rec.ID,
|
||||
Payload: payload,
|
||||
}
|
||||
if err := outbox.PublishTx(tx, event); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user