feat: 建立统一检测任务、样本链与发病事件

This commit is contained in:
weijuesen
2026-08-14 03:31:02 +08:00
parent a25bc7abc6
commit cc93c9a053
26 changed files with 1716 additions and 32 deletions
+5 -3
View File
@@ -130,6 +130,7 @@ func createTraceRecord(db *gorm.DB) gin.HandlerFunc {
return func(c *gin.Context) {
var body struct {
RoomID *string `json:"roomId"`
DiseaseEventID *string `json:"diseaseEventId"`
LampTestID *string `json:"lampTestId"`
ConsultationID *string `json:"consultationId"`
Disease string `json:"disease"`
@@ -138,7 +139,7 @@ func createTraceRecord(db *gorm.DB) gin.HandlerFunc {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
for _, id := range []*string{body.RoomID, body.LampTestID, body.ConsultationID} {
for _, id := range []*string{body.RoomID, body.DiseaseEventID, body.LampTestID, body.ConsultationID} {
if id != nil && *id != "" && !isUUID(*id) {
c.JSON(http.StatusBadRequest, gin.H{"error": "关联 ID 不是合法的 UUID"})
return
@@ -149,7 +150,8 @@ func createTraceRecord(db *gorm.DB) gin.HandlerFunc {
return
}
rec := model.TraceRecord{
RoomID: body.RoomID, LampTestID: body.LampTestID,
RoomID: body.RoomID, DiseaseEventID: body.DiseaseEventID,
LampTestID: body.LampTestID,
ConsultationID: body.ConsultationID, Disease: body.Disease, Status: "pending",
}
if err := db.Create(&rec).Error; err != nil {
@@ -204,7 +206,7 @@ func autoTrace(db *gorm.DB) gin.HandlerFunc {
return
}
report := map[string]interface{}{
"disease": t.Disease,
"disease": t.Disease,
"generatedAt": time.Now(),
}
origin := "unknown"