浏览代码

添加知识

WH01243 3 年之前
父节点
当前提交
d75fd189a1

+ 75 - 0
rpc/knowledge/internal/logic/knowledgeaddlogic.go

@@ -0,0 +1,75 @@
+package logic
+
+import (
+	"context"
+	"database/sql"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/init"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+	"time"
+
+	"knowledgeBase/rpc/knowledge/internal/svc"
+	"log"
+)
+
+type KnowledgeAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewKnowledgeAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeAddLogic {
+	return &KnowledgeAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+type Question struct {
+	Question string `json:"question"`
+	KeyWords string `json:"keyWords"`
+}
+
+// 知识新增
+func (l *KnowledgeAddLogic) KnowledgeAdd(in *knowledgeclient.AddRequest) (*knowledgeclient.AddResponse, bool) {
+	// todo: add your logic here and delete this line
+	result := &knowledgeclient.AddResponse{}
+	//先查找知识库Id
+	query := map[string]interface{}{"state": 1, "appid": in.AppId, "tenant_id": in.TenantId}
+	datalist := init.Mysql.Find(init.KNOWLEDGE, query, "id", "", -1, -1)
+	if datalist != nil && *datalist != nil && len(*datalist) > 0 {
+		return result, init.Mysql.ExecTx("创建其他订单生成订单信息和合同信息", func(tx *sql.Tx) bool {
+			//插入答案
+			answerData := map[string]interface{}{
+				"knowledge_id":  (*datalist)[0]["id"],
+				"status":        1,
+				"create_time":   time.Now().Local().Format(init.Date_Full_Layout),
+				"update_time":   time.Now().Local().Format(init.Date_Full_Layout),
+				"create_person": in.Person,
+				"content":       in.Answer,
+			}
+			answer_id := init.Mysql.Insert(init.ANSWER, answerData)
+			if answer_id <= 0 {
+				return false
+			}
+			//插入问题
+			questionData := map[string]interface{}{
+				"answer_id": answer_id,
+				"content":   1,
+				"keywords":  "",
+			}
+			question_id := init.Mysql.Insert(init.QUESTION, questionData)
+			if question_id <= 0 {
+				return false
+			}
+			return true
+		})
+
+	} else {
+		log.Println("租户不存在")
+		result.ErrorCode = -1
+		result.ErrorMsg = "租户不存在"
+	}
+	return result, true
+}

+ 30 - 0
rpc/knowledge/internal/logic/knowledgeditlogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+
+	"knowledgeBase/rpc/knowledge/internal/svc"
+)
+
+type KnowledgEditLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewKnowledgEditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgEditLogic {
+	return &KnowledgEditLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 知识编辑
+func (l *KnowledgEditLogic) KnowledgEdit(in *knowledgeclient.Knowledge) (*knowledgeclient.AddResponse, error) {
+	// todo: add your logic here and delete this line
+
+	return &knowledgeclient.AddResponse{}, nil
+}

+ 30 - 0
rpc/knowledge/internal/logic/knowledgeinfologic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+
+	"knowledgeBase/rpc/knowledge/internal/svc"
+)
+
+type KnowledgeInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewKnowledgeInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeInfoLogic {
+	return &KnowledgeInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 知识详情
+func (l *KnowledgeInfoLogic) KnowledgeInfo(in *knowledgeclient.Knowledge) (*knowledgeclient.InfoResponse, error) {
+	// todo: add your logic here and delete this line
+
+	return &knowledgeclient.InfoResponse{}, nil
+}

+ 30 - 0
rpc/knowledge/internal/logic/knowledgelistlogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+
+	"knowledgeBase/rpc/knowledge/internal/svc"
+)
+
+type KnowledgeListLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewKnowledgeListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeListLogic {
+	return &KnowledgeListLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 知识列表
+func (l *KnowledgeListLogic) KnowledgeList(in *knowledgeclient.ListRequest) (*knowledgeclient.ListResponse, error) {
+	// todo: add your logic here and delete this line
+
+	return &knowledgeclient.ListResponse{}, nil
+}

+ 68 - 0
rpc/knowledge/knowledge/knowledge.go

@@ -0,0 +1,68 @@
+// Code generated by goctl. DO NOT EDIT!
+// Source: knowledge.proto
+
+//go:generate mockgen -destination ./knowledge_mock.go -package knowledge -source $GOFILE
+
+package knowledge
+
+import (
+	"context"
+
+	"knowledgeBase/rpc/knowledge/knowledge"
+
+	"github.com/tal-tech/go-zero/zrpc"
+)
+
+type (
+	AddRequest      = knowledge.AddRequest
+	AddResponse     = knowledge.AddResponse
+	ListRequest     = knowledge.ListRequest
+	ListResponse    = knowledge.ListResponse
+	KnowledgeEntity = knowledge.KnowledgeEntity
+	InfoResponse    = knowledge.InfoResponse
+
+	Knowledge interface {
+		// 知识新增
+		KnowledgeAdd(ctx context.Context, in *AddRequest) (*AddResponse, error)
+		// 知识列表
+		KnowledgeList(ctx context.Context, in *ListRequest) (*ListResponse, error)
+		// 知识编辑
+		KnowledgEdit(ctx context.Context, in *KnowledgeEntity) (*AddResponse, error)
+		// 知识详情
+		KnowledgeInfo(ctx context.Context, in *KnowledgeEntity) (*InfoResponse, error)
+	}
+
+	defaultKnowledge struct {
+		cli zrpc.Client
+	}
+)
+
+func NewKnowledge(cli zrpc.Client) Knowledge {
+	return &defaultKnowledge{
+		cli: cli,
+	}
+}
+
+// 知识新增
+func (m *defaultKnowledge) KnowledgeAdd(ctx context.Context, in *AddRequest) (*AddResponse, error) {
+	client := knowledge.NewKnowledgeClient(m.cli.Conn())
+	return client.KnowledgeAdd(ctx, in)
+}
+
+// 知识列表
+func (m *defaultKnowledge) KnowledgeList(ctx context.Context, in *ListRequest) (*ListResponse, error) {
+	client := knowledge.NewKnowledgeClient(m.cli.Conn())
+	return client.KnowledgeList(ctx, in)
+}
+
+// 知识编辑
+func (m *defaultKnowledge) KnowledgEdit(ctx context.Context, in *KnowledgeEntity) (*AddResponse, error) {
+	client := knowledge.NewKnowledgeClient(m.cli.Conn())
+	return client.KnowledgEdit(ctx, in)
+}
+
+// 知识详情
+func (m *defaultKnowledge) KnowledgeInfo(ctx context.Context, in *KnowledgeEntity) (*InfoResponse, error) {
+	client := knowledge.NewKnowledgeClient(m.cli.Conn())
+	return client.KnowledgeInfo(ctx, in)
+}