go_dreamfactory/modules/modulebase.go
2022-06-01 15:57:46 +08:00

51 lines
1.6 KiB
Go

package modules
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"github.com/liwei1dao/lego/base"
"github.com/liwei1dao/lego/core"
"github.com/liwei1dao/lego/core/cbase"
"github.com/liwei1dao/lego/sys/log"
"google.golang.org/protobuf/proto"
)
type ModuleBase struct {
cbase.ModuleBase
service base.IRPCXService
}
func (this *ModuleBase) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
return
}
func (this *ModuleBase) SendMsgToAgent(GatewayServiceId, SessionId, ServiceMethod string, msg proto.Message) (err error) {
reply := &pb.RPCMessageReply{}
data, _ := proto.Marshal(msg)
if err = this.service.RpcCallById(GatewayServiceId, string(comm.Rpc_GatewayAgentSendMsg), context.Background(), &pb.AgentSendMessageReq{
UserSessionId: SessionId,
ServiceMethod: ServiceMethod,
Data: data,
}, reply); err != nil {
log.Errorf("SendMsgToAgent%s:[%s] err:%v", SessionId, ServiceMethod, err)
}
return
}
func (this *ModuleBase) SendMsgToAgents(GatewayServiceId, SessionId, ServiceMethod string, msg proto.Message) (err error) {
reply := &pb.RPCMessageReply{}
data, _ := proto.Marshal(msg)
if err = this.service.RpcCallById(GatewayServiceId, string(comm.Rpc_GatewayAgentSendMsg), context.Background(), &pb.AgentSendMessageReq{
UserSessionId: SessionId,
ServiceMethod: ServiceMethod,
Data: data,
}, reply); err != nil {
log.Errorf("SendMsgToAgent%s:[%s] err:%v", SessionId, ServiceMethod, err)
}
return
}