You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
4.3 KiB
Go

package app
import (
"joybuywork/internal/server/depend"
c_fuserpb "gits.branchcn.com/backend/certified/proto/go_proto/c_fuser"
c_guserpb "gits.branchcn.com/backend/certified/proto/go_proto/c_guser"
c_userpb "gits.branchcn.com/backend/certified/proto/go_proto/c_user"
chatpb "gits.branchcn.com/backend/deepai/proto/go_proto/ai_chat"
ddevicepb "gits.branchcn.com/backend/deeplink/proto/go_proto/ddevice"
deventpb "gits.branchcn.com/backend/deeplink/proto/go_proto/devent"
dlinkpb "gits.branchcn.com/backend/deeplink/proto/go_proto/dlink"
analyzepb "gits.branchcn.com/backend/fissionbi/proto/go_proto/bi_analyze"
factionpb "gits.branchcn.com/backend/fissionbi/proto/go_proto/bi_fission_action"
oprojectpb "gits.branchcn.com/backend/oplatform/proto/go_proto/oproject"
linkpb "gits.branchcn.com/backend/shortlink/proto/go_proto/link"
t_centerpb "gits.branchcn.com/backend/taskcenter/proto/go_proto/t_center"
t_center_statpb "gits.branchcn.com/backend/taskcenter/proto/go_proto/t_center_stat"
)
const (
certifiedName = "certified"
deepLinkName = "deeplink"
shortLinkName = "shortlink"
fissionBiName = "fissionbi"
oplatformName = "oplatform"
deepAiName = "deepai"
taskcenterName = "taskcenter"
)
func InitMicro() {
certified = certifiedService{
cUser: c_userpb.NewCUserService(certifiedName, depend.M.Client()),
fUser: c_fuserpb.NewCFUserService(certifiedName, depend.M.Client()),
gUser: c_guserpb.NewCGUserService(certifiedName, depend.M.Client()),
}
deepLink = deepLinkService{
link: dlinkpb.NewDLinkService(deepLinkName, depend.M.Client()),
event: deventpb.NewDEventService(deepLinkName, depend.M.Client()),
device: ddevicepb.NewDDeviceService(deepLinkName, depend.M.Client()),
}
shortLink = shortLinkService{
link: linkpb.NewLinkService(shortLinkName, depend.M.Client()),
}
fissionBi = fissionBiService{
analyze: analyzepb.NewBiAnalyzeService(fissionBiName, depend.M.Client()),
faction: factionpb.NewBiFissionActionService(fissionBiName, depend.M.Client()),
}
oplatform = oplatformService{
oproject: oprojectpb.NewOProjectService(oplatformName, depend.M.Client()),
}
deepAi = deepAiService{
chat: chatpb.NewChatService(deepAiName, depend.M.Client()),
}
taskcenter = taskcenterService{
center: t_centerpb.NewTCenterService(taskcenterName, depend.M.Client()),
centerStat: t_center_statpb.NewTCenterStatService(taskcenterName, depend.M.Client()),
}
}
// 认证
type certifiedService struct {
cUser c_userpb.CUserService
fUser c_fuserpb.CFUserService
gUser c_guserpb.CGUserService
}
var certified certifiedService
func NewCertifiedUser() c_userpb.CUserService {
return certified.cUser
}
func NewCertifiedFUser() c_fuserpb.CFUserService {
return certified.fUser
}
func NewCertifiedGUser() c_guserpb.CGUserService {
return certified.gUser
}
// 深度链接
type deepLinkService struct {
link dlinkpb.DLinkService
event deventpb.DEventService
device ddevicepb.DDeviceService
}
var deepLink deepLinkService
func NewDeepLinkLink() dlinkpb.DLinkService {
return deepLink.link
}
func NewDeepLinkEvent() deventpb.DEventService {
return deepLink.event
}
func NewDeepLinkDevice() ddevicepb.DDeviceService {
return deepLink.device
}
// 短链
type shortLinkService struct {
link linkpb.LinkService
}
var shortLink shortLinkService
func NewShortLinkNameLink() linkpb.LinkService {
return shortLink.link
}
// 玩法报表
type fissionBiService struct {
analyze analyzepb.BiAnalyzeService
faction factionpb.BiFissionActionService
}
var fissionBi fissionBiService
func NewFissionBiAnalyze() analyzepb.BiAnalyzeService {
return fissionBi.analyze
}
func NewFissionBiFissionAction() factionpb.BiFissionActionService {
return fissionBi.faction
}
// 开放平台
type oplatformService struct {
oproject oprojectpb.OProjectService
}
var oplatform oplatformService
func NewOProject() oprojectpb.OProjectService {
return oplatform.oproject
}
type deepAiService struct {
chat chatpb.ChatService
}
var deepAi deepAiService
func NewDeepAiChat() chatpb.ChatService {
return deepAi.chat
}
type taskcenterService struct {
centerStat t_center_statpb.TCenterStatService
center t_centerpb.TCenterService
}
var taskcenter taskcenterService
func NewTaskcenterCenterStat() t_center_statpb.TCenterStatService {
return taskcenter.centerStat
}
func NewTaskcenterCenter() t_centerpb.TCenterService {
return taskcenter.center
}