add social_network repo
This commit is contained in:
parent
5599f88787
commit
350bbf086c
|
@ -22,7 +22,7 @@ RedisCluster:
|
||||||
Type: cluster
|
Type: cluster
|
||||||
|
|
||||||
Neo4J:
|
Neo4J:
|
||||||
URI: neo4j://localhost:7687
|
URI: bolt://localhost:7687
|
||||||
Username: neo4j
|
Username: neo4j
|
||||||
Password: yyyytttt
|
Password: yyyytttt
|
||||||
MaxConnectionPoolSize: 20
|
MaxConnectionPoolSize: 20
|
||||||
|
|
|
@ -19,6 +19,12 @@ func NewNeo4J(conf *Config, opts ...Option) *Client {
|
||||||
|
|
||||||
neo4ji := &Client{
|
neo4ji := &Client{
|
||||||
neo4jConf: driverConfig,
|
neo4jConf: driverConfig,
|
||||||
|
serviceConf: Config{
|
||||||
|
URI: conf.URI,
|
||||||
|
Username: conf.Username,
|
||||||
|
Password: conf.Password,
|
||||||
|
LogLevel: conf.LogLevel,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
|
@ -35,13 +41,6 @@ func (c *Client) Conn() (neo4j.DriverWithContext, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("neo4j driver initialization error: %w", err)
|
return nil, fmt.Errorf("neo4j driver initialization error: %w", err)
|
||||||
}
|
}
|
||||||
defer func(driver neo4j.DriverWithContext, ctx context.Context) {
|
|
||||||
err := driver.Close(ctx)
|
|
||||||
if err != nil {
|
|
||||||
// fmt
|
|
||||||
|
|
||||||
}
|
|
||||||
}(driver, context.Background())
|
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
// Verify the connection to Neo4j.
|
// Verify the connection to Neo4j.
|
||||||
|
|
|
@ -28,6 +28,7 @@ func (l *AddUserToNetworkLogic) AddUserToNetwork(in *tweeting.AddUserToNetworkRe
|
||||||
// todo: add your logic here and delete this line
|
// todo: add your logic here and delete this line
|
||||||
err := l.svcCtx.SocialNetworkRepository.CreateUserNode(l.ctx, in.GetUid())
|
err := l.svcCtx.SocialNetworkRepository.CreateUserNode(l.ctx, in.GetUid())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Println("gg88g88g8", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
|
|
|
@ -5,10 +5,7 @@ import (
|
||||||
"app-cloudep-tweeting-service/internal/domain/repository"
|
"app-cloudep-tweeting-service/internal/domain/repository"
|
||||||
client4J "app-cloudep-tweeting-service/internal/lib/neo4j"
|
client4J "app-cloudep-tweeting-service/internal/lib/neo4j"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||||
|
|
||||||
ers "code.30cm.net/digimon/library-go/errs"
|
|
||||||
n4 "github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type SocialNetworkParam struct {
|
type SocialNetworkParam struct {
|
||||||
|
@ -29,25 +26,28 @@ func MustSocialNetworkRepository(param SocialNetworkParam) repository.SocialNetw
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s SocialNetworkRepository) CreateUserNode(ctx context.Context, uid string) error {
|
func (s SocialNetworkRepository) CreateUserNode(ctx context.Context, uid string) error {
|
||||||
// 執行 Cypher
|
session, err := s.neo4jClient.Conn()
|
||||||
conn, err := s.neo4jClient.Conn()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ers.DBError("failed to connect to node4j", err.Error())
|
return err
|
||||||
}
|
}
|
||||||
|
defer session.Close(ctx)
|
||||||
|
|
||||||
insert := map[string]any{
|
params := map[string]interface{}{
|
||||||
"uid": uid,
|
"uid": uid,
|
||||||
}
|
}
|
||||||
|
|
||||||
result, err := conn.NewSession(ctx, n4.SessionConfig{
|
_, err = session.NewSession(ctx, neo4j.SessionConfig{
|
||||||
AccessMode: n4.AccessModeWrite,
|
AccessMode: neo4j.AccessModeWrite,
|
||||||
}).Run(ctx, "CREATE (n:Person {name: $name}) RETURN n", insert)
|
}).Run(ctx, "CREATE (n:User {uid: $uid}) RETURN n", params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(result.Keys())
|
// // 處理結果
|
||||||
|
// if run.Next(ctx) {
|
||||||
|
// node := run.Record().AsMap()
|
||||||
|
// fmt.Printf("Created Node: %v\n", node)
|
||||||
|
// }
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"app-cloudep-tweeting-service/internal/lib/neo4j"
|
"app-cloudep-tweeting-service/internal/lib/neo4j"
|
||||||
model "app-cloudep-tweeting-service/internal/model/mongo"
|
model "app-cloudep-tweeting-service/internal/model/mongo"
|
||||||
"app-cloudep-tweeting-service/internal/repository"
|
"app-cloudep-tweeting-service/internal/repository"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/redis"
|
"github.com/zeromicro/go-zero/core/stores/redis"
|
||||||
|
|
||||||
vi "code.30cm.net/digimon/library-go/validator"
|
vi "code.30cm.net/digimon/library-go/validator"
|
||||||
|
|
|
@ -6,7 +6,10 @@ import (
|
||||||
|
|
||||||
"app-cloudep-tweeting-service/gen_result/pb/tweeting"
|
"app-cloudep-tweeting-service/gen_result/pb/tweeting"
|
||||||
"app-cloudep-tweeting-service/internal/config"
|
"app-cloudep-tweeting-service/internal/config"
|
||||||
|
commentserviceServer "app-cloudep-tweeting-service/internal/server/commentservice"
|
||||||
postserviceServer "app-cloudep-tweeting-service/internal/server/postservice"
|
postserviceServer "app-cloudep-tweeting-service/internal/server/postservice"
|
||||||
|
socialnetworkserviceServer "app-cloudep-tweeting-service/internal/server/socialnetworkservice"
|
||||||
|
timelineserviceServer "app-cloudep-tweeting-service/internal/server/timelineservice"
|
||||||
"app-cloudep-tweeting-service/internal/svc"
|
"app-cloudep-tweeting-service/internal/svc"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/conf"
|
"github.com/zeromicro/go-zero/core/conf"
|
||||||
|
@ -18,8 +21,6 @@ import (
|
||||||
|
|
||||||
var configFile = flag.String("f", "etc/tweeting.yaml", "the config file")
|
var configFile = flag.String("f", "etc/tweeting.yaml", "the config file")
|
||||||
|
|
||||||
// TODO 要把每一個錯誤代碼修改的更詳細,目前都資料庫錯誤
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
@ -29,6 +30,9 @@ func main() {
|
||||||
|
|
||||||
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
|
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
|
||||||
tweeting.RegisterPostServiceServer(grpcServer, postserviceServer.NewPostServiceServer(ctx))
|
tweeting.RegisterPostServiceServer(grpcServer, postserviceServer.NewPostServiceServer(ctx))
|
||||||
|
tweeting.RegisterCommentServiceServer(grpcServer, commentserviceServer.NewCommentServiceServer(ctx))
|
||||||
|
tweeting.RegisterTimelineServiceServer(grpcServer, timelineserviceServer.NewTimelineServiceServer(ctx))
|
||||||
|
tweeting.RegisterSocialNetworkServiceServer(grpcServer, socialnetworkserviceServer.NewSocialNetworkServiceServer(ctx))
|
||||||
|
|
||||||
if c.Mode == service.DevMode || c.Mode == service.TestMode {
|
if c.Mode == service.DevMode || c.Mode == service.TestMode {
|
||||||
reflection.Register(grpcServer)
|
reflection.Register(grpcServer)
|
||||||
|
|
Loading…
Reference in New Issue