123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package repositories
- import (
- "context"
- "gorm.io/gorm"
- "sikey.com/websocket/models"
- )
- type MessageRepository interface {
- Create(ctx context.Context, m *models.Message) error
- // 查询未读消息
- FindUnread(ctx context.Context, uid string) ([]models.Message, error)
- }
- var _ MessageRepository = (*messageRepository)(nil)
- type messageRepository struct {
- source *gorm.DB
- }
- // FindUnread implements MessageRepository.
- func (repo *messageRepository) FindUnread(ctx context.Context, uid string) ([]models.Message, error) {
- var err error
- var mods []models.Message
- err = repo.source.WithContext(ctx).
- Where(&models.Message{
- IsRead: -1,
- Receiver: uid,
- }).
- // Debug().
- Find(&mods).
- Error
- return resultSlice(mods, err)
- }
- // Create implements MessageRepository.
- func (repo *messageRepository) Create(ctx context.Context, m *models.Message) error {
- return repo.source.WithContext(ctx).Model(&models.Message{}).Create(m).Error
- }
- func NewMessageRepository(source *gorm.DB) MessageRepository {
- return &messageRepository{source: source}
- }
|