message.go 650 B

1234567891011121314151617181920212223242526272829303132
  1. package data
  2. import (
  3. "context"
  4. "w303a/server/app/msg/internal/biz"
  5. "w303a/server/pkg/zaplog"
  6. )
  7. var messageIncrementIdKey = "message.incr-id"
  8. var _ biz.MessageRepo = (*messageRepo)(nil)
  9. type messageRepo struct {
  10. log *zaplog.Logger
  11. data *Data
  12. }
  13. func NewMessageRepo(data *Data, log *zaplog.Logger) biz.MessageRepo {
  14. return &messageRepo{
  15. data: data,
  16. log: log,
  17. }
  18. }
  19. // IncrementMessageId implements the biz.MessageRepo interface.
  20. func (repo *messageRepo) IncrementMessageId(ctx context.Context) (int64, error) {
  21. id, err := repo.data.redis.Incr(ctx, messageIncrementIdKey).Result()
  22. if err != nil {
  23. return 0, err
  24. }
  25. return id, nil
  26. }