package models import ( "encoding/hex" "mtp2_if/db" "mtp2_if/dbmodels" "mtp2_if/global/utils" ) // GetLoginAccountByLoginCode 通过登录代码查询登录账号信息 func GetLoginAccountByLoginCode(loginCode string) (*dbmodels.Loginaccount, error) { engine := db.GetEngine() // 如果要使用 *dbmodels.Loginaccount, 则应初始化后再使用 var loginaccount *dbmodels.Loginaccount loginaccount = &dbmodels.Loginaccount{} // var loginaccount dbmodels.Loginaccount if _, err := engine.Where("LOGINCODE = ?", loginCode).Get(loginaccount); err != nil { return nil, err } return loginaccount, nil } // GetLoginAccountByMobile 通过手机号码查询登录账号信息 func GetLoginAccountByMobile(mobile string) (*dbmodels.Loginaccount, error) { engine := db.GetEngine() var loginaccount *dbmodels.Loginaccount // 手机号码需要AES加密 key, _ := hex.DecodeString(utils.AESSecretKey) if mobileEncrypted, err := utils.AESEncrypt([]byte(mobile), key); err == nil { // 加密成功后进行查询 if _, err := engine.Join("INNER", "USERINFO", "USERINFO.USERID = LOGINACCOUNT.USERID"). Where("USERINFO.MOBILE = ?", hex.EncodeToString(mobileEncrypted)).Get(loginaccount); err != nil { return nil, err } } return loginaccount, nil } // GetUserAccount 获取用户账户信息 func GetUserAccount(userID int) (*dbmodels.Useraccount, error) { engine := db.GetEngine() var userAccount *dbmodels.Useraccount _, err := engine.Where("USERID = ?", userID).Get(userAccount) if err != nil { // 查询失败 return nil, err } return userAccount, nil } // GetUserInfo 获取用户信息 func GetUserInfo(userID int) (*dbmodels.Userinfo, error) { engine := db.GetEngine() var userInfo *dbmodels.Userinfo _, err := engine.Where("USERID = ?", userID).Get(userInfo) if err != nil { // 查询失败 return nil, err } return userInfo, nil }