Commit 32bbc944 authored by 唐峰's avatar 唐峰

用户信息查询异常处理

parent 992fa04c
......@@ -25,6 +25,7 @@ public enum BizExceptionEnum {
UN_VALID_STMS_TOKEN("1014","无效的stms的token"),
UN_PERMISSION_STMS("1015","没有内部接口访问权限"),
EXPIRE_WECHAT_TOKEN("1016","微信接口token过期,请执行定时任务"),
ERROR_MATCHING_WECHAT_APP_ID("1017","微信appName和appId不匹配"),
......
......@@ -8,6 +8,8 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.entity.middleoffice.AppletParamEntry;
import cn.quantgroup.xyqb.exception.AppletException;
import cn.quantgroup.xyqb.exception.BizException;
import cn.quantgroup.xyqb.exception.BizExceptionEnum;
import cn.quantgroup.xyqb.repository.IWeChatUserRepository;
import cn.quantgroup.xyqb.service.middleoffice.applet.IAppletService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
......@@ -17,6 +19,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindException;
import java.util.Objects;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_FREEZE_ERROR;
......@@ -57,6 +62,12 @@ public class AppletServiceImpl implements IAppletService {
@Override
@Transactional(rollbackFor = Exception.class)
public Long relevance(AppletParamEntry appletParamEntry) {
String appId = wechatConfiguration.getByAppName(appletParamEntry.getAppName()).getAppId();
appId = StringUtils.isEmpty(appletParamEntry.getAppId()) ? appId:appletParamEntry.getAppId();
if (!Objects.equals(appId,appletParamEntry.getAppId())) {
throw new BizException(BizExceptionEnum.ERROR_MATCHING_WECHAT_APP_ID);
}
appletParamEntry.setAppId(appId);
WechatUserInfo wechatUserInfo = iWeChatUserRepository.findByOpenIdAndAppNameAndAppIdAndTenantId(appletParamEntry.getOpenId(), appletParamEntry.getAppName(), appletParamEntry.getAppId(), appletParamEntry.getTenantId());
//这个接口先不考虑更换手机号的情况
if (appletParamEntry.getTenantId() == null) {
......@@ -91,9 +102,10 @@ public class AppletServiceImpl implements IAppletService {
}
wechatUserInfo.setUserId(user.getId());
}
wechatUserInfo.setAppId(wechatConfiguration.getByAppName(appletParamEntry.getAppName()).getAppId());
wechatUserInfo.setAppId(appId);
//如果存在就更新在微信表里
//iWeChatUserRepository.findByOpenIdAndAppNameAndTenantId()
iWeChatUserRepository.save(wechatUserInfo);
return wechatUserInfo.getUserId();
}
......
......@@ -6,6 +6,7 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.exception.BizException;
import cn.quantgroup.xyqb.exception.BizExceptionEnum;
import cn.quantgroup.xyqb.exception.SilentBizException;
import cn.quantgroup.xyqb.model.AuthBean;
import cn.quantgroup.xyqb.model.LoginBean;
import cn.quantgroup.xyqb.model.LoginProperties;
......@@ -82,7 +83,7 @@ public class InterLoginStrategy implements LoginStrategy {
}
if (user == null) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
throw new SilentBizException(BizExceptionEnum.UN_EXIT_USER);
}
......@@ -90,7 +91,7 @@ public class InterLoginStrategy implements LoginStrategy {
//2、需要判断是否是否启用
if (!user.getEnable()) {
log.info("用户不存在,或者已经注销,phoneNo:{}", user.getPhoneNo());
throw new BizException(BizExceptionEnum.ERROR_OR_ENABLE_ERROR);
throw new SilentBizException(BizExceptionEnum.ERROR_OR_ENABLE_ERROR);
}
LoginProperties loginProperties = new LoginProperties(1, sessionStruct.getRegisteredFrom(), sessionStruct.getTenantId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment