From bf9e778330e28916b41002629743546c91e1eb7d Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 09 十一月 2024 20:52:13 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java | 124 +++++++++++++++++------------------------ 1 files changed, 51 insertions(+), 73 deletions(-) diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java index 0c7f64c..5d5cc93 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java @@ -28,6 +28,7 @@ import com.xinquan.system.api.RemoteUserService; import com.xinquan.system.api.domain.*; import com.xinquan.system.api.domain.vo.*; +import com.xinquan.system.api.feignClient.SysUserClient; import com.xinquan.system.api.model.LoginUser; import com.xinquan.user.api.domain.dto.AppUserManagementDTO; import com.xinquan.user.api.domain.dto.OrderListDTO; @@ -1374,6 +1375,8 @@ appUser.setLevelIcon(data.getLevelIcon()); return R.ok(appUser); } + @Resource + private SysUserClient sysUserClient; @PostMapping("/healingLevel") @ApiOperation(value = "冥想等级", tags = {"个人中心"}) public R<HealingLevelVO> healingLevel() { @@ -1382,88 +1385,63 @@ return R.tokenError("登录失效"); } Long userId = loginUser.getUserid(); - List<AppUserTree> list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId) - .list(); - if (list1.isEmpty()){ - AppUserTree appUserTree = new AppUserTree(); - appUserTree.setAppUserId(userId); - appUserTree.setTreeLevelType(1); - appUserTree.setGrowthValue(0); - appUserTree.setSowAgain(2); - appUserTree.setStatus(2); - appUserTree.setCreateTime(LocalDateTime.now()); - appUserTreeService.save(appUserTree); - } - // 查询用户等级最高的那颗树苗 - AppUserTree tree = list1.stream().max((o1, o2) -> { - if (o1.getTreeLevelType() > o2.getTreeLevelType()) { - return 1; - } else if (o1.getTreeLevelType() < o2.getTreeLevelType()) { - return -1; - } else { - return 0; - } - }).orElse(null); - // 查询疗愈等级 名称 图标 - int level = 1; - if (tree != null){ - level = tree.getTreeLevelType(); - } - HealingLevelVO healingLevelVO = new HealingLevelVO(); + HealingLevelVO healingLevelVO = new HealingLevelVO(); + AppUser one = appUserService.getById(userId); + AppUserTree list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId) + .eq(AppUserTree::getSowAgain,2) + .one(); + // 查询疗愈等级 名称 图标 + int level = list1.getTreeLevelType(); + healingLevelVO.setLevel(level); + // 查询疗愈等级 名称 图标 + if (list1 != null){ + level = list1.getTreeLevelType(); + } healingLevelVO.setLevel(level); // 根据等级查询疗愈名称和图标 UserLevelSetting data = remoteBannerService.getIconNameByLevel(level).getData(); healingLevelVO.setLevelName(data.getLevelName()); healingLevelVO.setLevelIcon(data.getLevelIcon()); - if (level==10){ - healingLevelVO.setNextLevel(2400); - }else{ - switch (level){ - case 1: - healingLevelVO.setNextLevel(1000); - healingLevelVO.setDifferenceLevel(1000-tree.getGrowthValue()); + List<TreeLevelSetting> data3 = sysUserClient.getTreeGroup().getData(); - break; - case 2: - healingLevelVO.setNextLevel(1000); - healingLevelVO.setDifferenceLevel(1000-tree.getGrowthValue()); - break; - case 3: - healingLevelVO.setNextLevel(1000); - healingLevelVO.setDifferenceLevel(1000-tree.getGrowthValue()); - break; - case 4: - healingLevelVO.setNextLevel(1000); - healingLevelVO.setDifferenceLevel(1000-tree.getGrowthValue()); - break; - case 5: - healingLevelVO.setNextLevel(2000); - healingLevelVO.setDifferenceLevel(2000-tree.getGrowthValue()); - break; - case 6: - healingLevelVO.setNextLevel(2000); - healingLevelVO.setDifferenceLevel(2000-tree.getGrowthValue()); - break; - case 7: - healingLevelVO.setNextLevel(2000); - healingLevelVO.setDifferenceLevel(2000-tree.getGrowthValue()); - break; - case 8: - healingLevelVO.setNextLevel(2000); - healingLevelVO.setDifferenceLevel(2000-tree.getGrowthValue()); - break; - case 9: - healingLevelVO.setNextLevel(2400); - healingLevelVO.setDifferenceLevel(2400-tree.getGrowthValue()); - break; - case 10: - healingLevelVO.setNextLevel(2400); - healingLevelVO.setDifferenceLevel(2400-tree.getGrowthValue()); - break; + Integer total1 = list1.getTotal(); + // 根据总能量值 确定他在哪一等级 + int x = 1; + int tem = 0; + for (TreeLevelSetting datum : data3) { + if (total1 == 0){ + Integer growthValue = data3.get(1).getGrowthValue(); + tem = growthValue; + break; + }else if (total1>=datum.getGrowthValue()){ + x = datum.getTreeLevelType(); } } - healingLevelVO.setGrowthValue(tree.getGrowthValue()); + if (x == 10){ + // 如果等级为10那么成长阈值是10级减去9级 + int ten=0; + int nine = 0; + for (TreeLevelSetting datum : data3) { + if (datum.getTreeLevelType()==10){ + ten = datum.getGrowthValue(); + } + if (datum.getTreeLevelType()==9){ + nine = datum.getGrowthValue(); + } + } + tem = ten-nine; + total1 = tem; + }else{ + // 根据当前所在等级查询成长值 + int a = data3.get(x).getGrowthValue()-data3.get(x-1).getGrowthValue(); + tem = a; + total1 = Math.abs(total1-data3.get(x-1).getGrowthValue()); + } + healingLevelVO.setNextLevel(tem); + healingLevelVO.setLevel(x); + // 将当前成长值更新 + healingLevelVO.setGrowthValue(total1); String data1 = remoteUserService.getCourseList(7).getData(); healingLevelVO.setContent(data1); return R.ok(healingLevelVO); -- Gitblit v1.7.1