提交 49d82638 authored 作者: hzh's avatar hzh

bug修复

上级 6c362835
......@@ -6,19 +6,17 @@ import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.auth.service.IAuthStrategy;
import org.dromara.common.core.domain.model.LoginBody;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.mall.api.domain.member.RemoteMember;
import org.dromara.mall.api.domain.member.RemoteMemberSave;
import org.dromara.mall.api.member.RemoteMemberService;
import org.dromara.system.api.RemoteUserService;
import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.api.model.LoginUser;
import org.dromara.system.api.model.XcxLoginUser;
import org.jetbrains.annotations.Nullable;
import org.springframework.stereotype.Service;
import java.util.Objects;
import static org.dromara.common.core.constant.TenantConstants.DEFAULT_TENANT_ID;
import static org.dromara.common.core.utils.ServletUtils.getClientIP;
......@@ -40,7 +38,7 @@ public abstract class AbstractMallStrategy implements IAuthStrategy {
@Nullable
Long getMemberId(LoginBody loginBody, XcxLoginUser loginUser) {
// 增加商城逻辑
Long thirdUserId;
Long thirdUserId = null;
if (StringUtils.equals(loginBody.getTenantId(), DEFAULT_TENANT_ID) && StringUtils.equals(loginUser.getUserType(), UserType.APP_USER.getUserType())) {
thirdUserId = loginUser.getUserId();
} else {
......@@ -52,10 +50,13 @@ public abstract class AbstractMallStrategy implements IAuthStrategy {
remoteUserBo.setUserType(UserType.APP_USER.getUserType());
remoteUserBo.setPhonenumber(loginUser.getPhone());
LoginUser userInfo = remoteUserService.getUserInfo(remoteUserBo.getUserName(), remoteUserBo.getTenantId(), remoteUserBo.getUserType());
if (Objects.nonNull(userInfo)){
thirdUserId = userInfo.getUserId();
}else {
try {
thirdUserId = remoteUserService.getUserInfo(remoteUserBo.getUserName(), remoteUserBo.getTenantId(), remoteUserBo.getUserType()).getUserId();
} catch (UserException e) {
log.info("用户不存在:{},租户id:{},需要进行注册", remoteUserBo.getUserName(), remoteUserBo.getTenantId());
}
if (thirdUserId == null) {
try {
thirdUserId = remoteUserService.registerUserInfo(remoteUserBo);
} catch (Exception e) {
......@@ -63,6 +64,7 @@ public abstract class AbstractMallStrategy implements IAuthStrategy {
thirdUserId = remoteUserService.getUserInfo(remoteUserBo.getUserName(), remoteUserBo.getTenantId(), remoteUserBo.getUserType()).getUserId();
}
}
}
Long memberId = null;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论