package logic import ( "context" "gitea.youtukeji.com.cn/youtu/youtu_grpc/app/admin_service/admin_service" "gitea.youtukeji.com.cn/youtu/youtu_grpc/app/admin_service/internal/svc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "github.com/zeromicro/go-zero/core/logx" ) type AddAppLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewAddAppLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddAppLogic { return &AddAppLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // AddApp 添加app func (l *AddAppLogic) AddApp(in *admin_service.AddAppRequest) (*admin_service.AddAppResponse, error) { // 检查app是否存在 if _, find := l.svcCtx.Cached.FindAppById(in.AppInfo.AppId); find { return nil, status.Errorf(codes.AlreadyExists, "app %s already exists", in.AppInfo.AppId) } // 添加app l.svcCtx.Cached.PutToEtcd(l.ctx, in.AppInfo) return &admin_service.AddAppResponse{}, nil }