| | |
| | | } |
| | | } |
| | | //查看用户是否存在 |
| | | AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, mobileLogin.getPhone())); |
| | | if (null == appUser || appUser.getDelFlag().equals(DelFlagConstant.DELETE)) { |
| | | AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, mobileLogin.getPhone()) |
| | | .ne(AppUser::getStatus,AppUserStatusConstant.LOGOUT) |
| | | .eq(AppUser::getDelFlag,DelFlagConstant.UNDELETE)); |
| | | if (null == appUser) { |
| | | //用户不存在 |
| | | //使用jscode获取微信openid |
| | | Map<String, Object> map = weChatUtil.code2Session(mobileLogin.getJscode()); |
| | | Integer errcode = Integer.valueOf(map.get("errcode").toString()); |
| | | if(0 != errcode){ |
| | | throw new ServiceException(map.get("msg").toString()); |
| | | } |
| | | String openid = map.get("openid").toString(); |
| | | //注册一个 |
| | | appUser = new AppUser(); |
| | | appUser.setPhone(mobileLogin.getPhone()); |
| | | appUser.setDelFlag(DelFlagConstant.UNDELETE); |
| | | appUser.setStatus(AppUserStatusConstant.NORMAL); |
| | | appUser.setWxOpenid(openid); |
| | | appUser.setAvatar(DEFAULT_AVATAR_URL); |
| | | appUser.setFirstLogin(IsFirstLoginConstant.YES); |
| | | appUser.setFirstOrder(IsFirstOrder.YES); |
| | | this.save(appUser); |
| | | //跳转注册页面 |
| | | LoginVO loginVo = new LoginVO(); |
| | | loginVo.setSkipPage(2); |
| | | loginVo.setPhone(mobileLogin.getPhone()); |
| | | return R.ok(loginVo); |
| | | } |
| | | if (Objects.equals(appUser.getStatus(), AppUserStatusConstant.FREEZE)) { |
| | | throw new ServiceException("该账户已被冻结"); |
| | |
| | | } |
| | | String openid = map.get("openid").toString(); |
| | | String sessionKey = map.get("sessionKey").toString(); |
| | | //查询用户是否注册,没有注册则注册 |
| | | AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid)); |
| | | if(null == appUser|| appUser.getDelFlag().equals(DelFlagConstant.DELETE)){ |
| | | appUser = new AppUser(); |
| | | //注册 |
| | | //获取手机号 |
| | | String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone()); |
| | | if (StringUtils.isEmpty(decrypt)) { |
| | | return R.fail("获取手机信息失败"); |
| | | } |
| | | JSONObject phone = JSON.parseObject(decrypt); |
| | | String purePhoneNumber = phone.getString("phoneNumber"); |
| | | //新用户默认信息 |
| | | appUser = new AppUser(); |
| | | appUser.setPhone(purePhoneNumber); |
| | | appUser.setDelFlag(DelFlagConstant.UNDELETE); |
| | | appUser.setStatus(AppUserStatusConstant.NORMAL); |
| | | appUser.setWxOpenid(openid); |
| | | appUser.setAvatar(DEFAULT_AVATAR_URL); |
| | | appUser.setFirstLogin(IsFirstLoginConstant.YES); |
| | | appUser.setFirstOrder(IsFirstOrder.YES); |
| | | this.save(appUser); |
| | | |
| | | //获取手机号 |
| | | String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone()); |
| | | if (StringUtils.isEmpty(decrypt)) { |
| | | return R.fail("获取手机信息失败"); |
| | | } |
| | | JSONObject phoneJson = JSON.parseObject(decrypt); |
| | | String phone = phoneJson.getString("phoneNumber"); |
| | | //查询用户是否存在 |
| | | AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, phone).ne(AppUser::getStatus, AppUserStatusConstant.LOGOUT).eq(AppUser::getDelFlag,DelFlagConstant.UNDELETE)); |
| | | if(null == appUser){ |
| | | //跳转到注册界面 |
| | | LoginVO loginVo = new LoginVO(); |
| | | loginVo.setSkipPage(2); |
| | | loginVo.setPhone(phone); |
| | | return R.ok(loginVo); |
| | | } |
| | | |
| | | if (Objects.equals(appUser.getStatus(), AppUserStatusConstant.FREEZE)) { |
| | |
| | | |
| | | @Override |
| | | public void register(RegisterDTO registerDTO) { |
| | | //使用jscode获取微信openid |
| | | Map<String, Object> map = weChatUtil.code2Session(registerDTO.getJscode()); |
| | | Integer errcode = Integer.valueOf(map.get("errcode").toString()); |
| | | if(0 != errcode){ |
| | | throw new ServiceException(map.get("msg").toString()); |
| | | } |
| | | String openid = map.get("openid").toString(); |
| | | AppUser appUser1 = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid).ne(AppUser::getStatus, AppUserStatusConstant.LOGOUT).eq(AppUser::getDelFlag,DelFlagConstant.UNDELETE)); |
| | | if (null != appUser1) { |
| | | throw new ServiceException("此微信号已注册,请直接登录!"); |
| | | } |
| | | AppUser appUser2 = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerDTO.getPhone()).ne(AppUser::getStatus, AppUserStatusConstant.LOGOUT).eq(AppUser::getDelFlag,DelFlagConstant.UNDELETE)); |
| | | if (null != appUser2) { |
| | | throw new ServiceException("手机号已注册,请直接登录!"); |
| | | } |
| | | //注册一个 |
| | | AppUser appUser = new AppUser(); |
| | | appUser.setPhone(registerDTO.getPhone()); |
| | | appUser.setDelFlag(DelFlagConstant.UNDELETE); |
| | | appUser.setStatus(AppUserStatusConstant.NORMAL); |
| | | appUser.setWxOpenid(openid); |
| | | appUser.setAvatar(DEFAULT_AVATAR_URL); |
| | | appUser.setFirstLogin(IsFirstLoginConstant.YES); |
| | | appUser.setFirstOrder(IsFirstOrder.YES); |
| | | //注册 修改用户信息 |
| | | AppUser appUser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | appUser.setName(registerDTO.getUsername()); |
| | | appUser.setFirstLogin(IsFirstLoginConstant.NO); |
| | | appUser.setCommunityId(registerDTO.getCommunityId()); |