提交 71e38152 编写于 作者: Chongwen.jiang's avatar Chongwen.jiang

获取拼图添加打印日志...

上级 bc8d22c5
流水线 #23426 已失败 于阶段
in 2 second
...@@ -70,6 +70,6 @@ public class Constants { ...@@ -70,6 +70,6 @@ public class Constants {
public static final String JIGSAW_CODE_KEY = "jigsaw-code-{mobile}"; public static final String JIGSAW_CODE_KEY = "jigsaw-code-{mobile}";
/** h5拼图缓存时长*/ /** h5拼图缓存时长*/
public static final int JIGSAW_CODE_EXPIRE_SECONDS = 60 * 10; public static final int JIGSAW_CODE_EXPIRE_SECONDS = 60;
} }
...@@ -136,21 +136,13 @@ public class AutoCodeController extends AccountBaseController { ...@@ -136,21 +136,13 @@ public class AutoCodeController extends AccountBaseController {
AccountUtils.checkMobilePhone(request.getMobile()); AccountUtils.checkMobilePhone(request.getMobile());
// 拼图验证 // 拼图验证
Boolean recordData = authCodeService.validateJigsawCode(req, request); authCodeService.validateJigsawCode(req, request);
long start = System.currentTimeMillis();
// 发送短信验证码 // 发送短信验证码
processSysCode(request.getMobile(), request.getFlag()); processSysCode(request.getMobile(), request.getFlag());
long end1 = System.currentTimeMillis();
logger.info("getH5AuthCode-发送短信验证码 used {} million seconds", end1-start);
if (recordData) {
// 记录风控数据(记录是h5端)
authCodeService.recordRcData(req, request, super.getDeviceInfo("device_ip"));
long end2 = System.currentTimeMillis(); // 记录风控数据(记录是h5端)
logger.info("getH5AuthCode-recordRcData used {} million seconds", end2-start); authCodeService.recordRcData(req, request, super.getDeviceInfo("device_ip"));
}
return PicaResponse.toResponse(); return PicaResponse.toResponse();
} }
......
...@@ -20,7 +20,7 @@ public interface AuthCodeService { ...@@ -20,7 +20,7 @@ public interface AuthCodeService {
void recordRcData(HttpServletRequest req, BaseRequest baseRequest, String deviceIp); void recordRcData(HttpServletRequest req, BaseRequest baseRequest, String deviceIp);
Boolean validateJigsawCode(HttpServletRequest request, BaseRequest req); void validateJigsawCode(HttpServletRequest request, BaseRequest req);
JigsawCodeModel getJigsawCode(HttpServletRequest request, Integer sourceType, String mobile); JigsawCodeModel getJigsawCode(HttpServletRequest request, Integer sourceType, String mobile);
......
...@@ -79,7 +79,7 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -79,7 +79,7 @@ public class AuthCodeServiceImpl implements AuthCodeService {
String publicIp = IPUtil.getIpAdrress(request); String publicIp = IPUtil.getIpAdrress(request);
String deviceToken = baseRequest.getDevice_token(); String deviceToken = baseRequest.getDevice_token();
CheckcodeRiskReq rcReq = new CheckcodeRiskReq(); CheckcodeRiskReq rcReq = new CheckcodeRiskReq();
rcReq.setMobile(baseRequest.getMobile()); rcReq.setMobile(baseRequest.getMobile().replace(" ", ""));
rcReq.setIp(publicIp); rcReq.setIp(publicIp);
rcReq.setDeviceIp(deviceInfo.getDevice_ip()); rcReq.setDeviceIp(deviceInfo.getDevice_ip());
rcReq.setDeviceId(deviceToken); rcReq.setDeviceId(deviceToken);
...@@ -181,42 +181,32 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -181,42 +181,32 @@ public class AuthCodeServiceImpl implements AuthCodeService {
* @Return void * @Return void
*/ */
@Override @Override
public Boolean validateJigsawCode(HttpServletRequest request, BaseRequest paramReq) { public void validateJigsawCode(HttpServletRequest request, BaseRequest paramReq) {
long start = System.currentTimeMillis();
Boolean recordData = false;
if(!SourceTypeEnum.H5.getCode().equals(paramReq.getSourceType())) { if(!SourceTypeEnum.H5.getCode().equals(paramReq.getSourceType())) {
logger.error("validateJigsawCode-h5 sourceType error"); logger.error("validateJigsawCode-h5 sourceType error");
throw new PicaWarnException(PicaResultCode.PARAM_IS_INVALID.code(), PicaResultCode.PARAM_IS_INVALID.message()); throw new PicaWarnException(PicaResultCode.PARAM_IS_INVALID.code(), PicaResultCode.PARAM_IS_INVALID.message());
} }
// 调用风控服务,是否需要触发拼图验证 // 1、调用风控服务,是否需要触发拼图验证
String capCode = paramReq.getCapCode();
int xPos = paramReq.getxPos();
BaseRequest rcReq = new BaseRequest(); BaseRequest rcReq = new BaseRequest();
rcReq.setMobile(paramReq.getMobile()); rcReq.setMobile(paramReq.getMobile());
Boolean need = this.rcValidate(request, rcReq, "{}", paramReq.getSourceType()); Boolean need = this.rcValidate(request, rcReq, "{}", paramReq.getSourceType());
long end1 = System.currentTimeMillis();
logger.info("validateJigsawCode-rcValidate used {} million seconds", end1-start);
if (!need) { if (!need) {
recordData = true; // 不需要拼图验证,直接去发短信
return recordData; return;
} }
String key = Constants.JIGSAW_CODE_KEY.replace("{mobile}", paramReq.getMobile()); String capCode = paramReq.getCapCode();
int xPos = paramReq.getxPos();
if (StringUtils.isEmpty(capCode) || xPos <= 0) { if (StringUtils.isEmpty(capCode) || xPos <= 0) {
String key = Constants.JIGSAW_CODE_KEY.replace("{mobile}", paramReq.getMobile());
Long count = cacheClient.decr(key); Long count = cacheClient.decr(key);
logger.info("validateJigsawCode-count:{}", count); logger.info("validateJigsawCode-count:{}", count);
if (count.equals(99)) { if (count.equals(99)) {
// 上一次拼图验证通过时设置的值是100,这一次直接去发送短信验证码 // 本应需要拼图验证,但是在调用获取拼图数据接口时报错了,也直接去发送短信
cacheClient.del(key); return;
recordData = true;
return recordData;
} else {
logger.error("validateJigsawCode-abnormal request, jigsaw code cache not correct");
throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_CODE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_CODE_ERROR.getMessage());
} }
} }
// 2、调用拼图验证接口
PicaResponse resp = null; PicaResponse resp = null;
try { try {
SliderImageRequest req = new SliderImageRequest(); SliderImageRequest req = new SliderImageRequest();
...@@ -226,38 +216,27 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -226,38 +216,27 @@ public class AuthCodeServiceImpl implements AuthCodeService {
logger.info("validateJigsawCode-resp:{}", JSON.toJSONString(resp)); logger.info("validateJigsawCode-resp:{}", JSON.toJSONString(resp));
} catch (Exception e) { } catch (Exception e) {
logger.error("validateJigsawCode-sliderImageService.checkcapcode invoke exception", e.getMessage()); logger.error("validateJigsawCode-sliderImageService.checkcapcode invoke exception", e.getMessage());
/*throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_CODE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_CODE_ERROR.getMessage());*/
} }
String code = "2";
if (Objects.nonNull(resp)) { if (Objects.nonNull(resp)) {
if (!PicaResultCode.SUCCESS.code().equals(resp.getCode())) { if (!PicaResultCode.SUCCESS.code().equals(resp.getCode())) {
logger.info("validateJigsawCode-code exception"); logger.info("validateJigsawCode-code exception");
/*throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_CODE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_CODE_ERROR.getMessage());*/
} }
JSONObject respData = JSON.parseObject(JSON.toJSONString(resp.getData()), JSONObject.class); JSONObject respData = JSON.parseObject(JSON.toJSONString(resp.getData()), JSONObject.class);
if (Objects.nonNull(respData)) { if (Objects.nonNull(respData)) {
Object codeObj = respData.get("code"); Object codeObj = respData.get("code");
if (Objects.nonNull(codeObj)) { if (Objects.nonNull(codeObj)) {
code = String.valueOf(codeObj); String code = String.valueOf(codeObj);
if (StringUtil.equals(code, "2") ||
StringUtil.equals(code, "3")) {
// 3超期 2验证失败 1成功
throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_CODE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_CODE_ERROR.getMessage());
}
} }
} }
} }
if (StringUtil.equals(code, "2") ||
StringUtil.equals(code, "3")) {
// 3超期 2验证失败 1成功
throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_CODE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_CODE_ERROR.getMessage());
}
// 拼图验证通过
cacheClient.set(key, 100, Constants.JIGSAW_CODE_EXPIRE_SECONDS);
long end2 = System.currentTimeMillis();
logger.info("validateJigsawCode-total used {} million seconds", end2-start);
return recordData;
} }
/** /**
...@@ -270,7 +249,6 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -270,7 +249,6 @@ public class AuthCodeServiceImpl implements AuthCodeService {
*/ */
@Override @Override
public JigsawCodeModel getJigsawCode(HttpServletRequest request, Integer sourceType, String mobile) { public JigsawCodeModel getJigsawCode(HttpServletRequest request, Integer sourceType, String mobile) {
long start = System.currentTimeMillis();
logger.info("getJigsawCode-mobile:{}, sourceType:{}", mobile, sourceType); logger.info("getJigsawCode-mobile:{}, sourceType:{}", mobile, sourceType);
if(!SourceTypeEnum.H5.getCode().equals(sourceType)) { if(!SourceTypeEnum.H5.getCode().equals(sourceType)) {
logger.error("getJigsawCode-h5 sourceType error"); logger.error("getJigsawCode-h5 sourceType error");
...@@ -280,8 +258,6 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -280,8 +258,6 @@ public class AuthCodeServiceImpl implements AuthCodeService {
BaseRequest req = new BaseRequest(); BaseRequest req = new BaseRequest();
req.setMobile(mobile); req.setMobile(mobile);
Boolean need = this.rcValidate(request, req, "{}", sourceType); Boolean need = this.rcValidate(request, req, "{}", sourceType);
long end1 = System.currentTimeMillis();
logger.info("getJigsawCode-rcValidate used {} million seconds", end1-start);
// 调用proof服务获取拼图数据 // 调用proof服务获取拼图数据
JigsawCodeModel data = new JigsawCodeModel(); JigsawCodeModel data = new JigsawCodeModel();
...@@ -289,22 +265,20 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -289,22 +265,20 @@ public class AuthCodeServiceImpl implements AuthCodeService {
if (need) { if (need) {
try { try {
picResp = sliderImageService.getPic(); picResp = sliderImageService.getPic();
long end3 = System.currentTimeMillis();
logger.info("getJigsawCode-getPic used {} million seconds", end3-start);
logger.info("getJigsawCode-getPic-code:{}", picResp.getCode()); logger.info("getJigsawCode-getPic-code:{}", picResp.getCode());
} catch (Exception e) { } catch (Exception e) {
logger.error("getJigsawCode-sliderImageService.getPic invoke exception", e.getMessage()); logger.error("getJigsawCode-sliderImageService.getPic invoke exception", e.getMessage());
/*throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_GET_INVOKE_ERROR.getCode(), // 记录改手机号调用接口获取拼图时接口报错
AccountExceptionEnum.PICA_CAP_GET_INVOKE_ERROR.getMessage());*/ String key = Constants.JIGSAW_CODE_KEY.replace("{mobile}", mobile);
cacheClient.set(key, 100, Constants.JIGSAW_CODE_EXPIRE_SECONDS);
} }
if (Objects.nonNull(picResp)) { if (Objects.nonNull(picResp)) {
if (!PicaResultCode.SUCCESS.code().equals(picResp.getCode())) { if (!PicaResultCode.SUCCESS.code().equals(picResp.getCode())) {
logger.info("getJigsawCode-getPic-code exception"); logger.info("getJigsawCode-getPic-code exception");
/*throw new PicaWarnException(AccountExceptionEnum.PICA_CAP_GET_INVOKE_ERROR.getCode(),
AccountExceptionEnum.PICA_CAP_GET_INVOKE_ERROR.getMessage());*/
} }
JSONObject respData = JSON.parseObject(JSON.toJSONString(picResp.getData()), JSONObject.class); JSONObject respData = JSON.parseObject(JSON.toJSONString(picResp.getData()), JSONObject.class);
if (Objects.nonNull(respData)) { if (Objects.nonNull(respData)) {
logger.info("getJigsawCode-capcode:{}", respData.getString("capcode"));
data.setCapCode(respData.getString("capcode")); data.setCapCode(respData.getString("capcode"));
data.setBackImage(respData.getString("backImage")); data.setBackImage(respData.getString("backImage"));
data.setSlidingImage(respData.getString("slidingImage")); data.setSlidingImage(respData.getString("slidingImage"));
...@@ -312,8 +286,6 @@ public class AuthCodeServiceImpl implements AuthCodeService { ...@@ -312,8 +286,6 @@ public class AuthCodeServiceImpl implements AuthCodeService {
} }
} }
} }
long end2 = System.currentTimeMillis();
logger.info("getJigsawCode-getPic-total used {} million seconds", end2-start);
return data; return data;
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册