fix rest service publish

This commit is contained in:
Liujian
2024-11-27 20:18:23 +08:00
parent 58f192b6e9
commit 53d895f046
4 changed files with 25 additions and 4 deletions
+22 -1
View File
@@ -3,6 +3,8 @@ package service
import (
"context"
"github.com/APIParkLab/APIPark/service/subscribe"
service_dto "github.com/APIParkLab/APIPark/module/service/dto"
"github.com/eolinker/go-common/auto"
@@ -16,7 +18,8 @@ import (
var _ strategy_filter.IRemoteFilter = (*imlAppFilter)(nil)
type imlAppFilter struct {
service service.IServiceService `autowired:""`
service service.IServiceService `autowired:""`
subscriberService subscribe.ISubscribeService `autowired:""`
}
func (i *imlAppFilter) Name() string {
@@ -94,6 +97,24 @@ func (i *imlAppFilter) RemoteList(ctx context.Context, keyword string, condition
if condition == nil {
condition = make(map[string]interface{})
}
if serviceId, ok := condition["service"]; ok {
// 查询订阅了该服务的消费者
v, ok := serviceId.(string)
if ok {
subscribers, err := i.subscriberService.Subscribers(ctx, v, subscribe.ApplyStatusSubscribe)
if err != nil {
return nil, 0, err
}
if len(subscribers) > 0 {
appIds := utils.SliceToSlice(subscribers, func(s *subscribe.Subscribe) string {
return s.Application
})
condition["uuid"] = appIds
}
}
delete(condition, "service")
}
condition["as_app"] = true
if pageSize == -1 {
// 获取全部