feat; better pgsql

This commit is contained in:
ckt1031 2023-10-06 22:27:22 +08:00
parent 061f6774ba
commit c034cebc79
3 changed files with 4 additions and 22 deletions

View File

@ -22,19 +22,14 @@ var (
func CacheGetTokenByKey(key string) (*Token, error) { func CacheGetTokenByKey(key string) (*Token, error) {
var token Token var token Token
whereItem := "`key` = ?"
if common.UsingPostgreSQL {
// Make cmd compatible with PostgreSQL
whereItem = "\"key\" = ?"
}
if !common.RedisEnabled { if !common.RedisEnabled {
err := DB.Where(whereItem, key).First(&token).Error err := DB.Where(&Token{Key: key}).First(&token).Error
return &token, err return &token, err
} }
tokenObjectString, err := common.RedisGet(fmt.Sprintf("token:%s", key)) tokenObjectString, err := common.RedisGet(fmt.Sprintf("token:%s", key))
if err != nil { if err != nil {
err := DB.Where(whereItem, key).First(&token).Error err := DB.Where(&Token{Key: key}).First(&token).Error
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -52,14 +52,7 @@ func Redeem(key string, userId int) (quota int, err error) {
redemption := &Redemption{} redemption := &Redemption{}
err = DB.Transaction(func(tx *gorm.DB) error { err = DB.Transaction(func(tx *gorm.DB) error {
whereItem := "`key` = ?" err := tx.Set("gorm:query_option", "FOR UPDATE").Where(&Redemption{Key: key}).First(redemption).Error
if common.UsingPostgreSQL {
// Make cmd compatible with PostgreSQL
whereItem = "\"key\" = ?"
}
err := tx.Set("gorm:query_option", "FOR UPDATE").Where(whereItem, key).First(redemption).Error
if err != nil { if err != nil {
return errors.New("无效的兑换码") return errors.New("无效的兑换码")
} }

View File

@ -293,13 +293,7 @@ func GetUserEmail(id int) (email string, err error) {
} }
func GetUserGroup(id int) (group string, err error) { func GetUserGroup(id int) (group string, err error) {
selectItem := "`group`" err = DB.Model(&User{}).Where(&User{Id: id}).Select("group").Find(&group).Error
if common.UsingPostgreSQL {
selectItem = "\"group\""
}
err = DB.Model(&User{}).Where("id = ?", id).Select(selectItem).Find(&group).Error
return group, err return group, err
} }