From 6cf79edfd7fdfdb95147a896bf7630bf0b168cc7 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sat, 6 May 2023 21:35:03 +0800 Subject: [PATCH] perf: add index for channel's secret field --- channel/wechat-corp-account.go | 2 +- channel/wechat-test-account.go | 2 +- model/channel.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/channel/wechat-corp-account.go b/channel/wechat-corp-account.go index 7593db7..7f2802a 100644 --- a/channel/wechat-corp-account.go +++ b/channel/wechat-corp-account.go @@ -33,7 +33,7 @@ func (i *WeChatCorpAccountTokenStoreItem) Key() string { func (i *WeChatCorpAccountTokenStoreItem) IsShared() bool { appId := fmt.Sprintf("%s|%s", i.CorpId, i.AgentId) var count int64 = 0 - model.DB.Model(&model.Channel{}).Where("type = ? and app_id = ? and secret = ?", model.TypeWeChatCorpAccount, appId, i.AgentSecret).Count(&count) + model.DB.Model(&model.Channel{}).Where("secret = ? and app_id = ? and type = ?", model.TypeWeChatCorpAccount, appId, i.AgentSecret).Count(&count) return count > 1 } diff --git a/channel/wechat-test-account.go b/channel/wechat-test-account.go index 519d51f..57a030c 100644 --- a/channel/wechat-test-account.go +++ b/channel/wechat-test-account.go @@ -30,7 +30,7 @@ func (i *WeChatTestAccountTokenStoreItem) Key() string { func (i *WeChatTestAccountTokenStoreItem) IsShared() bool { var count int64 = 0 - model.DB.Model(&model.Channel{}).Where("type = ? and app_id = ? and secret = ?", model.TypeWeChatTestAccount, i.AppID, i.AppSecret).Count(&count) + model.DB.Model(&model.Channel{}).Where("secret = ? and app_id = ? and type = ?", model.TypeWeChatTestAccount, i.AppID, i.AppSecret).Count(&count) return count > 1 } diff --git a/model/channel.go b/model/channel.go index f381170..47a6ea1 100644 --- a/model/channel.go +++ b/model/channel.go @@ -27,7 +27,7 @@ type Channel struct { Name string `json:"name" gorm:"type:varchar(32);uniqueIndex:name_user_id"` Description string `json:"description"` Status int `json:"status" gorm:"default:1"` // enabled, disabled - Secret string `json:"secret"` + Secret string `json:"secret" gorm:"index"` AppId string `json:"app_id"` AccountId string `json:"account_id"` URL string `json:"url" gorm:"column:url"`