xuzhiheng 4 éve
szülő
commit
d2952eb641

+ 1 - 0
go.mod

@@ -4,6 +4,7 @@ go 1.14
 
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20210312055531-9bf805cce8ab
+	app.yhyue.com/moapp/jyfs v0.0.0-20210309070327-ecad67beabb8
 	github.com/golang/protobuf v1.4.2
 	github.com/tal-tech/go-zero v1.1.2
 	google.golang.org/grpc v1.29.1

+ 6 - 0
go.sum

@@ -1,5 +1,7 @@
 app.yhyue.com/moapp/jybase v0.0.0-20210312055531-9bf805cce8ab h1:e0w9yaAu+xiwtSebZDYa0kog3QptpLK+4iKxRhq9vyE=
 app.yhyue.com/moapp/jybase v0.0.0-20210312055531-9bf805cce8ab/go.mod h1:K2jMm63fzsEtUjGwtww36U2+0ZFUiZu3AdVm2KZvbUI=
+app.yhyue.com/moapp/jyfs v0.0.0-20210309070327-ecad67beabb8 h1:Mg5E4O+5mCjRyW2b4/bNRQMz8ilzWfa7qaOjKT7SNRY=
+app.yhyue.com/moapp/jyfs v0.0.0-20210309070327-ecad67beabb8/go.mod h1:iflE6z/Ee5f7YZy2DSj7S6asyL1yCbu3BjK/xMYMiDY=
 github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/ClickHouse/clickhouse-go v1.4.3/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
@@ -13,9 +15,11 @@ github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZp
 github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
 github.com/alicebob/miniredis/v2 v2.14.1 h1:GjlbSeoJ24bzdLRs13HoMEeaRZx9kg5nHoRW7QV/nCs=
 github.com/alicebob/miniredis/v2 v2.14.1/go.mod h1:uS970Sw5Gs9/iK3yBg0l9Uj9s25wXxSpQUE9EaJ/Blg=
+github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
 github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q=
 github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
 github.com/aws/aws-sdk-go v1.35.20/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
+github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -124,6 +128,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
 github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
 github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/gomodule/redigo v1.8.4/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
 github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -268,6 +273,7 @@ github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=

+ 2 - 1
rpc/stdlib/etc/stdlib.yaml

@@ -12,4 +12,5 @@ EsConfig:
 Etcd:
   Hosts:
     - 192.168.3.240:2379
-  Key: jydocs.stdlib.rpc
+  Key: jydocs.stdlib.rpc
+BucketName: "jydoc-std"

+ 1 - 2
rpc/stdlib/internal/config/config.go

@@ -7,6 +7,5 @@ type Config struct {
 	zrpc.RpcServerConf
 	JyDocsMysqlDB jyDocRpcUtil.MysqlDBConfig
 	EsConfig      jyDocRpcUtil.EsConfig
+	BucketName    string
 }
-
-

+ 1 - 1
rpc/stdlib/internal/logic/docgetcontentlogic.go

@@ -26,6 +26,6 @@ func NewDocGetContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Doc
 
 func (l *DocGetContentLogic) DocGetContent(in *stdlib.DocGetCheckReq) (*stdlib.DocGetContentResp, error) {
 	// todo: add your logic here and delete this line
-	res := stdlibService.DocGetContent(in.DocId, in.UserId)
+	res := stdlibService.DocGetContent(in.DocId, in.UserId, l.svcCtx.Config.BucketName)
 	return &res, nil
 }

+ 4 - 2
rpc/stdlib/stdlib.go

@@ -1,16 +1,17 @@
 package main
 
 import (
+	"flag"
+	"log"
+
 	"app.yhyue.com/moapp/jy_docs/rpc/stdlib/internal/config"
 	"app.yhyue.com/moapp/jy_docs/rpc/stdlib/internal/server"
 	"app.yhyue.com/moapp/jy_docs/rpc/stdlib/internal/svc"
 	"app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
 	jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
-	"flag"
 	"github.com/tal-tech/go-zero/core/conf"
 	"github.com/tal-tech/go-zero/zrpc"
 	"google.golang.org/grpc"
-	"log"
 )
 
 var configFile = flag.String("f", "etc/stdlib.yaml", "the config file")
@@ -22,6 +23,7 @@ func main() {
 	if c.JyDocsMysqlDB.DataSourceName != "" && c.EsConfig.Addr != "" {
 		jyDocsRpcUtil.InitDB(c.JyDocsMysqlDB.DataSourceName, c.JyDocsMysqlDB.DriverName, c.JyDocsMysqlDB.MaxOpenConn, c.JyDocsMysqlDB.MaxIdleConn)
 		jyDocsRpcUtil.InitEs(c.EsConfig.Addr, c.EsConfig.Pool)
+		// jyDocsRpcUtil.InitOss(c.Etcd)
 		ctx := svc.NewServiceContext(c)
 		srv := server.NewStdlibServer(ctx)
 		s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {

+ 16 - 3
services/stdlib/docGet.go

@@ -1,9 +1,12 @@
 package stdlib
 
 import (
+	"context"
+
 	"app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
 	"app.yhyue.com/moapp/jy_docs/services/model"
 	jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
+	"app.yhyue.com/moapp/jyfs/rpc/filesystem"
 )
 
 func DocGetCheck(docId, userId string) stdlib.DocGetCheckResp {
@@ -33,11 +36,21 @@ func DocGetCheck(docId, userId string) stdlib.DocGetCheckResp {
 	return stdlib.DocGetCheckResp{Code: -1, Msg: "查询失败"}
 }
 
-func DocGetContent(docId, userId string) stdlib.DocGetContentResp {
+func DocGetContent(docId, userId, bucketName string) stdlib.DocGetContentResp {
 	doc := &model.Doc{}
+	docContent := stdlib.DocGetContentResp{Code: -1, Msg: "查询失败"}
 	jyDocsRpcUtil.GetJyDocsDB().Where("id = ?", docId).Find(doc)
 	if doc.DocName != "" {
-
+		file := filesystem.LoadFileReq{
+			Domain: bucketName,
+			FileId: doc.OssDocId,
+		}
+		res, err := jyDocsRpcUtil.FileSystem.GetFile(context.Background(), &file)
+		if err == nil {
+			docContent.Code = 0
+			docContent.Msg = "ok"
+			docContent.DocContent = res.RawFileContent
+		}
 	}
-	return stdlib.DocGetContentResp{}
+	return docContent
 }

+ 15 - 1
services/util/baseInit.go

@@ -5,6 +5,10 @@ import (
 
 	elastic "app.yhyue.com/moapp/jybase/esv7"
 	"app.yhyue.com/moapp/jybase/mysql"
+	"app.yhyue.com/moapp/jyfs/rpc/filesystemclient"
+	"github.com/tal-tech/go-zero/core/discov"
+
+	"github.com/tal-tech/go-zero/zrpc"
 	"gorm.io/gorm"
 )
 
@@ -22,7 +26,8 @@ type EsConfig struct {
 }
 
 var (
-	jyDocsDB *gorm.DB
+	jyDocsDB   *gorm.DB
+	FileSystem filesystemclient.FileSystem
 )
 
 func InitDB(url, driverName string, maxOpenConn, maxIdle int) {
@@ -34,10 +39,19 @@ func InitDB(url, driverName string, maxOpenConn, maxIdle int) {
 	}
 
 }
+
 func InitEs(addr string, poolSize int) {
 	log.Printf("----------->【jy_docs】 elastic :[%s] init<--------------", addr)
 	elastic.InitElasticSize(addr, poolSize)
 }
+
+func InitOss(etcd discov.EtcdConf) {
+	client := zrpc.MustNewClient(zrpc.RpcClientConf{
+		Etcd: etcd,
+	})
+	FileSystem = filesystemclient.NewFileSystem(client)
+}
+
 func GetJyDocsDB() *gorm.DB {
 	return jyDocsDB
 }