diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index ef2b23b42..4f024dd3f 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -987,13 +987,14 @@ public class WxUserGrantController extends BaseController { public ResultData getUserinfoQrCode() { WxCUser user = getWxCUser(); if(user.basicInfoIs()){ - String key = Constant.cuserQr+user.getUserId(); + String key = Constant.cuserQr+ getTenantInfo().getTenantId() + ":" +user.getUserId(); String qrCode = RedisCacheUtils.getCacheString(objectCommonRedisTemplate, key); if(StringUtils.isBlank(qrCode)){ WxCUserBasicInfo wxCUserBasicInfo; try { wxCUserBasicInfo = getShortCacheMember(user.getUserId(),getFinalTenantId()); - if(StringUtils.isNotBlank(wxCUserBasicInfo.getQrCode())){ + if(StringUtils.isBlank(getTenantInfo().getParentTenantId()) + && StringUtils.isNotBlank(wxCUserBasicInfo.getQrCode())){ qrCode = wxCUserBasicInfo.getQrCode(); }else{ String param = wxCUserBasicInfo.getWeappScene(); @@ -1004,23 +1005,24 @@ public class WxUserGrantController extends BaseController { if(map!=null && map.get("url") !=null) { String url = map.get("url"); qrCode = url; - wxCUserBasicInfo.setQrCode(url); - wxCUserBasicInfoService.updateQrCode(wxCUserBasicInfo); }else{ logger.error("getUserinfoQrCode error."+resultData.toString()); return new ResultData(ErrorCode.DEVICE_QRCODE_GET_FAILED); } + if(StringUtils.isBlank(getTenantInfo().getParentTenantId())){ + wxCUserBasicInfo.setQrCode(qrCode); + wxCUserBasicInfoService.updateQrCode(wxCUserBasicInfo); + } } RedisCacheUtils.cache(objectCommonRedisTemplate, key, qrCode, Constant.S_D_EXPIRE); - return new ResultData(qrCode); } catch (Exception e) { logger.error("getUserinfoQrCode error.",e); return new ResultData(ErrorCode.SYS_SERVER_ERROR); } - }else{ - return new ResultData(qrCode); } + return new ResultData(qrCode); + }else{ return new ResultData(ErrorCode.USER_IS_NOT_MEMBER); }