| | |
| | | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.xinquan.common.core.constant.Constants; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | @Override |
| | | public Optional<AppUser> getUserByCondition(AppUserDTO dto) { |
| | | String device = dto.getDevice(); |
| | | if (StringUtils.hasLength(dto.getDevice())) { |
| | | Optional<AppUser> one = this.lambdaQuery() |
| | | .eq(AppUser::getDevice, device) |
| | | .isNull(AppUser::getCellPhone).oneOpt(); |
| | | if (one.isPresent()) { |
| | | initUserTree(one.get().getId()); |
| | | this.updateById(one.get()); |
| | | return one; |
| | | } else { |
| | | |
| | | return this.lambdaQuery() |
| | | .eq(Objects.nonNull(dto.getId()), AppUser::getId, dto.getId()) |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getAppleId()), AppUser::getAppleId, dto.getAppleId()) |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getCellPhone()), AppUser::getCellPhone, |
| | | dto.getCellPhone()) |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getWxOpenId()), AppUser::getWxOpenId, |
| | | dto.getWxOpenId()) |
| | | .ne(AppUser::getUserStatus, AppUserStatusEnum.LOGOUT.getCode()).oneOpt(); |
| | | } |
| | | } |
| | | return this.lambdaQuery() |
| | | .eq(Objects.nonNull(dto.getId()), AppUser::getId, dto.getId()) |
| | | .eq(StringUtils.isNotBlank(dto.getAppleId()), AppUser::getAppleId, dto.getAppleId()) |
| | | .eq(StringUtils.isNotBlank(dto.getCellPhone()), AppUser::getCellPhone, |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getAppleId()), AppUser::getAppleId, dto.getAppleId()) |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getCellPhone()), AppUser::getCellPhone, |
| | | dto.getCellPhone()) |
| | | .eq(StringUtils.isNotBlank(dto.getWxOpenId()), AppUser::getWxOpenId, |
| | | .eq(com.alibaba.nacos.common.utils.StringUtils.isNotBlank(dto.getWxOpenId()), AppUser::getWxOpenId, |
| | | dto.getWxOpenId()) |
| | | .ne(AppUser::getUserStatus, AppUserStatusEnum.LOGOUT.getCode()).oneOpt(); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | System.err.println(randomCode); |
| | | } |
| | | /** |
| | | * app用户注册 |
| | | * @param appUserDTO |
| | |
| | | AppLoginUser appLoginUser = new AppLoginUser(); |
| | | Optional<AppUser> optionalAppUser = this.getUserByCondition( |
| | | AppUserDTO.builder().wxOpenId(body.getWxOpenId()).build()); |
| | | AppUser appUser; |
| | | SysUser sysUser; |
| | | AppUser appUser = new AppUser(); |
| | | SysUser sysUser = new SysUser(); |
| | | // 存在账户,查询关联系统用户 |
| | | if (optionalAppUser.isPresent()) { |
| | | appUser = optionalAppUser.get(); |
| | |
| | | appLoginUser.setCellPhone(appUser.getCellPhone()); |
| | | } |
| | | } else { |
| | | // 不存在账户,创建账户 |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | sysUser.setNickName(body.getNickname()); |
| | | sysUser.setAvatar(body.getHeadImgUrl()); |
| | | sysUser.setUserName(body.getNickname()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | if (org.springframework.util.StringUtils.hasLength(body.getDevice())){ |
| | | AppUser one = this.getOne(new LambdaQueryWrapper<>(AppUser.class) |
| | | .eq(AppUser::getDevice, body.getDevice()) |
| | | .isNull(AppUser::getCellPhone)); |
| | | if (one!=null){ |
| | | initUserTree(appUser.getId()); |
| | | appUser = one; |
| | | }else{ |
| | | // 不存在账户,创建账户 |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | sysUser.setNickName(body.getNickname()); |
| | | sysUser.setAvatar(body.getHeadImgUrl()); |
| | | sysUser.setUserName(body.getNickname()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | appUser.setWxOpenId(body.getWxOpenId()); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | appUser.setNickname(nickname); |
| | | appUser.setWxName(body.getNickname()); |
| | | appUser.setAvatar(body.getHeadImgUrl()); |
| | | appUser.setGender(3); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | appLoginUser.setBindStatus(DisabledEnum.YES.getCode()); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | }else{ |
| | | // 不存在账户,创建账户 |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | sysUser.setNickName(body.getNickname()); |
| | | sysUser.setAvatar(body.getHeadImgUrl()); |
| | | sysUser.setUserName(body.getNickname()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | appUser.setWxOpenId(body.getWxOpenId()); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | appUser.setNickname(nickname); |
| | | appUser.setWxName(body.getNickname()); |
| | | appUser.setAvatar(body.getHeadImgUrl()); |
| | | appUser.setGender(3); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | appLoginUser.setBindStatus(DisabledEnum.YES.getCode()); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | appUser.setWxOpenId(body.getWxOpenId()); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | appUser.setNickname(nickname); |
| | | appUser.setWxName(body.getNickname()); |
| | | appUser.setAvatar(body.getHeadImgUrl()); |
| | | appUser.setGender(3); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | appLoginUser.setBindStatus(DisabledEnum.YES.getCode()); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | appLoginUser.setUserid(sysUser.getUserId()); |
| | | appLoginUser.setUsername(appUser.getNickname()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public AppLoginUser appleLogin(String appleId) { |
| | | public AppLoginUser appleLogin(String appleId,String device) { |
| | | AppLoginUser appLoginUser = new AppLoginUser(); |
| | | Optional<AppUser> optionalAppUser = this.getUserByCondition( |
| | | AppUserDTO.builder().appleId(appleId).build()); |
| | | SysUser sysUser; |
| | | AppUser appUser; |
| | | SysUser sysUser = new SysUser(); |
| | | AppUser appUser = new AppUser(); |
| | | // 存在账户,查询关联系统用户 |
| | | if (optionalAppUser.isPresent()) { |
| | | appUser = optionalAppUser.get(); |
| | |
| | | throw new ServiceException("账号已被冻结"); |
| | | } |
| | | sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData(); |
| | | if (appUser.getCellPhone()!=null){ |
| | | if (appUser.getCellPhone() != null) { |
| | | appLoginUser.setBindStatus(DisabledEnum.NO.getCode()); |
| | | appLoginUser.setCellPhone(appUser.getCellPhone()); |
| | | } |
| | | } else { |
| | | // 不存在账户,创建账户 |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(nickname); |
| | | sysUser.setUserType("01"); // app用户 |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | if (org.springframework.util.StringUtils.hasLength(device)) { |
| | | AppUser one = this.getOne(new LambdaQueryWrapper<>(AppUser.class) |
| | | .eq(AppUser::getDevice, device) |
| | | .isNull(AppUser::getCellPhone)); |
| | | if (one != null) { |
| | | initUserTree(one.getId()); |
| | | appUser.setAppleId(appleId); |
| | | appUser = one; |
| | | this.updateById(appUser); |
| | | } else { |
| | | // 不存在账户,创建账户 |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(nickname); |
| | | sysUser.setUserType("01"); // app用户 |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setAppleId(appleId); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH" + format + randomCode); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setAppleId(appleId); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | appLoginUser.setUserid(sysUser.getUserId()); |
| | | appLoginUser.setUsername(appUser.getNickname()); |
| | | appLoginUser.setAppUserId(appUser.getId()); |
| | | appLoginUser.setSysUser(sysUser); |
| | | // if (Objects.nonNull(sysUser.getUserName())) { |
| | | // appLoginUser.setBindStatus(DisabledEnum.YES.getCode()); |
| | | // appLoginUser.setCellPhone(appUser.getCellPhone()); |
| | | // } |
| | | return appLoginUser; |
| | | } |
| | | appLoginUser.setUserid(sysUser.getUserId()); |
| | | appLoginUser.setUsername(appUser.getNickname()); |
| | | appLoginUser.setAppUserId(appUser.getId()); |
| | | appLoginUser.setSysUser(sysUser); |
| | | return appLoginUser; |
| | | } |
| | | |
| | | /** |
| | | * 验证码登录 |
| | | * |
| | | * @param body |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public AppLoginUser appCaptchaLogin(AppCaptchaBody body) { |
| | | AppLoginUser appLoginUser = new AppLoginUser(); |
| | | Optional<AppUser> optionalAppUser = this.getUserByCondition( |
| | | AppUserDTO.builder().cellPhone(body.getCellPhone()).build()); |
| | | AppUser appUser; |
| | | SysUser sysUser; |
| | | if (optionalAppUser.isPresent()) { |
| | | appUser = optionalAppUser.get(); |
| | | sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData(); |
| | | } else { |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(body.getCellPhone()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | // 设置默认密码123456 |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD)); |
| | | /** |
| | | * 验证码登录 |
| | | * |
| | | * @param body |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public AppLoginUser appCaptchaLogin (AppCaptchaBody body){ |
| | | AppLoginUser appLoginUser = new AppLoginUser(); |
| | | Optional<AppUser> optionalAppUser = this.getUserByCondition( |
| | | AppUserDTO.builder().cellPhone(body.getCellPhone()).build()); |
| | | AppUser appUser = new AppUser(); |
| | | SysUser sysUser = new SysUser(); |
| | | if (optionalAppUser.isPresent()) { |
| | | appUser = optionalAppUser.get(); |
| | | sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData(); |
| | | } else { |
| | | if (org.springframework.util.StringUtils.hasLength(body.getDevice())) { |
| | | AppUser one = this.getOne(new LambdaQueryWrapper<>(AppUser.class) |
| | | .eq(AppUser::getDevice, body.getDevice()) |
| | | .isNull(AppUser::getCellPhone)); |
| | | if (one != null) { |
| | | initUserTree(appUser.getId()); |
| | | appUser = one; |
| | | } else { |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(body.getCellPhone()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | // 设置默认密码123456 |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD)); |
| | | |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setCellPhone(body.getCellPhone()); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH" + format + randomCode); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | } else { |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(body.getCellPhone()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | // 设置默认密码123456 |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD)); |
| | | |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setCellPhone(body.getCellPhone()); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH" + format + randomCode); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | } |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setCellPhone(body.getCellPhone()); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | this.save(appUser); |
| | | // 初始化用户树苗 |
| | | initUserTree(appUser.getId()); |
| | | |
| | | appLoginUser.setUserid(sysUser.getUserId()); |
| | | appLoginUser.setUsername(appUser.getNickname()); |
| | | appLoginUser.setAppUserId(appUser.getId()); |
| | | appLoginUser.setSysUser(sysUser); |
| | | appLoginUser.setCellPhone(appUser.getCellPhone()); |
| | | return appLoginUser; |
| | | } |
| | | appLoginUser.setUserid(sysUser.getUserId()); |
| | | appLoginUser.setUsername(appUser.getNickname()); |
| | | appLoginUser.setAppUserId(appUser.getId()); |
| | | appLoginUser.setSysUser(sysUser); |
| | | appLoginUser.setCellPhone(appUser.getCellPhone()); |
| | | return appLoginUser; |
| | | } |
| | | |
| | | /** |
| | | * 初始化用户树苗 |
| | |
| | | */ |
| | | @Override |
| | | public void saveUserAnswers(UserAnswerDTO dto) { |
| | | // 获取当前登录用户 |
| | | Long userId = tokenService.getLoginUser().getUserid(); |
| | | AppUser appUser = this.getById(userId); |
| | | List<AppUserQuestion> appUserQuestionList = BeanUtils.copyList( |
| | | dto.getUserAnswerOneDTOList(), AppUserQuestion.class); |
| | | // 查询用户已填写的答案 |
| | | List<AppUserQuestion> baseAppUserQuestionList = appUserQuestionService.lambdaQuery() |
| | | .eq(AppUserQuestion::getAppUserId, appUser.getUserId()) |
| | | .list(); |
| | | if (CollUtils.isNotEmpty(baseAppUserQuestionList)) { |
| | | // 根据类型更新答案 |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | if (tokenService.getLoginUser()==null){ |
| | | // 获取当前登录用户 |
| | | if (org.springframework.util.StringUtils.hasLength(dto.getDevice())){ |
| | | SysUser sysUser = new SysUser(); |
| | | AppUser appUser = new AppUser(); |
| | | // 注册用户信息 |
| | | sysUser = new SysUser(); |
| | | String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6); |
| | | sysUser.setNickName(nickname); |
| | | sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); |
| | | sysUser.setUserName(dto.getDevice()); |
| | | sysUser.setUserType("01"); // app用户 |
| | | // 设置默认密码123456 |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD)); |
| | | |
| | | Optional<AppUserQuestion> baseAppUserQuestionOptional = baseAppUserQuestionList.stream() |
| | | .filter(baseAppUserQuestion -> baseAppUserQuestion.getType() |
| | | .equals(appUserQuestion.getType())).findFirst(); |
| | | baseAppUserQuestionOptional.ifPresent( |
| | | userQuestion -> appUserQuestion.setId(userQuestion.getId())); |
| | | R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser, |
| | | SecurityConstants.INNER); |
| | | if (registerResult.getCode() == Constants.FAIL) { |
| | | throw new ServiceException(registerResult.getMsg()); |
| | | } |
| | | SysUser sysUserRes = registerResult.getData(); |
| | | appUser = new AppUser(); |
| | | appUser.setUserId(sysUserRes.getUserId()); |
| | | appUser.setNickname(nickname); |
| | | appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像 |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setSanskritFlag(DisabledEnum.NO.getCode()); |
| | | appUser.setBalance(BigDecimal.ZERO); |
| | | appUser.setIncome(BigDecimal.ZERO); |
| | | appUser.setTotalEnergyValue(0); |
| | | appUser.setRegisterTime(LocalDateTime.now()); |
| | | appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode()); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | // 生成四位随机数字 |
| | | String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); |
| | | appUser.setCode("YH"+format+randomCode); |
| | | this.save(appUser); |
| | | Long userId = appUser.getId(); |
| | | List<AppUserQuestion> appUserQuestionList = BeanUtils.copyList( |
| | | dto.getUserAnswerOneDTOList(), AppUserQuestion.class); |
| | | // 查询用户已填写的答案 |
| | | List<AppUserQuestion> baseAppUserQuestionList = appUserQuestionService.lambdaQuery() |
| | | .eq(AppUserQuestion::getAppUserId, appUser.getUserId()) |
| | | .list(); |
| | | if (CollUtils.isNotEmpty(baseAppUserQuestionList)) { |
| | | // 根据类型更新答案 |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | |
| | | Optional<AppUserQuestion> baseAppUserQuestionOptional = baseAppUserQuestionList.stream() |
| | | .filter(baseAppUserQuestion -> baseAppUserQuestion.getType() |
| | | .equals(appUserQuestion.getType())).findFirst(); |
| | | baseAppUserQuestionOptional.ifPresent( |
| | | userQuestion -> appUserQuestion.setId(userQuestion.getId())); |
| | | appUserQuestion.setAppUserId(userId); |
| | | } |
| | | } |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | appUserQuestion.setAppUserId(userId); |
| | | } |
| | | appUserQuestionService.saveOrUpdateBatch(appUserQuestionList); |
| | | // 筛选答案为是和偶尔有的问题,为用户设置对应的标签 |
| | | List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream() |
| | | .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1") |
| | | || appUserQuestion.getAnswer().equals("3")).collect(Collectors.toList()); |
| | | appUser.setTagId(dto.getTagIds()); |
| | | this.updateById(appUser); |
| | | } |
| | | }else{ |
| | | Long userId = tokenService.getLoginUser().getUserid(); |
| | | AppUser appUser = this.getById(userId); |
| | | List<AppUserQuestion> appUserQuestionList = BeanUtils.copyList( |
| | | dto.getUserAnswerOneDTOList(), AppUserQuestion.class); |
| | | // 查询用户已填写的答案 |
| | | List<AppUserQuestion> baseAppUserQuestionList = appUserQuestionService.lambdaQuery() |
| | | .eq(AppUserQuestion::getAppUserId, appUser.getUserId()) |
| | | .list(); |
| | | if (CollUtils.isNotEmpty(baseAppUserQuestionList)) { |
| | | // 根据类型更新答案 |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | |
| | | Optional<AppUserQuestion> baseAppUserQuestionOptional = baseAppUserQuestionList.stream() |
| | | .filter(baseAppUserQuestion -> baseAppUserQuestion.getType() |
| | | .equals(appUserQuestion.getType())).findFirst(); |
| | | baseAppUserQuestionOptional.ifPresent( |
| | | userQuestion -> appUserQuestion.setId(userQuestion.getId())); |
| | | appUserQuestion.setAppUserId(userId); |
| | | } |
| | | } |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | appUserQuestion.setAppUserId(userId); |
| | | } |
| | | appUserQuestionService.saveOrUpdateBatch(appUserQuestionList); |
| | | // 筛选答案为是和偶尔有的问题,为用户设置对应的标签 |
| | | List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream() |
| | | .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1") |
| | | || appUserQuestion.getAnswer().equals("3")).collect(Collectors.toList()); |
| | | appUser.setTagId(dto.getTagIds()); |
| | | this.updateById(appUser); |
| | | } |
| | | for (AppUserQuestion appUserQuestion : appUserQuestionList) { |
| | | appUserQuestion.setAppUserId(userId); |
| | | } |
| | | appUserQuestionService.saveOrUpdateBatch(appUserQuestionList); |
| | | // 筛选答案为是和偶尔有的问题,为用户设置对应的标签 |
| | | List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream() |
| | | .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1") |
| | | || appUserQuestion.getAnswer().equals("3")).collect(Collectors.toList()); |
| | | appUser.setTagId(dto.getTagIds()); |
| | | this.updateById(appUser); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |