判断用户是否存在的接口

This commit is contained in:
wangxiaopeng
2024-03-21 15:25:48 +08:00
parent 9a0b6df295
commit b35836ae2d
6 changed files with 50 additions and 2 deletions

View File

@@ -15,6 +15,8 @@ public interface WechatMiniAppService {
PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param);
PartnerUserInfoVO getUserInfoByJsCode(String jsCode);
String getUserPhoneNumber(String mobileCode);
String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);

View File

@@ -130,17 +130,42 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
}
}
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
/*LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId());
userInfoVO.setLineStatus(lineInfoDO.getLineStatus());
}*/
}
}
userInfoVO.setOpenid(openid);
userInfoVO.setUnionId(unionId);
return userInfoVO;
}
@Override
public PartnerUserInfoVO getUserInfoByJsCode(String jsCode) {
PartnerUserInfoVO userInfoVO = null;
String lockKey = "codeSession:" + wxAppId + CommonConstants.MOSAICS + jsCode;
boolean lock = redisUtilPool.lock(lockKey);
if (!lock) {
throw new ServiceException(ErrorCodeEnum.OPERATION_OVER_TIME);
}
CodeSessionDTO codeSession = wechatRest.miniProgramJsCodeSession(wxAppId, wxAppSecret, jsCode);
String openid = codeSession.getOpenid();
String sessionCacheKey = MessageFormat.format(CommonConstants.MINI_PROGRAM_SESSION_KEY, wxAppId, openid);
redisUtilPool.setString(sessionCacheKey, codeSession.getSessionKey(), CommonConstants.THREE_DAY_SECONDS);
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByOpenid(openid);
if(hyPartnerUserInfoDO != null){
userInfoVO = new PartnerUserInfoVO();
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId());
userInfoVO.setLineStatus(lineInfoDO.getLineStatus());
}
}
return userInfoVO;
}
@Override
public String getUserPhoneNumber(String mobileCode) {