无关风月
2024-11-09 fef8e1050da603344ed8bda819d390c2c16551ea
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
@@ -121,6 +121,12 @@
                throw new ServiceException("账号已被冻结");
            }
            sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData();
            appUser.setAvatar(body.getHeadImgUrl());
            appUser.setWxName(body.getNickname());
            if (appUser.getCellPhone()!=null){
                appLoginUser.setBindStatus(DisabledEnum.NO.getCode());
                appLoginUser.setCellPhone(appUser.getCellPhone());
            }
        } else {
            // 不存在账户,创建账户
            // 注册用户信息
@@ -145,8 +151,9 @@
            appUser.setWxOpenId(body.getWxOpenId());
            String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6);
            sysUser.setNickName(nickname);
            appUser.setWxName(body.getNickname());
            appUser.setAvatar(body.getHeadImgUrl());
            appUser.setGender(body.getSex());
            appUser.setGender(3);
            appUser.setBalance(BigDecimal.ZERO);
            appUser.setSanskritFlag(DisabledEnum.NO.getCode());
            appUser.setBalance(BigDecimal.ZERO);
@@ -154,6 +161,7 @@
            appUser.setTotalEnergyValue(0);
            appUser.setRegisterTime(LocalDateTime.now());
            appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode());
            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
            this.save(appUser);
            // 初始化用户树苗
            initUserTree(appUser.getId());
@@ -162,10 +170,10 @@
        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());
        }
//        if (Objects.nonNull(sysUser.getUserName())) {
//            appLoginUser.setCellPhone(appUser.getCellPhone());
//        }
        return appLoginUser;
    }
@@ -179,14 +187,21 @@
        // 存在账户,查询关联系统用户
        if (optionalAppUser.isPresent()) {
            appUser = optionalAppUser.get();
            if (appUser.getUserStatus().equals(AppUserStatusEnum.FROZEN.getCode())) {
                throw new ServiceException("账号已被冻结");
            }
            sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData();
            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("qwer");
            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,
@@ -199,7 +214,7 @@
            appUser.setAppleId(appleId);
            appUser.setUserId(sysUserRes.getUserId());
            appUser.setNickname(nickname);
            appUser.setAvatar("qwer"); // TODO 待完善默认头像
            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);
@@ -220,10 +235,10 @@
        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());
        }
//        if (Objects.nonNull(sysUser.getUserName())) {
//            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
//            appLoginUser.setCellPhone(appUser.getCellPhone());
//        }
        return appLoginUser;
    }
@@ -249,7 +264,7 @@
            sysUser = new SysUser();
            String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6);
            sysUser.setNickName(nickname);
            sysUser.setAvatar("qwer");
            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
@@ -265,7 +280,7 @@
            appUser.setUserId(sysUserRes.getUserId());
            appUser.setNickname(nickname);
            appUser.setCellPhone(body.getCellPhone());
            appUser.setAvatar("qwer"); // TODO 待完善默认头像
            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);
@@ -302,6 +317,7 @@
        appUserTree.setTreeLevelType(TreeLevelEnum.SEED.getCode());
        appUserTree.setGrowthValue(0);
        appUserTree.setSowAgain(2);
        appUserTree.setTime(LocalDateTime.now());
        appUserTreeService.save(appUserTree);
    }
@@ -323,6 +339,12 @@
        // 如果存在 更新wxOpenId 或appleId
        if (baseOptionalAppUser.isPresent()) {
            appUser = baseOptionalAppUser.get();
            if (appUser.getWxOpenId() !=null){
                throw new ServiceException("该手机号已绑定其他微信号,请更换手机号重新绑定");
            }
            if (appUser.getAppleId() !=null){
                throw new ServiceException("该手机号已绑定其他苹果号,请更换手机号重新绑定");
            }
            switch (body.getLoginType()){
                case 1:
                    this.remove(new LambdaQueryWrapper<AppUser>()
@@ -368,10 +390,8 @@
            }
            sysUser.setUserName(body.getCellPhone());
            sysUser.setPassword(
                    SecurityUtils.encryptPassword(
                            SecureUtil.md5(Constants.DEFAULT_PASSWORD).toUpperCase(
                                    Locale.ROOT)))
            ; // 默认密码为123456
                    SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD))
            ; // 默认密码为a12345678
            sysUser.setPhonenumber(body.getCellPhone());
            sysUserClient.updateSysUser(sysUser);
        }
@@ -441,19 +461,7 @@
        List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream()
                .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1")
                        || appUserQuestion.getAnswer().equals("3")).collect(Collectors.toList());
        StringBuilder sb = new StringBuilder();
        // 使用 StringBuilder 提高字符串拼接效率
        if (CollUtils.isNotEmpty(appUserQuestionYesList)) {
            List<Long> tagIdList = appUserQuestionYesList.stream()
                    .map(appUserQuestion -> Objects.requireNonNull(AnswerTagEnum.getEnumByCode(appUserQuestion.getType()))
                            .getTagId()).collect(Collectors.toList());
            if (CollUtils.isNotEmpty(tagIdList)) {
                sb.append(CollUtils.join(tagIdList, ","));
            }
        }
        sb.append(",");
        sb.append(dto.getTagIds());
        appUser.setTagId(sb.toString());
        appUser.setTagId(dto.getTagIds());
        this.updateById(appUser);
    }