diff --git a/mysql/group.sql b/mysql/group.sql new file mode 100644 index 0000000000000000000000000000000000000000..5555cb05dde0976983b9a5ab4cd4ed6e0bbcf616 --- /dev/null +++ b/mysql/group.sql @@ -0,0 +1,6 @@ +ALTER TABLE hilo.group_medal ADD expire_at DATETIME DEFAULT null NULL COMMENT '过期时间'; +CREATE INDEX expire_at USING BTREE ON hilo.group_medal (expire_at); + +ALTER TABLE hilo.res_medal ADD attr_type TINYINT UNSIGNED DEFAULT 1 NOT NULL COMMENT '勋章类型1.个人2.房间'; +update res_medal set attr_type = 2 where name like '%房间%'; +update res_medal set attr_type = 2 where id in (select res_medal_id from group_medal); \ No newline at end of file diff --git a/route/group_r/group_info.go b/route/group_r/group_info.go index 4758cdf9744b6a51a8f009dba5c6ae6090ffd16c..86f6d335b62df7eedf313d0cb0fe38c214baeea3 100644 --- a/route/group_r/group_info.go +++ b/route/group_r/group_info.go @@ -557,6 +557,7 @@ func GetRoomInfo(c *gin.Context) (*mycontext.MyContext, error) { err = mysql.Db.Model(&res_m.ResMedal{}). Joins("INNER JOIN group_medal m ON m.res_medal_id = res_medal.id"). Where("m.im_group_id = ?", groupId). + Where("(expire_at is null or expire_at > ?)", time.Now().Format(utils.DATETIME_FORMAT)). Order("m.id desc"). Find(&resMedals).Error if err == nil { @@ -1170,7 +1171,10 @@ func GroupMedalAll(c *gin.Context) (*mycontext.MyContext, error) { } resMedals := []res_m.ResMedal{} - if err := mysql.Db.Model(&res_m.ResMedal{}).Joins("inner join group_medal m on m.res_medal_id = res_medal.id").Where("m.im_group_id = ?", groupId).Order("m.id desc").Find(&resMedals).Error; err != nil { + if err := mysql.Db.Model(&res_m.ResMedal{}).Joins("inner join group_medal m on m.res_medal_id = res_medal.id"). + Where("m.im_group_id = ?", groupId). + Where("(expire_at is null or expire_at > ?)", time.Now().Format(utils.DATETIME_FORMAT)). + Order("m.id desc").Find(&resMedals).Error; err != nil { return myContext, err }