From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 228 +++++++++++++++++++------------------------------------- 1 files changed, 78 insertions(+), 150 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java index 60ec8c2..22af474 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java @@ -5,10 +5,12 @@ import com.dsh.account.entity.HonorRules; import com.dsh.account.entity.StudentHonor; import com.dsh.account.entity.TStudent; +import com.dsh.account.feignclient.communityWorldCup.WorldCupCompetitorClient; import com.dsh.account.feignclient.competition.ParticipantClient; import com.dsh.account.feignclient.course.CoursePackageClient; import com.dsh.account.feignclient.course.model.CoursePackage; import com.dsh.account.feignclient.other.HonorDeClient; +import com.dsh.account.feignclient.other.HonorRulesClient; import com.dsh.account.feignclient.other.SiteClient; import com.dsh.account.mapper.StudentHonorMapper; import com.dsh.account.model.vo.medalDetail.GongVo; @@ -45,180 +47,106 @@ @Resource private SiteClient siteClient; - - @Autowired + @Resource private HonorDeClient honorDeClient; - @Autowired private TStudentService studentService; + @Resource + private HonorRulesClient honorRulesClient; + + @Resource + private WorldCupCompetitorClient worldCupCompetitorClient; + + @Autowired + private StudentHonorService studentHonorService; + + + + + + @Override - public List<GongVo> queryStuOfMedalData(Integer stuId) { + public List<GongVo> queryStuOfMedalData(Integer stuId, Integer appUserId) { List<GongVo> voList = new ArrayList<>(); -// List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>() -// .eq("stuId", stuId)); -// - TStudent student = studentService.getById(stuId); -// -// -// if (studentHonors.size() > 0){ -// studentHonors.forEach( stuoHo -> { -// GongVo vo = new GongVo(); -// vo.setMedalType(stuoHo.getHonorType()); -// switch (stuoHo.getHonorType()){ -// case 1: -// vo.setMedalName("俱乐部之星"); -// break; -// case 2: -// vo.setMedalName("运动达人"); -// break; -// case 3: -// vo.setMedalName("社区之王"); -// break; -// case 4: -// vo.setMedalName("深度玩家"); -// break; -// default: -// break; -// } -// voList.add(vo); -// }); -// } - Integer count1 = coursePackageClient.counts(stuId); - if (count1 > 0) { + List<StudentHonor> list = studentHonorService.list(new QueryWrapper<StudentHonor>() + .eq("appUserId", appUserId)); + for (StudentHonor studentHonor : list) { GongVo vo = new GongVo(); - vo.setMedalType(1); - vo.setMedalName("俱乐部之星"); + vo.setMedalType(studentHonor.getHonorType()); + switch (studentHonor.getHonorType()){ + case 1: + vo.setMedalName("俱乐部之星"); + break; + case 2: + vo.setMedalName("运动达人"); + break; + case 3: + vo.setMedalName("社区之王"); + break; + case 4: + vo.setMedalName("深度玩家"); + break; + case 5: + vo.setMedalName("常胜将军"); + break; + case 6: + vo.setMedalName("越战越勇"); + break; + default: + break; + } voList.add(vo); } - - Integer count2 = participantClient.counts(stuId); - if (count2 > 0) { - GongVo vo = new GongVo(); - vo.setMedalType(2); - vo.setMedalName("运动达人"); - voList.add(vo); - } - - Integer count3 = siteClient.counts(student.getAppUserId()); - if (count3 > 0) { - GongVo vo = new GongVo(); - vo.setMedalType(3); - vo.setMedalName("社区之王"); - voList.add(vo); - } - - - Integer count4 = coursePackageClient.counts1(stuId); - if (count4 > 0) { - GongVo vo = new GongVo(); - vo.setMedalType(4); - vo.setMedalName("深度玩家"); - voList.add(vo); - } - - return voList; } @Override - public List<StuMedalVo> queryHonorDetails(Integer stuId) { - List<StuMedalVo> studentHonors = new ArrayList<>(); -// List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).collect(Collectors.toList()); - - Integer count1 = coursePackageClient.counts(stuId); - if (count1 > 0) { + public List<StuMedalVo> queryHonorDetails(Integer appUserId) { + List<StuMedalVo> list = new ArrayList<>(); + List<StudentHonor> studentHonors = this.list(new QueryWrapper<StudentHonor>().eq("appUserId", appUserId)); + for (StudentHonor studentHonor : studentHonors) { StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(1); - vo.setMedalName("俱乐部之星"); + vo.setMedalType(studentHonor.getHonorType()); + switch (studentHonor.getHonorType()){ + case 1: + vo.setMedalName("俱乐部之星"); + break; + case 2: + vo.setMedalName("运动达人"); + break; + case 3: + vo.setMedalName("社区之王"); + break; + case 4: + vo.setMedalName("深度玩家"); + break; + case 5: + vo.setMedalName("常胜将军"); + break; + case 6: + vo.setMedalName("越战越勇"); + break; + } //拿到当前对应的rule对象 List<Integer> integers = new ArrayList<>(); - integers.add(1); - integers.add(count1); + integers.add(studentHonor.getHonorType()); + integers.add(studentHonor.getNumber()); HonorRules honorRules = honorDeClient.getHonor(integers); - if (count1 < Integer.valueOf(honorRules.getCondition())) { + if (studentHonor.getNumber() < Integer.valueOf(honorRules.getCondition())) { vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count1)); - vo.setIsTopLevel(0); + vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - studentHonor.getNumber())); + vo.setIsTopLevel(2); } else { + vo.setLevelNum(10); + vo.setNextLevel(10); vo.setIsTopLevel(1); } - - studentHonors.add(vo); + list.add(vo); } - - Integer count2 = participantClient.counts(stuId); - if (count2 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(2); - vo.setMedalName("运动达人"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(2); - integers.add(count2); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count2 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count2)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - TStudent student = studentService.getById(stuId); - - Integer count3 = siteClient.counts(student.getAppUserId()); - if (count3 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(3); - vo.setMedalName("社区之王"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(3); - integers.add(count3); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count3 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count3)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - - - Integer count4 = coursePackageClient.counts1(stuId); - if (count4 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(4); - vo.setMedalName("深度玩家"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(4); - integers.add(count4); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count4 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count4)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - - - return studentHonors; + return list; } } -- Gitblit v1.7.1