package dao

import (
	"fengkuangGameServerJob/model"
	"fengkuangGameServerJob/pkg/util"
	"time"
)

// GetSingleNoticeFromCache 从缓存中获取最新消息
func GetSingleNoticeFromCache() string {
	result, err := Redis().Get(Notice).Result()
	util.CheckRedisErr(err)
	return result
}

// CacheSingleNotice 缓存最新消息
func CacheSingleNotice(noticeJson string) {
	err := Redis().Set(Notice, noticeJson, 600*time.Second).Err()
	util.CheckRedisErr(err)
}

// GetSingleNotice 获取最新的公告
func GetSingleNotice(curUnix int64) *model.Notice {
	var notice *model.Notice
	err := DB().Raw(`
SELECT 
    id, title, content
FROM
    game_notice
WHERE
    type = 2 AND status = 2
        AND start_unix <= ?
		AND start_unix > 0
        AND expire_unix >= ?
ORDER BY id DESC
LIMIT 1;`, curUnix, curUnix).Scan(&notice).Error
	util.CheckErr(err)
	return notice
}
