From d86db64d28cbc9f8440f006269b88f846bf5a081 Mon Sep 17 00:00:00 2001 From: chenweijian <820961417@qq.com> Date: Thu, 13 Apr 2023 15:45:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E5=8B=8B=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql/group.sql | 6 ++++++ route/group_r/group_info.go | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 mysql/group.sql diff --git a/mysql/group.sql b/mysql/group.sql new file mode 100644 index 0000000..5555cb0 --- /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 4758cdf..86f6d33 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 } -- 2.22.0