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

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

上级 005770bb
流水线 #24682 已失败 于阶段
in 0 second
...@@ -68,6 +68,19 @@ public abstract class AccountBaseController extends BaseController { ...@@ -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) //保存token,并返回token值(web或app,不包含h5)
public String saveToken(String token, PicaUser picaUser) { public String saveToken(String token, PicaUser picaUser) {
if (StringUtils.isNotEmpty(token)) { if (StringUtils.isNotEmpty(token)) {
......
...@@ -117,7 +117,7 @@ public class AutoCodeController extends AccountBaseController { ...@@ -117,7 +117,7 @@ public class AutoCodeController extends AccountBaseController {
loginAes.setDeviceToken(authCodeReq.getDevice_token()); loginAes.setDeviceToken(authCodeReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType()); loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(authCodeReq.getMobile()); loginAes.setMobile(authCodeReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo")); loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes); loginService.insertLoginAesLog(loginAes);
}else { }else {
//执行原逻辑 //执行原逻辑
......
...@@ -60,13 +60,36 @@ public class LoginController extends AccountBaseController { ...@@ -60,13 +60,36 @@ public class LoginController extends AccountBaseController {
/** /**
* 密码登录接口 * 密码登录接口
* *
* @param entity * @param authCodeReq
* @return * @return
* @throws Exception * @throws Exception
*/ */
@ApiOperation("密码登录接口") @ApiOperation("密码登录接口")
@PostMapping("/login") @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); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setProductType(super.getProductType()); request.setProductType(super.getProductType());
Integer sourceType = super.getSourceType(); Integer sourceType = super.getSourceType();
...@@ -85,15 +108,36 @@ public class LoginController extends AccountBaseController { ...@@ -85,15 +108,36 @@ public class LoginController extends AccountBaseController {
} }
/** /**
* 一键登录 * 一键登录-验证码登录
* *
* @param entity * @param authCodeReq
* @return * @return
* @throws Exception * @throws Exception
*/ */
@ApiOperation("PC,App端一键登录接口,需要完善信息") @ApiOperation("PC,App端验证码登录接口,需要完善信息")
@PostMapping(value = "/login-register") @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); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setProductType(super.getProductType()); request.setProductType(super.getProductType());
Integer sourceType = super.getSourceType(); Integer sourceType = super.getSourceType();
...@@ -237,7 +281,7 @@ public class LoginController extends AccountBaseController { ...@@ -237,7 +281,7 @@ public class LoginController extends AccountBaseController {
loginAes.setDeviceToken(req.getDevice_token()); loginAes.setDeviceToken(req.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType()); loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(req.getMobile()); loginAes.setMobile(req.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo")); loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes); loginService.insertLoginAesLog(loginAes);
}else { }else {
//执行原逻辑 //执行原逻辑
...@@ -293,7 +337,7 @@ public class LoginController extends AccountBaseController { ...@@ -293,7 +337,7 @@ public class LoginController extends AccountBaseController {
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType()); loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setOneToken(aesReq.getToken()); loginAes.setOneToken(aesReq.getToken());
loginAes.setMobile(aesReq.getMobile()); loginAes.setMobile(aesReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo")); loginAes.setDeviceInfo(super.getDeviceInfoLow("deviceinfo"));
loginService.insertLoginAesLog(loginAes); loginService.insertLoginAesLog(loginAes);
}else { }else {
//执行原逻辑 //执行原逻辑
......
...@@ -21,6 +21,8 @@ public class AesAuthCodeReq { ...@@ -21,6 +21,8 @@ public class AesAuthCodeReq {
private String token; private String token;
private String authCode;
/** /**
* 加密后的密文 * 加密后的密文
*/ */
...@@ -85,4 +87,12 @@ public class AesAuthCodeReq { ...@@ -85,4 +87,12 @@ public class AesAuthCodeReq {
public void setToken(String token) { public void setToken(String token) {
this.token = token; this.token = token;
} }
public String getAuthCode() {
return authCode;
}
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册