diff --git a/business/auth2/authprovider/defauther.go b/business/auth2/authprovider/defauther.go index bfe816ba3..75280b16c 100644 --- a/business/auth2/authprovider/defauther.go +++ b/business/auth2/authprovider/defauther.go @@ -77,6 +77,7 @@ func (a *DefAuther) UnionFindAuthBind(curAuthType string, unionAuthTypeList []st authBindEx = &auth2.AuthBindEx{ AuthBind: *authBind, } + a.UnbindAuth(authBind.UserID, curAuthType, model.AdminName) err = a.AddAuthBind(authBindEx, model.AdminName) // 自动绑定 } else if dao.IsNoRowsError(err) { err = nil diff --git a/business/jxcallback/auth/weixin/weixin.go b/business/jxcallback/auth/weixin/weixin.go index 30e2db587..ec3f4346b 100644 --- a/business/jxcallback/auth/weixin/weixin.go +++ b/business/jxcallback/auth/weixin/weixin.go @@ -228,6 +228,10 @@ func (a *AutherMiniProgram) Login(mobileNum, code string) (userID, LoginType str if err != nil { return "", "", auth.ConvertErr2NoUser(err, mobileNum) } + if user.OpenIDMini != sessionInfo.OpenID { + user.OpenIDMini = sessionInfo.OpenID + dao.UpdateEntity(db, user, "OpenIDMini") + } globals.SugarLogger.Debugf("AutherMiniProgram Login user.Tel:%s, code:%s, openID:%s", user.Tel, code, sessionInfo.OpenID) if mobileNum != user.Tel {