Files
ai-agent/internal/repositories/ticket_no_sequence_repository.go
T
mlogclub efe801b8bf Init
2026-04-09 10:01:23 +08:00

39 lines
1.0 KiB
Go

package repositories
import (
"cs-agent/internal/models"
"time"
"gorm.io/gorm"
)
var TicketNoSequenceRepository = newTicketNoSequenceRepository()
func newTicketNoSequenceRepository() *ticketNoSequenceRepository {
return &ticketNoSequenceRepository{}
}
type ticketNoSequenceRepository struct{}
func (r *ticketNoSequenceRepository) GetByDateKey(db *gorm.DB, dateKey string) *models.TicketNoSequence {
ret := &models.TicketNoSequence{}
if err := db.Take(ret, "date_key = ?", dateKey).Error; err != nil {
return nil
}
return ret
}
func (r *ticketNoSequenceRepository) Create(db *gorm.DB, t *models.TicketNoSequence) error {
return db.Create(t).Error
}
func (r *ticketNoSequenceRepository) UpdateNextSeq(db *gorm.DB, id int64, currentSeq, nextSeq int64, updatedAt time.Time) (bool, error) {
result := db.Model(&models.TicketNoSequence{}).
Where("id = ? AND next_seq = ?", id, currentSeq).
Updates(map[string]any{
"next_seq": nextSeq,
"updated_at": updatedAt,
})
return result.RowsAffected == 1, result.Error
}