feat: 多检测方式推荐引擎(#20,设备/紧急/操作者/成本偏好)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
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))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user