wangchuanjin 2 lat temu
rodzic
commit
3c1e7c605d

+ 11 - 4
middleground/entmanageapplication.go

@@ -11,18 +11,24 @@ import (
 )
 
 type entManageApplication struct {
-	hosts []string
-	key   string
+	hosts  []string
+	key    string
+	client zrpc.Client
 }
 
 func newEntManageApplication(hosts []string, key string) *entManageApplication {
-	return &entManageApplication{
+	r := &entManageApplication{
 		hosts: hosts,
 		key:   key,
 	}
+	r.client = r.NewClient()
+	return r
 }
 
 func (e *entManageApplication) NewClient() zrpc.Client {
+	if r.client != nil && r.client.Conn() != nil {
+		return r.client
+	}
 	client, err := zrpc.NewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
 			Hosts: e.hosts,
@@ -33,6 +39,7 @@ func (e *entManageApplication) NewClient() zrpc.Client {
 		log.Println(err)
 		return nil
 	}
+	r.client = client
 	return client
 }
 
@@ -42,7 +49,7 @@ func (e *entManageApplication) EmpowerUserIds(ids []int64) *pb.EmpowerUserIds {
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := entmanageapplication.NewEntManageApplication(client).EmpowerUserIds(context.Background(), &pb.EmpowerUserIds{
 		Ids: ids,
 	})

+ 12 - 5
middleground/powercheckcenter.go

@@ -11,18 +11,24 @@ import (
 )
 
 type powerCheckCenter struct {
-	hosts []string
-	key   string
+	hosts  []string
+	key    string
+	client zrpc.Client
 }
 
 func newPowerCheckCenter(hosts []string, key string) *powerCheckCenter {
-	return &powerCheckCenter{
+	r := &powerCheckCenter{
 		hosts: hosts,
 		key:   key,
 	}
+	r.client = r.NewClient()
+	return r
 }
 
 func (p *powerCheckCenter) NewClient() zrpc.Client {
+	if r.client != nil && r.client.Conn() != nil {
+		return r.client
+	}
 	client, err := zrpc.NewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
 			Hosts: p.hosts,
@@ -33,6 +39,7 @@ func (p *powerCheckCenter) NewClient() zrpc.Client {
 		log.Println(err)
 		return nil
 	}
+	r.client = client
 	return client
 }
 
@@ -41,7 +48,7 @@ func (p *powerCheckCenter) Check(appid, userId string, baseUserId, accountId, en
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := powercheck.NewPowerCheck(client).Check(context.Background(), &pb.CheckReq{
 		Appid:        appid,
 		Userid:       userId,
@@ -62,7 +69,7 @@ func (p *powerCheckCenter) DelCheckRedis(appid string, positionId int64) *pb.Pow
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := powercheck.NewPowerCheck(client).DelCheckRedis(context.Background(), &pb.CheckReq{
 		Appid:      appid,
 		PositionId: positionId,

+ 11 - 4
middleground/resourcecenter.go

@@ -11,18 +11,24 @@ import (
 )
 
 type resourceCenter struct {
-	hosts []string
-	key   string
+	hosts  []string
+	key    string
+	client zrpc.Client
 }
 
 func newResourceCenter(hosts []string, key string) *resourceCenter {
-	return &resourceCenter{
+	r := &resourceCenter{
 		hosts: hosts,
 		key:   key,
 	}
+	r.client = r.NewClient()
+	return r
 }
 
 func (r *resourceCenter) NewClient() zrpc.Client {
+	if r.client != nil && r.client.Conn() != nil {
+		return r.client
+	}
 	client, err := zrpc.NewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
 			Hosts: r.hosts,
@@ -33,6 +39,7 @@ func (r *resourceCenter) NewClient() zrpc.Client {
 		log.Println(err)
 		return nil
 	}
+	r.client = client
 	return client
 }
 
@@ -42,7 +49,7 @@ func (r *resourceCenter) Haspowers(accountId, entAccountId, entId, entUserId int
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := resource.NewResource(client).Haspowers(context.Background(), &pb.HaspowersReq{
 		Appid:        "10000",
 		AccountId:    accountId,

+ 18 - 11
middleground/usercenter.go

@@ -11,18 +11,24 @@ import (
 )
 
 type userCenter struct {
-	hosts []string
-	key   string
+	hosts  []string
+	key    string
+	client zrpc.Client
 }
 
 func newUserCenter(hosts []string, key string) *userCenter {
-	return &userCenter{
+	r := &userCenter{
 		hosts: hosts,
 		key:   key,
 	}
+	r.client = r.NewClient()
+	return r
 }
 
 func (u *userCenter) NewClient() zrpc.Client {
+	if r.client != nil && r.client.Conn() != nil {
+		return r.client
+	}
 	client, err := zrpc.NewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
 			Hosts: u.hosts,
@@ -33,6 +39,7 @@ func (u *userCenter) NewClient() zrpc.Client {
 		log.Println(err)
 		return nil
 	}
+	r.client = client
 	return client
 }
 
@@ -42,7 +49,7 @@ func (u *userCenter) IdentityList(userId int64) []*pb.Identity {
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).IdentityList(context.Background(), &pb.IdentityReq{
 		Id: userId,
 	})
@@ -59,7 +66,7 @@ func (u *userCenter) IdentityByUserId(userId int64) *pb.Identity {
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).IdentityByUserId(context.Background(), &pb.IdentityReq{
 		Id: userId,
 	})
@@ -76,7 +83,7 @@ func (u *userCenter) IdentityByPositionId(positionId int64) *pb.Identity {
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).IdentityByPositionId(context.Background(), &pb.IdentityReq{
 		Id: positionId,
 	})
@@ -93,7 +100,7 @@ func (u *userCenter) IdentityByEntUserId(entUserId int64) *pb.Identity {
 	if client == nil {
 		return nil
 	}
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).IdentityByEntUserId(context.Background(), &pb.IdentityReq{
 		Id: entUserId,
 	})
@@ -107,7 +114,7 @@ func (u *userCenter) IdentityByEntUserId(entUserId int64) *pb.Identity {
 //添加用户
 func (u *userCenter) UserAdd(req pb.UserAddReq) *pb.UserAddResp {
 	client := u.NewClient()
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).UserAdd(context.Background(), &pb.UserAddReq{
 		Appid:    req.Appid,
 		Phone:    req.Phone,
@@ -133,7 +140,7 @@ func (u *userCenter) UserAdd(req pb.UserAddReq) *pb.UserAddResp {
 //修改用户
 func (u *userCenter) UserUpdate(req pb.UserIdReq) *pb.ExamineResp {
 	client := u.NewClient()
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).UserUpdate(context.Background(), &pb.UserIdReq{
 		Appid:    req.Appid,
 		Id:       req.Id,
@@ -157,7 +164,7 @@ func (u *userCenter) UserUpdate(req pb.UserIdReq) *pb.ExamineResp {
 //删除用户
 func (u *userCenter) UserDel(req pb.UserIdReq) *pb.ExamineResp {
 	client := u.NewClient()
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).UserDel(context.Background(), &pb.UserIdReq{
 		Appid: req.Appid,
 		Id:    req.Id,
@@ -172,7 +179,7 @@ func (u *userCenter) UserDel(req pb.UserIdReq) *pb.ExamineResp {
 //清用户缓存
 func (u *userCenter) WorkDesktopClearUserInfo(req pb.WorkDesktopClearUserInfoReq) *pb.WorkDesktopClearUserInfoResp {
 	client := u.NewClient()
-	defer client.Conn().Close()
+	//defer client.Conn().Close()
 	resp, err := usercenter.NewUserCenter(client).WorkDesktopClearUserInfo(context.Background(), &pb.WorkDesktopClearUserInfoReq{
 		AppId:      req.AppId,
 		PositionId: req.PositionId,