diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 1a34af63b..ad804ce80 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -735,11 +735,17 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().error("openId、unionId不能同时为空"); } QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(formDTO.getUnionId()), UserFieldConsant.WX_UNION_ID, formDTO.getUnionId()) - .eq(StringUtils.isNotBlank(formDTO.getOpenId()), UserFieldConsant.WX_OPEN_ID, formDTO.getOpenId()) - .orderByDesc(FieldConstant.CREATED_TIME); - UserEntity userEntity = this.baseDao.selectOne(wrapper); - + UserEntity userEntity = null; + if (StringUtils.isNotBlank(formDTO.getUnionId())) { + wrapper.eq(UserFieldConsant.WX_UNION_ID, formDTO.getUnionId()); + userEntity = this.baseDao.selectOne(wrapper); + } + if (null == userEntity) { + wrapper.eq(UserFieldConsant.WX_UNION_ID, formDTO.getUnionId()) + .eq(StringUtils.isNotBlank(formDTO.getOpenId()), UserFieldConsant.WX_OPEN_ID, formDTO.getOpenId()) + .orderByDesc(FieldConstant.CREATED_TIME); + userEntity = this.baseDao.selectOne(wrapper); + } if (null != userEntity) { QueryWrapper ugWrapper = new QueryWrapper<>(); ugWrapper.eq(UserFieldConsant.USER_ID, userEntity.getId())