golang interface转int

var res []orm.Params  //切片map,value为interface;
// 获取当前时间
now := time.Now()

// 获取30天前的时间
thirtyDaysAgo := now.AddDate(0, 0, -30)

// 将时间转换为时间戳
timestamp := thirtyDaysAgo.Unix()

sql := fmt.Sprint("SELECT count(*) as num,media.id as article_id,media.title,media.createtime,media.imgurl,media.type,media.pv,media.source FROM `ugc_views` join media on media.id = ugc_views.source_id where media.createtime >= ? and ugc_views.view_type = 1 GROUP BY ugc_views.source_id order by media.pv desc")
models.DBhuoli.Raw(sql,timestamp).Values(&res)

for key,v := range res {
pv, _ := strconv.Atoi(v["pv"].(string)) //interface转int
num, _ := strconv.Atoi(v["num"].(string))
res[key]["view_num"] = pv + num
}
aid_pvnum := extend.SliceMapSort(res, "view_num", "int", "desc") //根据切片map的某个值排序

return aid_pvnum, nil
posted @ 2024-03-23 16:43  17601621550  阅读(46)  评论(0编辑  收藏  举报