Browse Source

增加service层

renjiaojiao 3 years ago
parent
commit
250fbf6f4d
39 changed files with 381 additions and 122 deletions
  1. 25 0
      Makefile
  2. 2 2
      api/knowledge/common/initconfig.go
  3. 3 3
      api/knowledge/internal/handler/findanswerhandler.go
  4. 3 3
      api/knowledge/internal/handler/knowledgeaddhandler.go
  5. 3 3
      api/knowledge/internal/handler/knowledgedelhandler.go
  6. 3 3
      api/knowledge/internal/handler/knowledgeedithandler.go
  7. 3 3
      api/knowledge/internal/handler/knowledgeinfohandler.go
  8. 3 3
      api/knowledge/internal/handler/knowledgelisthandler.go
  9. 3 3
      api/knowledge/internal/handler/recommendanswerhandler.go
  10. 1 1
      api/knowledge/internal/handler/routes.go
  11. 3 3
      api/knowledge/internal/logic/findanswerlogic.go
  12. 3 3
      api/knowledge/internal/logic/knowledgeaddlogic.go
  13. 3 3
      api/knowledge/internal/logic/knowledgedellogic.go
  14. 3 3
      api/knowledge/internal/logic/knowledgeeditlogic.go
  15. 3 3
      api/knowledge/internal/logic/knowledgeinfologic.go
  16. 3 3
      api/knowledge/internal/logic/knowledgelistlogic.go
  17. 3 3
      api/knowledge/internal/logic/recommendanswerlogic.go
  18. 2 2
      api/knowledge/internal/svc/servicecontext.go
  19. 3 3
      api/knowledge/knowledge.go
  20. 8 0
      entity/db.go
  21. 1 1
      go.mod
  22. 9 15
      rpc/knowledge/init/init.go
  23. 3 1
      rpc/knowledge/internal/config/config.go
  24. 3 3
      rpc/knowledge/internal/logic/findanswerlogic.go
  25. 3 3
      rpc/knowledge/internal/logic/knowledgeaddlogic.go
  26. 3 3
      rpc/knowledge/internal/logic/knowledgedellogic.go
  27. 3 3
      rpc/knowledge/internal/logic/knowledgeeditlogic.go
  28. 3 3
      rpc/knowledge/internal/logic/knowledgeinfologic.go
  29. 3 3
      rpc/knowledge/internal/logic/knowledgelistlogic.go
  30. 3 3
      rpc/knowledge/internal/logic/recommendanswerlogic.go
  31. 3 3
      rpc/knowledge/internal/server/knowledgeserver.go
  32. 24 17
      rpc/knowledge/internal/service/knowledgeService.go
  33. 223 0
      rpc/knowledge/internal/service/knowledgeService_test.go
  34. 1 1
      rpc/knowledge/internal/svc/servicecontext.go
  35. 4 4
      rpc/knowledge/knowledge.go
  36. 1 1
      rpc/knowledge/knowledgeclient/knowledge.go
  37. 3 3
      rpc/knowledge/test/knowledge_test.go
  38. 3 3
      rpc/knowledge/util/elasticsearch_dsl.go
  39. 2 2
      rpc/knowledge/util/hanlp.go

+ 25 - 0
Makefile

@@ -0,0 +1,25 @@
+SHELL=cmd
+.PHONY: all
+all:  fmt tidy lint
+genRpc:
+	cd rpc/social && goctl rpc protoc social.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.
+	@echo "===========> genRpc finish"
+
+genApi:
+	cd api/social && goctl api go -api social.api -dir .
+	@echo "===========> genApi finish"
+
+fmt:
+	go fmt ./...
+	@echo "===========> fmt finish"
+tidy:
+	go mod tidy
+	@echo "===========> tidy finish"
+
+lint:
+	@echo "===========> Run golangci to lint source codes"
+	@golangci-lint run
+
+cover:
+	@echo "===========> Run go test "
+	cd rpc/social/internal/service &&  go test -v -coverprofile=coverage   && go tool cover -html=coverage -o coverage.html

+ 2 - 2
api/knowledge/common/initconfig.go

@@ -1,10 +1,10 @@
 package common
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/config"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
 	"flag"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/api/knowledge/internal/config"
-	"knowledgeBase/entity"
 	"log"
 
 	"github.com/zeromicro/go-zero/core/conf"

+ 3 - 3
api/knowledge/internal/handler/findanswerhandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func findAnswerHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/knowledgeaddhandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func knowledgeAddHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/knowledgedelhandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func knowledgeDelHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/knowledgeedithandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func knowledgeEditHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/knowledgeinfohandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func knowledgeInfoHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/knowledgelisthandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func knowledgeListHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 3 - 3
api/knowledge/internal/handler/recommendanswerhandler.go

@@ -4,9 +4,9 @@ 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"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 func recommendAnswerHandler(ctx *svc.ServiceContext) http.HandlerFunc {

+ 1 - 1
api/knowledge/internal/handler/routes.go

@@ -5,7 +5,7 @@ import (
 	"github.com/zeromicro/go-zero/rest"
 	"net/http"
 
-	"knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
 )
 
 func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {

+ 3 - 3
api/knowledge/internal/logic/findanswerlogic.go

@@ -1,12 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type FindAnswerLogic struct {

+ 3 - 3
api/knowledge/internal/logic/knowledgeaddlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 )
 
 type KnowledgeAddLogic struct {

+ 3 - 3
api/knowledge/internal/logic/knowledgedellogic.go

@@ -1,12 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type KnowledgeDelLogic struct {

+ 3 - 3
api/knowledge/internal/logic/knowledgeeditlogic.go

@@ -1,12 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type KnowledgeEditLogic struct {

+ 3 - 3
api/knowledge/internal/logic/knowledgeinfologic.go

@@ -1,12 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type KnowledgeInfoLogic struct {

+ 3 - 3
api/knowledge/internal/logic/knowledgelistlogic.go

@@ -1,13 +1,13 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 	"log"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type KnowledgeListLogic struct {

+ 3 - 3
api/knowledge/internal/logic/recommendanswerlogic.go

@@ -1,12 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/api/knowledge/internal/svc"
-	"knowledgeBase/api/knowledge/internal/types"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/types"
 )
 
 type RecommendAnswerLogic struct {

+ 2 - 2
api/knowledge/internal/svc/servicecontext.go

@@ -1,9 +1,9 @@
 package svc
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/config"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"github.com/zeromicro/go-zero/zrpc"
-	"knowledgeBase/api/knowledge/internal/config"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 )
 
 type ServiceContext struct {

+ 3 - 3
api/knowledge/knowledge.go

@@ -4,11 +4,11 @@ import (
 	mc "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/endless"
 	"bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/common"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/handler"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/api/knowledge/internal/svc"
 	"fmt"
 	"github.com/zeromicro/go-zero/rest"
-	. "knowledgeBase/api/knowledge/common"
-	"knowledgeBase/api/knowledge/internal/handler"
-	"knowledgeBase/api/knowledge/internal/svc"
 	"log"
 	"os"
 	"os/signal"

+ 8 - 0
entity/db.go

@@ -1,5 +1,13 @@
 package entity
 
+import (
+	"app.yhyue.com/moapp/jybase/mysql"
+)
+
+var (
+	Mysql *mysql.Mysql
+)
+
 // MysqlMainStruct msyql
 type MysqlMainStruct struct {
 	DbName       string `json:"dbName"`

+ 1 - 1
go.mod

@@ -1,4 +1,4 @@
-module knowledgeBase
+module bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase
 
 go 1.16
 

+ 9 - 15
rpc/knowledge/init/init.go

@@ -4,14 +4,14 @@ import (
 	elastic "app.yhyue.com/moapp/jybase/esv1"
 	"app.yhyue.com/moapp/jybase/mysql"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 	"flag"
 	_ "github.com/go-sql-driver/mysql"
 	"github.com/zeromicro/go-zero/core/conf"
 	"github.com/zeromicro/go-zero/core/discov"
 	"github.com/zeromicro/go-zero/core/logx"
 	"github.com/zeromicro/go-zero/zrpc"
-	"knowledgeBase/entity"
-	"knowledgeBase/rpc/knowledge/internal/config"
 	"log"
 )
 
@@ -21,19 +21,13 @@ var configF = flag.String("ff", "etc/knowledge.yaml", "the config file")
 var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
 var logc entity.Logc
 
-var C config.Config
-
-var (
-	Mysql *mysql.Mysql
-)
-
 func init() {
-	conf.MustLoad(*configF, &C)
+	conf.MustLoad(*configF, &config.C)
 	//初始化mysql
-	mm := C.MysqlMain
+	mm := config.C.MysqlMain
 	if mm.Address != "" {
 		log.Println("--初始化 mysql--")
-		Mysql = &mysql.Mysql{
+		entity.Mysql = &mysql.Mysql{
 			Address:      mm.Address,
 			UserName:     mm.UserName,
 			PassWord:     mm.PassWord,
@@ -41,11 +35,11 @@ func init() {
 			MaxOpenConns: mm.MaxOpenConns,
 			MaxIdleConns: mm.MaxIdleConns,
 		}
-		Mysql.Init()
+		entity.Mysql.Init()
 	}
 
 	//初始化 elasticsearch
-	es := C.Es
+	es := config.C.Es
 	if es.Addr != "" {
 		log.Println("--初始化 elasticsearch--")
 		log.Println(es.Addr, es.Size)
@@ -68,8 +62,8 @@ func init() {
 	//初始化资源中台相关
 	userCenterClient := zrpc.MustNewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
-			Hosts: C.UserCenterConf.Etcd.Hosts,
-			Key:   C.UserCenterConf.Etcd.Key,
+			Hosts: config.C.UserCenterConf.Etcd.Hosts,
+			Key:   config.C.UserCenterConf.Etcd.Key,
 		},
 	})
 	entity.UserCenterLib = usercenter.NewUserCenter(userCenterClient)

+ 3 - 1
rpc/knowledge/internal/config/config.go

@@ -1,10 +1,12 @@
 package config
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
 	"github.com/zeromicro/go-zero/zrpc"
-	"knowledgeBase/entity"
 )
 
+var C Config
+
 type Config struct {
 	zrpc.RpcServerConf
 	WebRpcPort     int64

+ 3 - 3
rpc/knowledge/internal/logic/findanswerlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type FindAnswerLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/knowledgeaddlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type KnowledgeAddLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/knowledgedellogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type KnowledgeDelLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/knowledgeeditlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type KnowledgeEditLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/knowledgeinfologic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type KnowledgeInfoLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/knowledgelistlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type KnowledgeListLogic struct {

+ 3 - 3
rpc/knowledge/internal/logic/recommendanswerlogic.go

@@ -1,11 +1,11 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/service"
 )
 
 type RecommendAnswerLogic struct {

+ 3 - 3
rpc/knowledge/internal/server/knowledgeserver.go

@@ -4,11 +4,11 @@
 package server
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 
-	"knowledgeBase/rpc/knowledge/internal/logic"
-	"knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/logic"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
 )
 
 type KnowledgeServer struct {

+ 24 - 17
service/knowledgeService.go → rpc/knowledge/internal/service/knowledgeService.go

@@ -5,14 +5,16 @@ import (
 	. "app.yhyue.com/moapp/jybase/encrypt"
 	elastic "app.yhyue.com/moapp/jybase/esv1"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
+
+	//. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/util"
 	"context"
 	"database/sql"
 	"errors"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/entity"
-	. "knowledgeBase/rpc/knowledge/init"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/rpc/knowledge/util"
 	"log"
 	"strconv"
 	"time"
@@ -20,15 +22,20 @@ import (
 
 type KnowledgeService struct{}
 
+var (
+	Index = "smart_new"
+	Type  = "smart"
+)
+
 func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool, string, error) {
 	//先查找知识库Id
 	query := map[string]interface{}{"status": 1, "appid": param.AppId, "ent_id": param.EntId}
 	datalist := Mysql.Find(util.KNOWLEDGE, query, "id", "", -1, -1)
 	if datalist != nil && *datalist != nil && len(*datalist) > 0 {
 		//问题进行分词
-		keywords := util.HttpDo(param.Question)
-		if keywords == "" {
-			keywords = param.Question
+		keywords := util.HanlpGetNormalWords(param.Question, config.C.Segment)
+		if len(keywords) == 0 {
+			keywords = append(keywords, param.Question)
 		}
 		//通过entUserId获取创建人名称,调用用户中心
 		req := &usercenter.EntUserReq{
@@ -36,9 +43,9 @@ func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool
 			EntUserId: param.EntUserId,
 			AppId:     param.AppId,
 		}
-		resp, err := entity.UserCenterLib.GetEntUserInfo(context.Background(), req)
+		resp, err := UserCenterLib.GetEntUserInfo(context.Background(), req)
 		if err != nil {
-			logx.Infof("查询用户中台创建人信息失败", param.EntId, param.EntUserId, "err:", err)
+			logx.Info("查询用户中台创建人信息失败", param.EntId, param.EntUserId, "err:", err)
 			return false, "查询用户中台创建人信息失败", err
 		}
 		createPerson := resp.Data.Name
@@ -77,7 +84,7 @@ func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool
 				"answerId":     answerId,
 				"entId":        param.EntId,
 			}
-			b := elastic.Save(C.Es.Index, C.Es.Type, knowledge)
+			b := elastic.Save(Index, Type, knowledge)
 			if b {
 				return true, "插入es成功", nil
 			} else {
@@ -104,9 +111,9 @@ func (k *KnowledgeService) KnowledgeEdit(param *knowledgeclient.KnowledgeEditReq
 		AppId:     param.AppId,
 	}
 	resp := &usercenter.EntUserResp{}
-	resp, err = entity.UserCenterLib.GetEntUserInfo(context.Background(), req)
+	resp, err = UserCenterLib.GetEntUserInfo(context.Background(), req)
 	if err != nil {
-		logx.Infof("查询用户中台创建人信息失败", param.EntId, param.EntUserId, "err:", err)
+		logx.Info("查询用户中台创建人信息失败", param.EntId, param.EntUserId, "err:", err)
 		return false, "查询用户中台创建人信息失败", err
 	}
 	createPerson := resp.Data.Name
@@ -140,8 +147,8 @@ func (k *KnowledgeService) KnowledgeEdit(param *knowledgeclient.KnowledgeEditReq
 			"answerId":     param.AnswerId,
 			"entId":        param.EntId,
 		}
-		ok1 := elastic.Del(C.Es.Index, C.Es.Type, query)
-		ok := elastic.Save(C.Es.Index, C.Es.Type, newKnowledge)
+		ok1 := elastic.Del(Index, Type, query)
+		ok := elastic.Save(Index, Type, newKnowledge)
 		if ok && ok1 {
 			ok = true
 			msg = "修改问题成功"
@@ -216,7 +223,7 @@ func (k *KnowledgeService) KnowledgeDel(answerId int64) (ok bool, msg string) {
 	if fool {
 		//删除es数据
 		query := `{"query":{"bool":{"must":[{"term":{"answerId":"` + strconv.Itoa(int(answerId)) + `"}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"facets":{}}`
-		ok := elastic.Del(C.Es.Index, C.Es.Type, query)
+		ok := elastic.Del(Index, Type, query)
 		if ok {
 			return true, "删除成功"
 		} else {
@@ -233,7 +240,7 @@ func (k *KnowledgeService) FindAnswer(param *knowledgeclient.FindAnswerReq) *kno
 	//组装es query
 	query := util.DSL4SmartResponse(param.Question, robotEntId, int(param.Type))
 	logx.Info("es查询:", query)
-	res := elastic.Get(C.Es.Index, C.Es.Type, query)
+	res := elastic.Get(Index, Type, query)
 	if res != nil && len(*res) > 0 {
 		data := (*res)[0]
 		question.Answer = cm.ObjToString(data["answer"])
@@ -252,7 +259,7 @@ func (k *KnowledgeService) RecommendAnswer(param *knowledgeclient.FindAnswerReq)
 	keyWords = util.HttpDo(param.Question)
 	log.Println("问题分词关键字:", keyWords)
 	var query = util.DSL4SearchByKwsOrid(keyWords, SE.Decode4Hex(param.RobotEntId))
-	res := elastic.GetAllByNgram(C.Es.Index, C.Es.Type, query, "", "", searchField, 0, 3, 0, false)
+	res := elastic.GetAllByNgram(Index, Type, query, "", "", searchField, 0, 3, 0, false)
 	//log.Println("推荐3个答案:", res)
 	if res != nil && len(*res) > 0 {
 		for _, val := range *res {

+ 223 - 0
rpc/knowledge/internal/service/knowledgeService_test.go

@@ -0,0 +1,223 @@
+package service
+
+import (
+	"app.yhyue.com/moapp/jybase/mysql"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
+	"reflect"
+	"testing"
+)
+
+func initMysql() {
+	entity.Mysql = &mysql.Mysql{
+		Address:      "192.168.3.217:4000",
+		UserName:     "root",
+		PassWord:     "=PDT49#80Z!RVv52_z",
+		DBName:       "base_service",
+		MaxOpenConns: 5,
+		MaxIdleConns: 5,
+	}
+	entity.Mysql.Init()
+}
+func init() {
+	initMysql()
+}
+func TestKnowledgeService_FindAnswer(t *testing.T) {
+	type args struct {
+		param *knowledgeclient.FindAnswerReq
+	}
+	tests := []struct {
+		name string
+		args args
+		want *knowledgeclient.Question
+	}{
+		// TODO: Add test cases.
+		{
+			name: "查询",
+			args: args{
+				param: &knowledgeclient.FindAnswerReq{
+					Question:   "",
+					Type:       1,
+					RobotEntId: "111",
+				},
+			},
+		},
+		{
+			name: "查询",
+			args: args{
+				param: &knowledgeclient.FindAnswerReq{
+					Question:   "",
+					Type:       2,
+					RobotEntId: "111",
+				},
+			},
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			if got := k.FindAnswer(tt.args.param); !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("FindAnswer() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_KnowledgeAdd(t *testing.T) {
+	type args struct {
+		param *knowledgeclient.AddRequest
+	}
+	tests := []struct {
+		name    string
+		args    args
+		want    bool
+		want1   string
+		wantErr bool
+	}{
+		// TODO: Add test cases.
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			got, got1, err := k.KnowledgeAdd(tt.args.param)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("KnowledgeAdd() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+			if got != tt.want {
+				t.Errorf("KnowledgeAdd() got = %v, want %v", got, tt.want)
+			}
+			if got1 != tt.want1 {
+				t.Errorf("KnowledgeAdd() got1 = %v, want %v", got1, tt.want1)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_KnowledgeDel(t *testing.T) {
+	type args struct {
+		answerId int64
+	}
+	tests := []struct {
+		name    string
+		args    args
+		wantOk  bool
+		wantMsg string
+	}{
+		// TODO: Add test cases.
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			gotOk, gotMsg := k.KnowledgeDel(tt.args.answerId)
+			if gotOk != tt.wantOk {
+				t.Errorf("KnowledgeDel() gotOk = %v, want %v", gotOk, tt.wantOk)
+			}
+			if gotMsg != tt.wantMsg {
+				t.Errorf("KnowledgeDel() gotMsg = %v, want %v", gotMsg, tt.wantMsg)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_KnowledgeEdit(t *testing.T) {
+	type args struct {
+		param *knowledgeclient.KnowledgeEditReq
+	}
+	tests := []struct {
+		name    string
+		args    args
+		wantOk  bool
+		wantMsg string
+		wantErr bool
+	}{
+		// TODO: Add test cases.
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			gotOk, gotMsg, err := k.KnowledgeEdit(tt.args.param)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("KnowledgeEdit() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+			if gotOk != tt.wantOk {
+				t.Errorf("KnowledgeEdit() gotOk = %v, want %v", gotOk, tt.wantOk)
+			}
+			if gotMsg != tt.wantMsg {
+				t.Errorf("KnowledgeEdit() gotMsg = %v, want %v", gotMsg, tt.wantMsg)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_KnowledgeInfo(t *testing.T) {
+	type args struct {
+		answerId int64
+	}
+	tests := []struct {
+		name     string
+		args     args
+		wantData *knowledgeclient.KnowledgeEntity
+		wantOk   bool
+	}{
+		{
+			name: "查询",
+			args: args{answerId: 30113},
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			gotData, gotOk := k.KnowledgeInfo(tt.args.answerId)
+			if !reflect.DeepEqual(gotData, tt.wantData) {
+				t.Errorf("KnowledgeInfo() gotData = %v, want %v", gotData, tt.wantData)
+			}
+			if gotOk != tt.wantOk {
+				t.Errorf("KnowledgeInfo() gotOk = %v, want %v", gotOk, tt.wantOk)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_KnowledgeList(t *testing.T) {
+	type args struct {
+		param *knowledgeclient.ListRequest
+	}
+	tests := []struct {
+		name string
+		args args
+		want *knowledgeclient.ListData
+	}{
+		// TODO: Add test cases.
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			if got := k.KnowledgeList(tt.args.param); !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("KnowledgeList() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func TestKnowledgeService_RecommendAnswer(t *testing.T) {
+	type args struct {
+		param *knowledgeclient.FindAnswerReq
+	}
+	tests := []struct {
+		name string
+		args args
+		want []*knowledgeclient.Question
+	}{
+		// TODO: Add test cases.
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			k := &KnowledgeService{}
+			if got := k.RecommendAnswer(tt.args.param); !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("RecommendAnswer() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}

+ 1 - 1
rpc/knowledge/internal/svc/servicecontext.go

@@ -1,6 +1,6 @@
 package svc
 
-import "knowledgeBase/rpc/knowledge/internal/config"
+import "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 
 type ServiceContext struct {
 	Config config.Config

+ 4 - 4
rpc/knowledge/knowledge.go

@@ -3,15 +3,15 @@ package main
 import (
 	mc "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/endless"
+	IC "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 	"fmt"
 	"github.com/zeromicro/go-zero/zrpc"
 	"google.golang.org/grpc"
-	IC "knowledgeBase/rpc/knowledge/init"
 	"log"
 
-	"knowledgeBase/rpc/knowledge/internal/server"
-	"knowledgeBase/rpc/knowledge/internal/svc"
-	"knowledgeBase/rpc/knowledge/knowledge"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/server"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledge"
 )
 
 func main() {

+ 1 - 1
rpc/knowledge/knowledgeclient/knowledge.go

@@ -9,7 +9,7 @@ import (
 	"context"
 	"github.com/zeromicro/go-zero/zrpc"
 
-	"knowledgeBase/rpc/knowledge/knowledge"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledge"
 )
 
 type (

+ 3 - 3
rpc/knowledge/test/knowledge_test.go

@@ -1,12 +1,12 @@
 package test
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"context"
 	"flag"
 	"github.com/zeromicro/go-zero/core/conf"
 	"github.com/zeromicro/go-zero/zrpc"
-	"knowledgeBase/rpc/knowledge/internal/config"
-	"knowledgeBase/rpc/knowledge/knowledgeclient"
 	"log"
 	"testing"
 	"time"
@@ -83,7 +83,7 @@ func Test_FindAnswer(t *testing.T) {
 	ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
 	TestSystem := knowledgeclient.NewKnowledge(zrpc.MustNewClient(c.TestConf))
 	req := &knowledgeclient.FindAnswerReq{}
-	req.Question = "在不在"
+	req.Question = "超级订阅为什么购买不了"
 	req.RobotEntId = "455b495c5c"
 	req.Type = 1
 	res, err := TestSystem.FindAnswer(ctx, req)

+ 3 - 3
rpc/knowledge/util/elasticsearch_dsl.go

@@ -1,9 +1,9 @@
 package util
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 	"fmt"
 	"github.com/zeromicro/go-zero/core/logx"
-	. "knowledgeBase/rpc/knowledge/init"
 	"log"
 	"strings"
 )
@@ -21,7 +21,7 @@ func DSL4SmartResponse(question string, entId string, msgType int) string {
 	var typeStr string
 	/*1.首先将问题使用hanlp分词*/
 	//hanlpCutWords := HanlpGetNormalWords(question, "http://39.106.145.77:8080/api/segment")
-	hanlpCutWords := HanlpGetNormalWords(question, C.Segment)
+	hanlpCutWords := HanlpGetNormalWords(question, config.C.Segment)
 	log.Println("hanlp分词结果:", hanlpCutWords)
 	if len(hanlpCutWords) == 0 {
 		hanlpCutWords = append(hanlpCutWords, question)
@@ -45,7 +45,7 @@ func DSL4SmartResponse(question string, entId string, msgType int) string {
 		}
 		/*2使用sik分词将问题分词以获取更多查询词语*/
 		//mustque := ElasticSmartIK(question, "http://39.106.145.77:9201/smart/_analyze")
-		mustque := ElasticSmartIK(question, C.Es.Addr+"/"+C.Es.Index+"/_analyze")
+		mustque := ElasticSmartIK(question, config.C.Es.Addr+"/"+config.C.Es.Index+"/_analyze")
 		if mustque != "" {
 			postFilter = fmt.Sprintf(postFilter, mustque)
 		}

+ 2 - 2
rpc/knowledge/util/hanlp.go

@@ -2,10 +2,10 @@ package util
 
 import (
 	cm "app.yhyue.com/moapp/jybase/common"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 	"encoding/base64"
 	"encoding/json"
 	"io/ioutil"
-	. "knowledgeBase/rpc/knowledge/init"
 	"log"
 	"net/http"
 	"net/url"
@@ -122,7 +122,7 @@ func HttpDo(ques string) (result string) {
 	)
 	client := &http.Client{}
 	//req, err := http.NewRequest("POST", "http://39.106.145.77:8080/api/segment", strings.NewReader("content="+ques))
-	req, err := http.NewRequest("POST", C.Segment, strings.NewReader("content="+ques))
+	req, err := http.NewRequest("POST", config.C.Segment, strings.NewReader("content="+ques))
 	if err != nil {
 		log.Println("问题分词出错err1:", err)
 		return ""