Files

35 lines
1.1 KiB
Go

package handler
import (
"net/http"
"silk-server-go/internal/middleware"
"silk-server-go/internal/service"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
// RegisterDetectionMethodRoutes 注册检测方式推荐路由
func RegisterDetectionMethodRoutes(rg *gin.RouterGroup, db *gorm.DB) {
rg.GET("/detection-methods/recommend",
middleware.RequirePermission(db, "lamp:read"),
recommendDetectionMethod())
}
// recommendDetectionMethod 按设备/紧急/操作者/成本偏好推荐检测方式(纯计算)
func recommendDetectionMethod() gin.HandlerFunc {
return func(c *gin.Context) {
in := service.DetectionRecommendInput{
HasLamp: c.Query("hasLamp") == "true",
HasSers: c.Query("hasSers") == "true",
HasQPCR: c.Query("hasQpcr") == "true",
HasHyperspectral: c.Query("hasHyperspectral") == "true",
Urgency: c.DefaultQuery("urgency", "routine"),
OperatorLevel: c.DefaultQuery("operatorLevel", "expert"),
CostPreference: c.DefaultQuery("costPreference", "balanced"),
}
c.JSON(http.StatusOK, service.RecommendMethod(in))
}
}