rpc start

This commit is contained in:
withchao
2023-02-14 11:37:19 +08:00
parent a61a3253a5
commit f5c4e755eb
3 changed files with 16 additions and 127 deletions
+2 -101
View File
@@ -26,121 +26,22 @@ import (
"time"
)
func Start(server *grpc.Server) {
//err := mysql.InitConn().AutoMigrateModel(&groupModel)
//if err != nil {
// panic("db init err:" + err.Error())
//}
//mongo.InitMongo()
//redis.InitRedis()
func Start(server *grpc.Server) error {
pbGroup.RegisterGroupServer(server, &groupServer{
GroupInterface: controller.NewGroupInterface(nil, cache.NewRedis().GetClient(), unrelation.NewMongo().GetClient()),
registerCenter: nil,
user: check.NewUserCheck(nil),
})
return nil
}
type groupServer struct {
//rpcPort int
//rpcRegisterName string
//schema string
//zkAddr []string
GroupInterface controller.GroupInterface
registerCenter discoveryRegistry.SvcDiscoveryRegistry
user *check.UserCheck
notification *notification.Check
}
//
//type groupServer struct {
// rpcPort int
// rpcRegisterName string
// schema string
// zkAddr []string
// GroupInterface controller.GroupInterface
// registerCenter discoveryRegistry.SvcDiscoveryRegistry
// user *check.UserCheck
//}
//
//func NewGroupServer(port int) *groupServer {
// log.NewPrivateLog(constant.LogFileName)
// g := groupServer{
// rpcPort: port,
// rpcRegisterName: config.Config.RpcRegisterName.OpenImGroupName,
// schema: config.Config.Zookeeper.Schema,
// zkAddr: config.Config.Zookeeper.ZkAddr,
// }
// //mysql init
// var mysql relation.Mysql
// var mongo unrelation.Mongo
// var groupModel relationTb.GroupModel
// var redis cache.RedisClient
// err := mysql.InitConn().AutoMigrateModel(&groupModel)
// if err != nil {
// panic("db init err:" + err.Error())
// }
// mongo.InitMongo()
// redis.InitRedis()
// mongo.CreateSuperGroupIndex()
// zkClient, err := openKeeper.NewClient(config.Config.Zookeeper.ZkAddr, config.Config.Zookeeper.Schema, 10, "", "")
// if err != nil {
// panic(err.Error())
// }
// registerIP, err := network.GetRpcRegisterIP(config.Config.RpcRegisterIP)
// g.registerCenter = zkClient
// err = g.registerCenter.Register(config.Config.RpcRegisterName.OpenImGroupName, registerIP, port)
// if err != nil {
// panic(err.Error())
// }
//
// //conns, err := g.registerCenter.GetConns(config.Config.RpcRegisterName.OpenImConversationName)
// g.GroupInterface = controller.NewGroupInterface(mysql.GormConn(), redis.GetClient(), mongo.GetClient())
// g.user = check.NewUserCheck()
// return &g
//}
//
//func (s *groupServer) Run() {
// operationID := utils.OperationIDGenerator()
// log.NewInfo(operationID, "group rpc start ")
// address := network.GetListenIP(config.Config.ListenIP) + ":" + strconv.Itoa(s.rpcPort)
// //listener network
// listener, err := net.Listen("tcp", address)
// if err != nil {
// panic("listening err:" + err.Error() + s.rpcRegisterName)
// }
// log.NewInfo(operationID, "listen network success, ", address, listener)
//
// defer listener.Close()
// //grpc server
// recvSize := 1024 * 1024 * constant.GroupRPCRecvSize
// sendSize := 1024 * 1024 * constant.GroupRPCSendSize
// var grpcOpts = []grpc.ServerOption{
// grpc.MaxRecvMsgSize(recvSize),
// grpc.MaxSendMsgSize(sendSize),
// grpc.UnaryInterceptor(middleware.RpcServerInterceptor),
// }
// if config.Config.Prometheus.Enable {
// promePkg.NewGrpcRequestCounter()
// promePkg.NewGrpcRequestFailedCounter()
// promePkg.NewGrpcRequestSuccessCounter()
// grpcOpts = append(grpcOpts, []grpc.ServerOption{
// // grpc.UnaryInterceptor(promePkg.UnaryServerInterceptorProme),
// grpc.StreamInterceptor(grpcPrometheus.StreamServerInterceptor),
// grpc.UnaryInterceptor(grpcPrometheus.UnaryServerInterceptor),
// }...)
// }
// srv := grpc.NewServer(grpcOpts...)
// defer srv.GracefulStop()
// //Service registers with etcd
// pbGroup.RegisterGroupServer(srv, s)
// err = srv.Serve(listener)
// if err != nil {
// log.NewError(operationID, "Serve failed ", err.Error())
// return
// }
// log.NewInfo(operationID, "group rpc success")
//}
func (s *groupServer) CheckGroupAdmin(ctx context.Context, groupID string) error {
if !tokenverify.IsAppManagerUid(ctx) {
groupMember, err := s.GroupInterface.TakeGroupMember(ctx, groupID, tracelog.GetOpUserID(ctx))