create_fastgpt_logic.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package fastgpt
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-common/msg/errormsg"
  5. "github.com/zeromicro/go-zero/core/errorx"
  6. "time"
  7. team_members "wechat-api/mongo_model/team_members"
  8. teams "wechat-api/mongo_model/teams"
  9. users "wechat-api/mongo_model/users"
  10. "wechat-api/internal/svc"
  11. "wechat-api/internal/types"
  12. "github.com/zeromicro/go-zero/core/logx"
  13. )
  14. type CreateFastgptLogic struct {
  15. logx.Logger
  16. ctx context.Context
  17. svcCtx *svc.ServiceContext
  18. }
  19. func NewCreateFastgptLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFastgptLogic {
  20. return &CreateFastgptLogic{
  21. Logger: logx.WithContext(ctx),
  22. ctx: ctx,
  23. svcCtx: svcCtx}
  24. }
  25. func (l *CreateFastgptLogic) CreateFastgpt(req *types.CreateInfo) (resp *types.BaseMsgResp, err error) {
  26. //创建 fastgpt 用户
  27. user_info := &users.Users{
  28. Status: "active",
  29. Username: req.UserName,
  30. Password: "838b0ad79fa89e8b3a0cfdc6eab90ac24d20e30ca862855b93a4c736f8cdfedf",
  31. Avatar: "/icon/human.svg",
  32. Balance: int32(200000),
  33. PromotionRate: int32(15),
  34. Timezone: "Asia/Shanghai",
  35. }
  36. err = l.svcCtx.MongoModel.UsersModel.Insert(context.TODO(), user_info)
  37. if err != nil {
  38. return nil, errorx.NewInvalidArgumentError("fastgpt create failed " + err.Error())
  39. }
  40. // 创建团队
  41. teams_info := &teams.Teams{
  42. Name: *req.Title,
  43. OwnerID: user_info.ID,
  44. DefaultPermission: int32(0),
  45. Avatar: "/icon/logo.svg",
  46. CreateTime: time.Date(2024, 7, 10, 12, 0, 18, 197000000, time.UTC),
  47. Balance: int32(999900000),
  48. }
  49. err = l.svcCtx.MongoModel.TeamsModel.Insert(context.TODO(), teams_info)
  50. if err != nil {
  51. return nil, errorx.NewInvalidArgumentError("fastgpt create failed " + err.Error())
  52. }
  53. // 创建团队关系
  54. team_members_info := &team_members.TeamMembers{
  55. TeamID: teams_info.ID,
  56. UserID: user_info.ID,
  57. Name: "Owner",
  58. Role: "owner",
  59. Status: "active",
  60. CreateTime: time.Date(2024, 7, 10, 12, 0, 18, 197000000, time.UTC),
  61. DefaultTeam: true,
  62. Version: int32(0),
  63. }
  64. err = l.svcCtx.MongoModel.TeamMembersModel.Insert(context.TODO(), team_members_info)
  65. if err != nil {
  66. return nil, errorx.NewInvalidArgumentError("fastgpt create failed " + err.Error())
  67. }
  68. return &types.BaseMsgResp{Msg: errormsg.Success}, nil
  69. }