package model import "lone-services/pkg/modelbase" type ImageModel struct { modelbase.Base } func (m ImageModel) TableName() string { return modelbase.Prefix() + "images" } func (m ImageModel) Init() ImageModel { m.Table = m.TableName() return m } func (m ImageModel) Dates(userId int64, status int, start, end string) ([]string, error) { m = m.Init() var rows []struct { Day string `gorm:"column:day"` } err := m.Session(). Select("DATE_FORMAT(create_time, '%Y-%m-%d') AS day"). Where("user_id = ? AND status = ?", userId, status). Where("create_time BETWEEN ? AND ?", start, end). Group("day"). Order("day ASC"). Scan(&rows).Error if err != nil { return nil, err } dates := make([]string, 0, len(rows)) for _, row := range rows { if row.Day != "" { dates = append(dates, row.Day) } } return dates, nil }