Browse Source

增加列表接口

boweniac 1 week ago
parent
commit
d0d04783f4

+ 14 - 1
internal/logic/fastgpt/get_apps_list_logic.go

@@ -3,6 +3,7 @@ package fastgpt
 import (
 	"context"
 	"github.com/zeromicro/go-zero/core/errorx"
+	"strconv"
 
 	"wechat-api/internal/svc"
 	"wechat-api/internal/types"
@@ -26,7 +27,19 @@ func NewGetAppsListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAp
 func (l *GetAppsListLogic) GetAppsList(req *types.AppsListReq) (resp *types.AppsListResp, err error) {
 	organizationId := l.ctx.Value("organizationId").(uint64)
 
-	data, err := l.svcCtx.MongoModel.AppsModel.FindAll(context.TODO(), req.Type, req.Keyword)
+	organizationIdStr := strconv.FormatUint(organizationId, 10)
+
+	user, err := l.svcCtx.MongoModel.UsersModel.FindOneByUsername(context.TODO(), organizationIdStr)
+	if err != nil {
+		return nil, errorx.NewInvalidArgumentError("fastgpt get list failed " + err.Error())
+	}
+
+	teamMember, err := l.svcCtx.MongoModel.TeamMembersModel.FindOneByUserId(context.TODO(), user.ID)
+	if err != nil {
+		return nil, errorx.NewInvalidArgumentError("fastgpt get list failed " + err.Error())
+	}
+
+	data, err := l.svcCtx.MongoModel.AppsModel.FindAll(context.TODO(), teamMember.TeamID, req.Type, req.Keyword)
 	if err != nil {
 		return nil, errorx.NewInvalidArgumentError("fastgpt get list failed " + err.Error())
 	}

+ 3 - 2
mongo_model/apps/appsmodelgen.go

@@ -18,7 +18,7 @@ type appsModel interface {
 	FindOne(ctx context.Context, id string) (*Apps, error)
 	Update(ctx context.Context, data *Apps) (*mongo.UpdateResult, error)
 	Delete(ctx context.Context, id string) (int64, error)
-	FindAll(ctx context.Context, apptype string, keyword *string) ([]*Apps, error)
+	FindAll(ctx context.Context, teamId primitive. ObjectID, apptype string, keyword *string) ([]*Apps, error)
 }
 
 type defaultAppsModel struct {
@@ -75,10 +75,11 @@ func (m *defaultAppsModel) Delete(ctx context.Context, id string) (int64, error)
 	return res, err
 }
 
-func (m *defaultAppsModel) FindAll(ctx context.Context, apptype string, keyword *string) ([]*Apps, error) {
+func (m *defaultAppsModel) FindAll(ctx context.Context, teamId primitive. ObjectID, apptype string, keyword *string) ([]*Apps, error) {
 	var data []*Apps
 
 	err := m.conn.Find(ctx, &data, bson.M{
+		"teamId": teamId,
 		"type": apptype,
 		"name": bson.M{
 			"$regex":   keyword, // 用你想要匹配的模式替换 searchPattern

+ 15 - 0
mongo_model/team_members/teammembersmodelgen.go

@@ -16,6 +16,7 @@ import (
 type teamMembersModel interface {
 	Insert(ctx context.Context, data *TeamMembers) error
 	FindOne(ctx context.Context, id string) (*TeamMembers, error)
+	FindOneByUserId(ctx context.Context, userId primitive. ObjectID) (*TeamMembers, error)
 	Update(ctx context.Context, data *TeamMembers) (*mongo.UpdateResult, error)
 	Delete(ctx context.Context, id string) (int64, error)
 }
@@ -57,6 +58,20 @@ func (m *defaultTeamMembersModel) FindOne(ctx context.Context, id string) (*Team
 	}
 }
 
+func (m *defaultTeamMembersModel) FindOneByUserId(ctx context.Context, userId primitive. ObjectID) (*TeamMembers, error) {
+	var data TeamMembers
+
+	err := m.conn.FindOne(ctx, &data, bson.M{"userId": userId})
+	switch err {
+	case nil:
+		return &data, nil
+	case mon.ErrNotFound:
+		return nil, ErrNotFound
+	default:
+		return nil, err
+	}
+}
+
 func (m *defaultTeamMembersModel) Update(ctx context.Context, data *TeamMembers) (*mongo.UpdateResult, error) {
 	res, err := m.conn.UpdateOne(ctx, bson.M{"_id": data.ID}, bson.M{"$set": data})
 	return res, err

+ 15 - 0
mongo_model/users/usersmodelgen.go

@@ -14,6 +14,7 @@ import (
 type usersModel interface {
 	Insert(ctx context.Context, data *Users) error
 	FindOne(ctx context.Context, id string) (*Users, error)
+	FindOneByUsername(ctx context.Context, username string) (*Users, error)
 	Update(ctx context.Context, data *Users) (*mongo.UpdateResult, error)
 	Delete(ctx context.Context, id string) (int64, error)
 }
@@ -54,6 +55,20 @@ func (m *defaultUsersModel) FindOne(ctx context.Context, id string) (*Users, err
 	}
 }
 
+func (m *defaultUsersModel) FindOneByUsername(ctx context.Context, username string) (*Users, error) {
+	var data Users
+
+	err := m.conn.FindOne(ctx, &data, bson.M{"username": username})
+	switch err {
+	case nil:
+		return &data, nil
+	case mon.ErrNotFound:
+		return nil, ErrNotFound
+	default:
+		return nil, err
+	}
+}
+
 func (m *defaultUsersModel) Update(ctx context.Context, data *Users) (*mongo.UpdateResult, error) {
 	res, err := m.conn.UpdateOne(ctx, bson.M{"_id": data.ID}, bson.M{"$set": data})
 	return res, err