123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package xiangyu
- import (
- "errors"
- "eta/eta_bridge/models/eta"
- "eta/eta_bridge/models/response"
- "eta/eta_bridge/services"
- "eta/eta_bridge/services/xiangyu"
- "time"
- )
- // LoginEtaByToken
- // @Description: 获取eta的session
- // @author: Roc
- // @datetime 2024-01-23 17:44:15
- // @param code string
- // @return resp response.LoginResp
- // @return err error
- // @return errMsg string
- func LoginEtaByToken(sid, token string) (resp response.LoginResp, err error, errMsg string) {
- // 获取xiangyu token
- isLogin, err := xiangyu.CheckSidPS(sid, token)
- if err != nil {
- return
- }
- if !isLogin {
- errMsg = `OA平台未登录,请重新登录`
- err = errors.New(errMsg)
- return
- }
- // 获取eta用户信息
- adminInfo, err := eta.GetSysUserByAdminName(sid)
- if err != nil {
- return
- }
- // 生成登录session
- resp, session, err, errMsg := services.CreateEtaSession(adminInfo)
- if err != nil {
- return
- }
- // 记录两方session的绑定信息
- thirdSession := &eta.SysThirdSession{
- ID: 0,
- SysUserID: uint64(session.SysUserId),
- UserName: session.UserName,
- AccessToken: session.AccessToken,
- ThirdAccessToken: token,
- //ThirdRefreshToken: tokenResp.RefreshToken,
- //ThirdExpiredTime: time.Now().Add(time.Duration(tokenResp.ExpiresIn-100) * time.Second),
- CreatedTime: time.Now(),
- LastUpdatedTime: time.Now(),
- }
- eta.AddSysThirdSession(thirdSession)
- return
- }
|