appsmodelgen.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. // Code generated by goctl. DO NOT EDIT.
  2. // goctl 1.8.1
  3. package model
  4. import (
  5. "context"
  6. "time"
  7. "github.com/zeromicro/go-zero/core/stores/mon"
  8. "go.mongodb.org/mongo-driver/bson"
  9. "go.mongodb.org/mongo-driver/bson/primitive"
  10. "go.mongodb.org/mongo-driver/mongo"
  11. )
  12. type appsModel interface {
  13. Insert(ctx context.Context, data *Apps) error
  14. FindOne(ctx context.Context, id string) (*Apps, error)
  15. Update(ctx context.Context, data *Apps) (*mongo.UpdateResult, error)
  16. UpdateInfo(ctx context.Context, data *Apps) (*mongo.UpdateResult, error)
  17. Delete(ctx context.Context, id string) (int64, error)
  18. FindAll(ctx context.Context, teamId primitive. ObjectID, apptype string, keyword *string) ([]*Apps, error)
  19. }
  20. type defaultAppsModel struct {
  21. conn *mon.Model
  22. }
  23. func newDefaultAppsModel(conn *mon.Model) *defaultAppsModel {
  24. return &defaultAppsModel{conn: conn}
  25. }
  26. func (m *defaultAppsModel) Insert(ctx context.Context, data *Apps) error {
  27. if data.ID.IsZero() {
  28. data.ID = primitive.NewObjectID()
  29. data.UpdateTime = time.Now()
  30. }
  31. _, err := m.conn.InsertOne(ctx, data)
  32. return err
  33. }
  34. func (m *defaultAppsModel) FindOne(ctx context.Context, id string) (*Apps, error) {
  35. oid, err := primitive.ObjectIDFromHex(id)
  36. if err != nil {
  37. return nil, ErrInvalidObjectId
  38. }
  39. var data Apps
  40. err = m.conn.FindOne(ctx, &data, bson.M{"_id": oid})
  41. switch err {
  42. case nil:
  43. return &data, nil
  44. case mon.ErrNotFound:
  45. return nil, ErrNotFound
  46. default:
  47. return nil, err
  48. }
  49. }
  50. func (m *defaultAppsModel) Update(ctx context.Context, data *Apps) (*mongo.UpdateResult, error) {
  51. data.UpdateTime = time.Now()
  52. res, err := m.conn.UpdateOne(ctx, bson.M{"_id": data.ID}, bson.M{"$set": data})
  53. return res, err
  54. }
  55. func (m *defaultAppsModel) UpdateInfo(ctx context.Context, data *Apps) (*mongo.UpdateResult, error) {
  56. data.UpdateTime = time.Now()
  57. res, err := m.conn.UpdateOne(ctx, bson.M{"_id": data.ID}, bson.M{
  58. "$set": bson.M{
  59. "name": data.Name,
  60. "intro": data.Intro,
  61. },
  62. })
  63. return res, err
  64. }
  65. func (m *defaultAppsModel) Delete(ctx context.Context, id string) (int64, error) {
  66. oid, err := primitive.ObjectIDFromHex(id)
  67. if err != nil {
  68. return 0, ErrInvalidObjectId
  69. }
  70. res, err := m.conn.DeleteOne(ctx, bson.M{"_id": oid})
  71. return res, err
  72. }
  73. func (m *defaultAppsModel) FindAll(ctx context.Context, teamId primitive. ObjectID, apptype string, keyword *string) ([]*Apps, error) {
  74. var data []*Apps
  75. k := ""
  76. if keyword != nil {
  77. k = *keyword
  78. }
  79. err := m.conn.Find(ctx, &data, bson.M{
  80. "teamId": teamId,
  81. "type": apptype,
  82. "name": bson.M{
  83. "$regex": k, // 用你想要匹配的模式替换 searchPattern
  84. "$options": "i", // 可选:i 表示不区分大小写
  85. },
  86. })
  87. switch err {
  88. case nil:
  89. return data, nil
  90. case mon.ErrNotFound:
  91. return nil, ErrNotFound
  92. default:
  93. return nil, err
  94. }
  95. }