🎨 remove ent orm & add xorm
This commit is contained in:
@@ -15,9 +15,7 @@ import (
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/logic/user"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/svc"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/types"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthuser"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthusersocial"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/model"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
@@ -102,81 +100,84 @@ func (l *GiteeCallbackLogic) GiteeCallback(w http.ResponseWriter, r *http.Reques
|
||||
if err = json.Unmarshal(marshal, &giteeUser); err != nil {
|
||||
return err
|
||||
}
|
||||
Id := strconv.Itoa(giteeUser.ID)
|
||||
|
||||
tx, err := l.svcCtx.MySQLClient.Tx(l.ctx)
|
||||
tx := l.svcCtx.DB.NewSession()
|
||||
defer tx.Close()
|
||||
if err = tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
userSocial := model.ScaAuthUserSocial{
|
||||
OpenId: Id,
|
||||
Source: constant.OAuthSourceGitee,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
has, err := tx.Get(&userSocial)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
Id := strconv.Itoa(giteeUser.ID)
|
||||
|
||||
socialUser, err := l.svcCtx.MySQLClient.ScaAuthUserSocial.Query().
|
||||
Where(scaauthusersocial.OpenID(Id),
|
||||
scaauthusersocial.Source(constant.OAuthSourceGitee),
|
||||
scaauthusersocial.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
|
||||
if err != nil && !ent.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
|
||||
if ent.IsNotFound(err) {
|
||||
if !has {
|
||||
// 创建用户
|
||||
uid := idgen.NextId()
|
||||
uidStr := strconv.FormatInt(uid, 10)
|
||||
|
||||
addUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Create().
|
||||
SetUID(uidStr).
|
||||
SetAvatar(giteeUser.AvatarURL).
|
||||
SetUsername(giteeUser.Login).
|
||||
SetNickname(giteeUser.Name).
|
||||
SetBlog(giteeUser.Blog).
|
||||
SetEmail(giteeUser.Email).
|
||||
SetDeleted(constant.NotDeleted).
|
||||
SetGender(constant.Male).
|
||||
Save(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
addUser := model.ScaAuthUser{
|
||||
UID: uidStr,
|
||||
Avatar: giteeUser.AvatarURL,
|
||||
Username: giteeUser.Login,
|
||||
Nickname: giteeUser.Name,
|
||||
Blog: giteeUser.Blog,
|
||||
Email: giteeUser.Email,
|
||||
Deleted: constant.NotDeleted,
|
||||
Gender: constant.Male,
|
||||
}
|
||||
|
||||
if err = l.svcCtx.MySQLClient.ScaAuthUserSocial.Create().
|
||||
SetUserID(uidStr).
|
||||
SetOpenID(Id).
|
||||
SetSource(constant.OAuthSourceGitee).
|
||||
Exec(l.ctx); err != nil {
|
||||
return tx.Rollback()
|
||||
affected, err := tx.Insert(&addUser)
|
||||
if err != nil || affected == 0 {
|
||||
return err
|
||||
}
|
||||
socialUser := model.ScaAuthUserSocial{
|
||||
UserId: uidStr,
|
||||
OpenId: Id,
|
||||
Source: constant.OAuthSourceGitee,
|
||||
}
|
||||
insert, err := tx.Insert(&socialUser)
|
||||
if err != nil || insert == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if res, err := l.svcCtx.CasbinEnforcer.AddRoleForUser(uidStr, constant.User); !res || err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
sacAuthUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Query().
|
||||
Where(scaauthuser.UID(socialUser.UserID), scaauthuser.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
user := model.ScaAuthUser{
|
||||
UID: userSocial.UserId,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
have, err := tx.Get(&user)
|
||||
if err != nil || !have {
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(sacAuthUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(user, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
return tx.Rollback()
|
||||
if err = tx.Commit(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// HandleOauthLoginResponse 处理登录响应
|
||||
func HandleOauthLoginResponse(scaAuthUser *ent.ScaAuthUser, svcCtx *svc.ServiceContext, r *http.Request, w http.ResponseWriter, ctx context.Context) bool {
|
||||
data, result := user.HandleUserLogin(scaAuthUser, svcCtx, true, r, w, ctx)
|
||||
if !result {
|
||||
return false
|
||||
func HandleOauthLoginResponse(scaAuthUser model.ScaAuthUser, svcCtx *svc.ServiceContext, r *http.Request, w http.ResponseWriter, ctx context.Context) error {
|
||||
data, err := user.HandleUserLogin(scaAuthUser, svcCtx, true, r, w, ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
responseData := response.SuccessWithData(data)
|
||||
formattedScript := fmt.Sprintf(Script, responseData, svcCtx.Config.Web.URL)
|
||||
@@ -187,9 +188,9 @@ func HandleOauthLoginResponse(scaAuthUser *ent.ScaAuthUser, svcCtx *svc.ServiceC
|
||||
|
||||
// 写入响应内容
|
||||
if _, writeErr := w.Write([]byte(formattedScript)); writeErr != nil {
|
||||
return false
|
||||
return writeErr
|
||||
}
|
||||
return true
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetGiteeTokenAuthUrl 获取Gitee token
|
||||
|
@@ -12,9 +12,7 @@ import (
|
||||
"schisandra-album-cloud-microservices/app/core/api/common/constant"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/svc"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/types"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthuser"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthusersocial"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/model"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
@@ -102,70 +100,76 @@ func (l *GithubCallbackLogic) GithubCallback(w http.ResponseWriter, r *http.Requ
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tx, err := l.svcCtx.MySQLClient.Tx(l.ctx)
|
||||
Id := strconv.Itoa(gitHubUser.ID)
|
||||
tx := l.svcCtx.DB.NewSession()
|
||||
defer tx.Close()
|
||||
if err = tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
userSocial := model.ScaAuthUserSocial{
|
||||
OpenId: Id,
|
||||
Source: constant.OAuthSourceGithub,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
has, err := tx.Get(&userSocial)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
Id := strconv.Itoa(gitHubUser.ID)
|
||||
socialUser, err := l.svcCtx.MySQLClient.ScaAuthUserSocial.Query().
|
||||
Where(scaauthusersocial.OpenID(Id),
|
||||
scaauthusersocial.Source(constant.OAuthSourceGithub),
|
||||
scaauthusersocial.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
|
||||
if err != nil && !ent.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
|
||||
if ent.IsNotFound(err) {
|
||||
if !has {
|
||||
// 创建用户
|
||||
uid := idgen.NextId()
|
||||
uidStr := strconv.FormatInt(uid, 10)
|
||||
|
||||
addUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Create().
|
||||
SetUID(uidStr).
|
||||
SetAvatar(gitHubUser.AvatarURL).
|
||||
SetUsername(gitHubUser.Login).
|
||||
SetNickname(gitHubUser.Name).
|
||||
SetBlog(gitHubUser.Blog).
|
||||
SetEmail(gitHubUser.Email).
|
||||
SetDeleted(constant.NotDeleted).
|
||||
SetGender(constant.Male).
|
||||
Save(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
addUser := model.ScaAuthUser{
|
||||
UID: uidStr,
|
||||
Avatar: gitHubUser.AvatarURL,
|
||||
Username: gitHubUser.Login,
|
||||
Nickname: gitHubUser.Name,
|
||||
Blog: gitHubUser.Blog,
|
||||
Email: gitHubUser.Email,
|
||||
Deleted: constant.NotDeleted,
|
||||
Gender: constant.Male,
|
||||
}
|
||||
affected, err := tx.Insert(&addUser)
|
||||
if err != nil || affected == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = l.svcCtx.MySQLClient.ScaAuthUserSocial.Create().
|
||||
SetUserID(uidStr).
|
||||
SetOpenID(Id).
|
||||
SetSource(constant.OAuthSourceGithub).
|
||||
Exec(l.ctx); err != nil {
|
||||
return tx.Rollback()
|
||||
socialUser := model.ScaAuthUserSocial{
|
||||
UserId: uidStr,
|
||||
OpenId: Id,
|
||||
Source: constant.OAuthSourceGithub,
|
||||
}
|
||||
insert, err := tx.Insert(&socialUser)
|
||||
if err != nil || insert == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if res, err := l.svcCtx.CasbinEnforcer.AddRoleForUser(uidStr, constant.User); !res || err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
sacAuthUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Query().
|
||||
Where(scaauthuser.UID(socialUser.UserID), scaauthuser.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
user := model.ScaAuthUser{
|
||||
UID: userSocial.UserId,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
have, err := tx.Get(&user)
|
||||
if err != nil || !have {
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(sacAuthUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(user, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@@ -12,9 +12,7 @@ import (
|
||||
"schisandra-album-cloud-microservices/app/core/api/common/constant"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/svc"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/types"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthuser"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthusersocial"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/model"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
@@ -99,67 +97,74 @@ func (l *QqCallbackLogic) QqCallback(w http.ResponseWriter, r *http.Request, req
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tx, err := l.svcCtx.MySQLClient.Tx(l.ctx)
|
||||
|
||||
tx := l.svcCtx.DB.NewSession()
|
||||
defer tx.Close()
|
||||
if err = tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
userSocial := model.ScaAuthUserSocial{
|
||||
OpenId: authQQme.OpenID,
|
||||
Source: constant.OAuthSourceQQ,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
has, err := tx.Get(&userSocial)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
socialUser, err := l.svcCtx.MySQLClient.ScaAuthUserSocial.Query().
|
||||
Where(scaauthusersocial.OpenID(authQQme.OpenID),
|
||||
scaauthusersocial.Source(constant.OAuthSourceQQ),
|
||||
scaauthusersocial.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
|
||||
if err != nil && !ent.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
|
||||
if ent.IsNotFound(err) {
|
||||
if !has {
|
||||
// 创建用户
|
||||
uid := idgen.NextId()
|
||||
uidStr := strconv.FormatInt(uid, 10)
|
||||
|
||||
addUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Create().
|
||||
SetUID(uidStr).
|
||||
SetAvatar(qqUserInfo.FigureurlQq1).
|
||||
SetUsername(authQQme.OpenID).
|
||||
SetNickname(qqUserInfo.Nickname).
|
||||
SetDeleted(constant.NotDeleted).
|
||||
SetGender(constant.Male).
|
||||
Save(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
addUser := model.ScaAuthUser{
|
||||
UID: uidStr,
|
||||
Avatar: qqUserInfo.FigureurlQq1,
|
||||
Username: authQQme.OpenID,
|
||||
Nickname: qqUserInfo.Nickname,
|
||||
Deleted: constant.NotDeleted,
|
||||
Gender: constant.Male,
|
||||
}
|
||||
affected, err := tx.Insert(&addUser)
|
||||
if err != nil || affected == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = l.svcCtx.MySQLClient.ScaAuthUserSocial.Create().
|
||||
SetUserID(uidStr).
|
||||
SetOpenID(authQQme.OpenID).
|
||||
SetSource(constant.OAuthSourceQQ).
|
||||
Exec(l.ctx); err != nil {
|
||||
return tx.Rollback()
|
||||
socialUser := model.ScaAuthUserSocial{
|
||||
UserId: uidStr,
|
||||
OpenId: authQQme.OpenID,
|
||||
Source: constant.OAuthSourceGithub,
|
||||
}
|
||||
insert, err := tx.Insert(&socialUser)
|
||||
if err != nil || insert == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if res, err := l.svcCtx.CasbinEnforcer.AddRoleForUser(uidStr, constant.User); !res || err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(addUser, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
sacAuthUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Query().
|
||||
Where(scaauthuser.UID(socialUser.UserID), scaauthuser.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
user := model.ScaAuthUser{
|
||||
UID: userSocial.UserId,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
have, err := tx.Get(&user)
|
||||
if err != nil || !have {
|
||||
return err
|
||||
}
|
||||
|
||||
if result := HandleOauthLoginResponse(sacAuthUser, l.svcCtx, r, w, l.ctx); !result {
|
||||
return tx.Rollback()
|
||||
if err = HandleOauthLoginResponse(user, l.svcCtx, r, w, l.ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@@ -23,9 +23,7 @@ import (
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/logic/user"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/logic/websocket"
|
||||
"schisandra-album-cloud-microservices/app/core/api/internal/svc"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthuser"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/ent/scaauthusersocial"
|
||||
"schisandra-album-cloud-microservices/app/core/api/repository/mysql/model"
|
||||
)
|
||||
|
||||
type WechatCallbackLogic struct {
|
||||
@@ -115,86 +113,92 @@ func (l *WechatCallbackLogic) HandlerWechatLogin(openId string, clientId string,
|
||||
if openId == "" {
|
||||
return errors.New("openId is empty")
|
||||
}
|
||||
socialUser, err := l.svcCtx.MySQLClient.ScaAuthUserSocial.Query().
|
||||
Where(scaauthusersocial.OpenID(openId),
|
||||
scaauthusersocial.Source(constant.OAuthSourceWechat),
|
||||
scaauthusersocial.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
|
||||
if err != nil && !ent.IsNotFound(err) {
|
||||
tx := l.svcCtx.DB.NewSession()
|
||||
defer tx.Close()
|
||||
if err := tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
tx, err := l.svcCtx.MySQLClient.Tx(l.ctx)
|
||||
userSocial := model.ScaAuthUserSocial{
|
||||
OpenId: openId,
|
||||
Source: constant.OAuthSourceWechat,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
has, err := tx.Get(&userSocial)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if ent.IsNotFound(err) {
|
||||
if !has {
|
||||
// 创建用户
|
||||
uid := idgen.NextId()
|
||||
uidStr := strconv.FormatInt(uid, 10)
|
||||
avatar := utils.GenerateAvatar(uidStr)
|
||||
name := randomname.GenerateName()
|
||||
|
||||
addUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Create().
|
||||
SetUID(uidStr).
|
||||
SetAvatar(avatar).
|
||||
SetUsername(openId).
|
||||
SetNickname(name).
|
||||
SetDeleted(constant.NotDeleted).
|
||||
SetGender(constant.Male).
|
||||
Save(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
addUser := model.ScaAuthUser{
|
||||
UID: uidStr,
|
||||
Avatar: avatar,
|
||||
Username: openId,
|
||||
Nickname: name,
|
||||
Deleted: constant.NotDeleted,
|
||||
Gender: constant.Male,
|
||||
}
|
||||
affected, err := tx.Insert(&addUser)
|
||||
if err != nil || affected == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = l.svcCtx.MySQLClient.ScaAuthUserSocial.Create().
|
||||
SetUserID(uidStr).
|
||||
SetOpenID(openId).
|
||||
SetSource(constant.OAuthSourceWechat).
|
||||
Exec(l.ctx); err != nil {
|
||||
return tx.Rollback()
|
||||
socialUser := model.ScaAuthUserSocial{
|
||||
UserId: uidStr,
|
||||
OpenId: openId,
|
||||
Source: constant.OAuthSourceGithub,
|
||||
}
|
||||
insert, err := tx.Insert(&socialUser)
|
||||
if err != nil || insert == 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
if res, err := l.svcCtx.CasbinEnforcer.AddRoleForUser(uidStr, constant.User); !res || err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
data, result := user.HandleUserLogin(addUser, l.svcCtx, true, r, w, l.ctx)
|
||||
if !result {
|
||||
return tx.Rollback()
|
||||
data, err := user.HandleUserLogin(addUser, l.svcCtx, true, r, w, l.ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
marshal, fault := json.Marshal(data)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
marshal, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = websocket.QrcodeWebSocketHandler.SendMessageToClient(clientId, marshal)
|
||||
if err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
} else {
|
||||
sacAuthUser, fault := l.svcCtx.MySQLClient.ScaAuthUser.Query().
|
||||
Where(scaauthuser.UID(socialUser.UserID), scaauthuser.Deleted(constant.NotDeleted)).
|
||||
First(l.ctx)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
authUser := model.ScaAuthUser{
|
||||
UID: userSocial.UserId,
|
||||
Deleted: constant.NotDeleted,
|
||||
}
|
||||
have, err := tx.Get(&authUser)
|
||||
if err != nil || !have {
|
||||
return err
|
||||
}
|
||||
|
||||
data, result := user.HandleUserLogin(sacAuthUser, l.svcCtx, true, r, w, l.ctx)
|
||||
if !result {
|
||||
return tx.Rollback()
|
||||
data, err := user.HandleUserLogin(authUser, l.svcCtx, true, r, w, l.ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
marshal, fault := json.Marshal(data)
|
||||
if fault != nil {
|
||||
return tx.Rollback()
|
||||
marshal, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = websocket.QrcodeWebSocketHandler.SendMessageToClient(clientId, marshal)
|
||||
if err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := tx.Commit(); err != nil {
|
||||
return tx.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
|
Reference in New Issue
Block a user