From 80a531db955814ce19741cd0968dd57cb32517ab Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 10 Apr 2019 14:28:21 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=85=AC=E4=BC=97=E5=8F=B7=E4=BC=9A=E5=91=98]?= =?UTF-8?q?[=E6=96=B0=E5=A2=9E]:=E6=9F=A5=E8=AF=A2=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxCUserServiceImpl.java | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index 47d2710..2a63e9f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -85,7 +85,20 @@ public class WxCUserServiceImpl implements WxCUserService { // 1. check user exist WxCUser userQ = new WxCUser(); userQ.setTenantId(authorizerInfo.getTenantId()); - userQ.setUnionId(mpUser.getUnionId()); + boolean bHaveUnionId = false; + if(StringUtils.isNotBlank(mpUser.getUnionId())) { + userQ.setUnionId(mpUser.getUnionId()); + bHaveUnionId = true; + } else { + userQ.setOpenAppId(authorizerInfo.getOpenAppid()); + if(authorizerInfo.getType().equals(EnumAppType.MP_S.getCode())) { + userQ.setMpOpenId(mpUser.getOpenId()); + userQ.setMpAppId(authorizerInfo.getAuthorizerAppid()); + } else if(authorizerInfo.getType().equals(EnumAppType.MP_P.getCode())) { + userQ.setSubsOpenId(mpUser.getOpenId()); + userQ.setSubsAppId(authorizerInfo.getAuthorizerAppid()); + } + } WxCUser oldUser = getByObject(userQ); boolean bHave = false; if(oldUser != null) { @@ -96,13 +109,15 @@ public class WxCUserServiceImpl implements WxCUserService { // 未找到,且是关注消息, 直接返回 return 0; } - userQ.setOpenAppId(authorizerInfo.getOpenAppid()); - if(authorizerInfo.getType().equals(EnumAppType.MP_S.getCode())) { - userQ.setMpOpenId(mpUser.getOpenId()); - userQ.setMpAppId(authorizerInfo.getAuthorizerAppid()); - } else if(authorizerInfo.getType().equals(EnumAppType.MP_P.getCode())) { - userQ.setSubsOpenId(mpUser.getOpenId()); - userQ.setSubsAppId(authorizerInfo.getAuthorizerAppid()); + if(bHaveUnionId) { + userQ.setOpenAppId(authorizerInfo.getOpenAppid()); + if (authorizerInfo.getType().equals(EnumAppType.MP_S.getCode())) { + userQ.setMpOpenId(mpUser.getOpenId()); + userQ.setMpAppId(authorizerInfo.getAuthorizerAppid()); + } else if (authorizerInfo.getType().equals(EnumAppType.MP_P.getCode())) { + userQ.setSubsOpenId(mpUser.getOpenId()); + userQ.setSubsAppId(authorizerInfo.getAuthorizerAppid()); + } } if(((oldUser != null && StringUtils.isBlank(oldUser.getNickName())) || (oldUser == null)) && StringUtils.isNotBlank(mpUser.getNickname())) {