Răsfoiți Sursa

es查询修改

renjiaojiao 3 ani în urmă
părinte
comite
0b593a601d

+ 28 - 0
api/knowledge/internal/handler/findanswerhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"github.com/zeromicro/go-zero/rest/httpx"
+	"net/http"
+
+	"knowledgeBase/api/knowledge/internal/logic"
+	"knowledgeBase/api/knowledge/internal/svc"
+	"knowledgeBase/api/knowledge/internal/types"
+)
+
+func findAnswerHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.FindAnswerReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewFindAnswerLogic(r.Context(), ctx)
+		resp, err := l.FindAnswer(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/knowledge/internal/handler/recommendanswerhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"github.com/zeromicro/go-zero/rest/httpx"
+	"net/http"
+
+	"knowledgeBase/api/knowledge/internal/logic"
+	"knowledgeBase/api/knowledge/internal/svc"
+	"knowledgeBase/api/knowledge/internal/types"
+)
+
+func recommendAnswerHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.FindAnswerReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewRecommendAnswerLogic(r.Context(), ctx)
+		resp, err := l.RecommendAnswer(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 42 - 0
api/knowledge/internal/logic/findanswerlogic.go

@@ -0,0 +1,42 @@
+package logic
+
+import (
+	"context"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+
+	"knowledgeBase/api/knowledge/internal/svc"
+	"knowledgeBase/api/knowledge/internal/types"
+)
+
+type FindAnswerLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewFindAnswerLogic(ctx context.Context, svcCtx *svc.ServiceContext) FindAnswerLogic {
+	return FindAnswerLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *FindAnswerLogic) FindAnswer(req types.FindAnswerReq) (*types.CommonRes, error) {
+	// todo: add your logic here and delete this line
+	resp, err := l.svcCtx.Knowledge.FindAnswer(l.ctx, &knowledgeclient.FindAnswerReq{
+		AppId:    req.AppId,
+		Type:     req.Type,
+		TenantId: req.TenantId,
+		Question: req.Question,
+	})
+	if err != nil {
+		return nil, err
+	}
+	return &types.CommonRes{
+		Error_code: int(resp.ErrorCode),
+		Error_msg:  resp.ErrorMsg,
+		Data:       resp.Data,
+	}, nil
+}

+ 42 - 0
api/knowledge/internal/logic/recommendanswerlogic.go

@@ -0,0 +1,42 @@
+package logic
+
+import (
+	"context"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+
+	"knowledgeBase/api/knowledge/internal/svc"
+	"knowledgeBase/api/knowledge/internal/types"
+)
+
+type RecommendAnswerLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewRecommendAnswerLogic(ctx context.Context, svcCtx *svc.ServiceContext) RecommendAnswerLogic {
+	return RecommendAnswerLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *RecommendAnswerLogic) RecommendAnswer(req types.FindAnswerReq) (*types.CommonRes, error) {
+	// todo: add your logic here and delete this line
+	resp, err := l.svcCtx.Knowledge.RecommendAnswer(l.ctx, &knowledgeclient.FindAnswerReq{
+		AppId:    req.AppId,
+		Type:     req.Type,
+		TenantId: req.TenantId,
+		Question: req.Question,
+	})
+	if err != nil {
+		return nil, err
+	}
+	return &types.CommonRes{
+		Error_code: int(resp.ErrorCode),
+		Error_msg:  resp.ErrorMsg,
+		Data:       resp.Data,
+	}, nil
+}