提交 46e74536 编写于 作者: shihao.bao's avatar shihao.bao

8/11 平台优化/切换登录

上级 76dae9aa
流水线 #37083 已失败 于阶段
package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.enums.SourceTypeEnum;
......@@ -19,17 +18,14 @@ import com.pica.cloud.account.account.server.service.TokenService;
import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.account.account.server.util.RSAUtil;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.entity.PicaWarnException;
import com.pica.cloud.foundation.redis.CacheClient;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.service.starter.interceptor.EnabledLoginValidate;
import com.pica.cloud.foundation.utils.annotation.LoginPermission;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;
......@@ -38,9 +34,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.spring.web.json.Json;
import java.util.HashMap;
import java.util.Map;
@Api(description = "登录资源")
......@@ -439,4 +433,18 @@ public class LoginController extends AccountBaseController {
return PicaResponse.toResponse(login.getToken());
}
@ApiOperation(value = "切换登录")
@PostMapping("/login/switch")
@EnabledLoginValidate
public PicaResponse<String> loginSwitch() {
OneClickLoginReq req = new OneClickLoginReq();
req.setProductType(super.getProductType());
req.setSourceType(super.getSourceType());
req.setLoginIp(super.getIpAddr());
req.setUserTokenTourist(super.getUserTokenTourist());
req.setToken(super.getToken());
loginService.loginSwitch(req, super.getAccountUser());
return PicaResponse.toResponse();
}
}
package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.AccountUser;
import com.pica.cloud.account.account.server.entity.LogLoginAes;
import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.entity.PICAPDoctor;
......@@ -11,6 +12,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import com.pica.cloud.account.account.server.req.OneClickLoginReq;
import com.pica.cloud.account.account.server.vo.OneClickLoginResultVo;
import com.pica.cloud.foundation.utils.entity.PicaUser;
public interface LoginService {
/**
......@@ -101,4 +103,6 @@ public interface LoginService {
LoginResult loginQRCode(BaseRequest request);
void loginSwitch(OneClickLoginReq req, AccountUser accountUser);
}
......@@ -29,6 +29,7 @@ import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.entity.PicaWarnException;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import com.pica.cloud.foundation.utils.utils.ValidateUtils;
import com.pica.cloud.patient.smartcontract.common.utils.HttpClientCloudUtils;
......@@ -1083,4 +1084,21 @@ public class LoginServiceImpl implements LoginService {
return logLoginAesMapper.insert(aes);
}
/**
*切换登录
* @param req
*/
@Override
public void loginSwitch(OneClickLoginReq req, AccountUser accountUser) {
tokenUtils.tokenContinueTime(req.getToken(), req.getSourceType(), 0);
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(
Integer.valueOf(String.valueOf(accountUser.getAcctId())),
req.getProductType(), req.getSourceType(),
AccountTypeEnum.LOGIN_WE_CHAT.getCode(),
req.getLoginIp(),
AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(), req.getToken(), 1, req.getUserTokenTourist());
picaLogUtils.info(entity);
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册