diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java index 326977d83..aa56df9a9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java @@ -3,6 +3,7 @@ package cn.lili.controller.passport; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.Member; @@ -70,7 +71,7 @@ public class MemberBuyerController { log.info("receive login with session key {}", token); ResponseEntity timeoutResponseEntity = new ResponseEntity<>(ResultUtil.error(ResultCode.ERROR), HttpStatus.OK); - int timeoutSecond = 10; + int timeoutSecond = 20; DeferredResult deferredResult = new DeferredResult<>(timeoutSecond * 1000L, timeoutResponseEntity); CompletableFuture.runAsync(() -> { try { diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index f746b541c..c08f94d48 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -673,8 +673,8 @@ public class MemberServiceImpl extends ServiceImpl impleme public QRCodeLoginSessionVo createPcSession() { QRCodeLoginSessionVo session = new QRCodeLoginSessionVo(); session.setStatus(QRCodeLoginSessionStatusEnum.WAIT_SCANNING.getCode()); - //过期时间,10s - Long duration= 10 * 1000L; + //过期时间,20s + Long duration= 20 * 1000L; session.setDuration(duration); String token = CachePrefix.QR_CODE_LOGIN_SESSION.name()+SnowFlake.getIdStr(); session.setToken(token); @@ -684,6 +684,10 @@ public class MemberServiceImpl extends ServiceImpl impleme @Override public Object appScanner(String token) { + AuthUser tokenUser = UserContext.getCurrentUser(); + if (tokenUser == null) { + throw new ServiceException(ResultCode.USER_NOT_LOGIN); + } QRCodeLoginSessionVo session = (QRCodeLoginSessionVo) cache.get(token); if(session == null){ return QRCodeLoginSessionStatusEnum.NO_EXIST.getCode(); @@ -695,6 +699,10 @@ public class MemberServiceImpl extends ServiceImpl impleme @Override public boolean appSConfirm(String token, Integer code) { + AuthUser tokenUser = UserContext.getCurrentUser(); + if (tokenUser == null) { + throw new ServiceException(ResultCode.USER_NOT_LOGIN); + } QRCodeLoginSessionVo session = (QRCodeLoginSessionVo) cache.get(token); if(session == null){ return false; @@ -702,8 +710,7 @@ public class MemberServiceImpl extends ServiceImpl impleme if(code==1){ //同意 session.setStatus(QRCodeLoginSessionStatusEnum.VERIFIED.getCode()); - AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); - session.setUserId(Long.valueOf(currentUser.getId())); + session.setUserId(Long.valueOf(tokenUser.getId())); }else{ //拒绝 session.setStatus(QRCodeLoginSessionStatusEnum.CANCELED.getCode());