提交 adcf01fe 编写于 作者:  Peijun.zhao's avatar Peijun.zhao

兼容安卓加密接口报错,并记录流水

上级 005770bb
流水线 #24682 已失败 于阶段
in 0 second
......@@ -68,6 +68,19 @@ public abstract class AccountBaseController extends BaseController {
}
}
public String getDeviceInfoLow(String key) {
String deviceInfo = this.getRequest().getHeader("deviceinfo");
if (StringUtils.isBlank(key) || StringUtils.isBlank(deviceInfo)) {
return StringUtils.EMPTY;
}
try {
JSONObject jsonObject = JSONObject.parseObject(deviceInfo);
return jsonObject.toJSONString();
} catch (Exception ex) {
return StringUtils.EMPTY;
}
}
//保存token,并返回token值(web或app,不包含h5)
public String saveToken(String token, PicaUser picaUser) {
if (StringUtils.isNotEmpty(token)) {
......
......@@ -117,7 +117,7 @@ public class AutoCodeController extends AccountBaseController {
loginAes.setDeviceToken(authCodeReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(authCodeReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
......
......@@ -60,13 +60,36 @@ public class LoginController extends AccountBaseController {
/**
* 密码登录接口
*
* @param entity
* @param authCodeReq
* @return
* @throws Exception
*/
@ApiOperation("密码登录接口")
@PostMapping("/login")
public PicaResponse<LoginResult> loginByPassword(@RequestBody EncryptEntity entity) throws Exception {
public PicaResponse<LoginResult> loginByPassword(@RequestBody AesAuthCodeReq authCodeReq) throws Exception {
//added by joy begin
EncryptEntity entity = new EncryptEntity();
if(StringUtils.isEmpty(authCodeReq.getKey()) && StringUtils.isEmpty(authCodeReq.getContent())){
//明文时处理
entity = RSAUtil.getAuthCodeEncrypt(authCodeReq);
logger.info("AesAuthCodeReq loginByPassword:" + JSONObject.toJSONString(authCodeReq));
logger.info("AesAuthCodeReq loginByPassword encrypt:" + JSONObject.toJSONString(entity));
//个别报错数据记流水
LogLoginAes loginAes = new LogLoginAes();
loginAes.setChannel(4);
loginAes.setDeviceToken(authCodeReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(authCodeReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
entity.setKey(authCodeReq.getKey());
entity.setContent(authCodeReq.getContent());
}
//added by joy end
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setProductType(super.getProductType());
Integer sourceType = super.getSourceType();
......@@ -85,15 +108,36 @@ public class LoginController extends AccountBaseController {
}
/**
* 一键登录
* 一键登录-验证码登录
*
* @param entity
* @param authCodeReq
* @return
* @throws Exception
*/
@ApiOperation("PC,App端一键登录接口,需要完善信息")
@ApiOperation("PC,App端验证码登录接口,需要完善信息")
@PostMapping(value = "/login-register")
public PicaResponse<LoginResult> loginAndRegister(@RequestBody EncryptEntity entity) throws Exception {
public PicaResponse<LoginResult> loginAndRegister(@RequestBody AesAuthCodeReq authCodeReq) throws Exception {
//added by joy begin
EncryptEntity entity = new EncryptEntity();
if(StringUtils.isEmpty(authCodeReq.getKey()) && StringUtils.isEmpty(authCodeReq.getContent())){
//明文时处理
entity = RSAUtil.getAuthCodeEncrypt(authCodeReq);
logger.info("AesAuthCodeReq loginAndRegister:" + JSONObject.toJSONString(authCodeReq));
logger.info("AesAuthCodeReq loginAndRegister encrypt:" + JSONObject.toJSONString(entity));
//个别报错数据记流水
LogLoginAes loginAes = new LogLoginAes();
loginAes.setChannel(5);
loginAes.setDeviceToken(authCodeReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(authCodeReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
entity.setKey(authCodeReq.getKey());
entity.setContent(authCodeReq.getContent());
}
//added by joy end
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setProductType(super.getProductType());
Integer sourceType = super.getSourceType();
......@@ -237,7 +281,7 @@ public class LoginController extends AccountBaseController {
loginAes.setDeviceToken(req.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(req.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
......@@ -293,7 +337,7 @@ public class LoginController extends AccountBaseController {
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setOneToken(aesReq.getToken());
loginAes.setMobile(aesReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
......
......@@ -21,6 +21,8 @@ public class AesAuthCodeReq {
private String token;
private String authCode;
/**
* 加密后的密文
*/
......@@ -85,4 +87,12 @@ public class AesAuthCodeReq {
public void setToken(String token) {
this.token = token;
}
public String getAuthCode() {
return authCode;
}
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册