special error

test-errcode
withchao 2 years ago
parent e9eea7cd9a
commit b5a080623c

@ -7,6 +7,7 @@ import (
"OpenIM/pkg/errs" "OpenIM/pkg/errs"
"context" "context"
"fmt" "fmt"
mysqlDriver "github.com/go-sql-driver/mysql"
"gorm.io/driver/mysql" "gorm.io/driver/mysql"
"strings" "strings"
"time" "time"
@ -65,9 +66,24 @@ func newMysqlGormDB() (*gorm.DB, error) {
// gorm mysql // gorm mysql
func NewGormDB() (*gorm.DB, error) { func NewGormDB() (*gorm.DB, error) {
specialerror.AddReplace(gorm.ErrRecordNotFound, errs.ErrRecordNotFound) specialerror.AddReplace(gorm.ErrRecordNotFound, errs.ErrRecordNotFound)
specialerror.AddErrHandler(replaceDuplicateKey)
return newMysqlGormDB() return newMysqlGormDB()
} }
func replaceDuplicateKey(err error) errs.CodeError {
if IsMysqlDuplicateKey(err) {
return errs.ErrDuplicateKey
}
return nil
}
func IsMysqlDuplicateKey(err error) bool {
if mysqlErr, ok := err.(*mysqlDriver.MySQLError); ok {
return mysqlErr.Number == 1062
}
return false
}
type Writer struct{} type Writer struct{}
func (w Writer) Printf(format string, args ...interface{}) { func (w Writer) Printf(format string, args ...interface{}) {

@ -40,6 +40,8 @@ const (
CallbackError = 80000 CallbackError = 80000
) )
const DuplicateKeyError = 12345
// 账号错误码 // 账号错误码
const ( const (
UserIDNotFoundError = 91001 //UserID不存在 或未注册 UserIDNotFoundError = 91001 //UserID不存在 或未注册

@ -41,6 +41,7 @@ var (
ErrTokenNotExist = NewCodeError(TokenNotExistError, "TokenNotExistError") //在redis中不存在 ErrTokenNotExist = NewCodeError(TokenNotExistError, "TokenNotExistError") //在redis中不存在
ErrTokenDifferentPlatformID = NewCodeError(TokenDifferentPlatformIDError, "TokenDifferentPlatformIDError") ErrTokenDifferentPlatformID = NewCodeError(TokenDifferentPlatformIDError, "TokenDifferentPlatformIDError")
ErrTokenDifferentUserID = NewCodeError(TokenDifferentUserIDError, "TokenDifferentUserIDError") ErrTokenDifferentUserID = NewCodeError(TokenDifferentUserIDError, "TokenDifferentUserIDError")
ErrDuplicateKey = NewCodeError(DuplicateKeyError, "DuplicateKeyError")
ErrMessageHasReadDisable = NewCodeError(MessageHasReadDisable, "MessageHasReadDisable") ErrMessageHasReadDisable = NewCodeError(MessageHasReadDisable, "MessageHasReadDisable")

Loading…
Cancel
Save