无关风月
2024-11-15 529c840af92391b54e3547868e7cf1b65e90cef6
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
@@ -309,6 +309,7 @@
                    appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode());
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
                    String format = simpleDateFormat.format(new Date());
                    appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
                    // 生成四位随机数字
                    String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000));
                    appUser.setCode("YH" + format + randomCode);
@@ -635,25 +636,14 @@
            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) {
            // 删除之前答案
            appUserQuestionService.lambdaUpdate().eq(AppUserQuestion::getAppUserId,userId).remove();
                    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);
                    appUserQuestion.setAppUserId(userId);
            }
            appUserQuestionService.saveOrUpdateBatch(appUserQuestionList);
            appUserQuestionService.saveBatch(appUserQuestionList);
            // 筛选答案为是和偶尔有的问题,为用户设置对应的标签
            List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream()
                    .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1")