From f25005e032ca124b0f6627a7192a034f08e680c9 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 12 三月 2024 14:16:02 +0800 Subject: [PATCH] 修改bug --- cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 162 ++++++++++++++++++++++-------------------------------- 1 files changed, 66 insertions(+), 96 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 8b5b7a9..6a1d8f7 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,13 +47,22 @@ @Resource private SiteClient siteClient; - @Autowired private HonorDeClient honorDeClient; - @Autowired private TStudentService studentService; + + @Autowired + private HonorRulesClient honorRulesClient; + + @Resource + private WorldCupCompetitorClient worldCupCompetitorClient; + + + + + @Override public List<GongVo> queryStuOfMedalData(Integer stuId) { @@ -85,8 +96,8 @@ // voList.add(vo); // }); // } - Integer count1 =coursePackageClient.counts(stuId); - if (count1>0){ + Integer count1 = coursePackageClient.counts(stuId); + if (count1 > 0) { GongVo vo = new GongVo(); vo.setMedalType(1); vo.setMedalName("俱乐部之星"); @@ -94,7 +105,7 @@ } Integer count2 = participantClient.counts(stuId); - if (count2>0){ + if (count2 > 0) { GongVo vo = new GongVo(); vo.setMedalType(2); vo.setMedalName("运动达人"); @@ -102,7 +113,7 @@ } Integer count3 = siteClient.counts(student.getAppUserId()); - if (count3>0){ + if (count3 > 0) { GongVo vo = new GongVo(); vo.setMedalType(3); vo.setMedalName("社区之王"); @@ -111,116 +122,75 @@ Integer count4 = coursePackageClient.counts1(stuId); - if (count4>0){ + if (count4 > 0) { GongVo vo = new GongVo(); vo.setMedalType(4); vo.setMedalName("深度玩家"); voList.add(vo); } + Integer count5 = worldCupCompetitorClient.winCount(stuId); + if (count5 > 0) { + GongVo vo = new GongVo(); + vo.setMedalType(5); + vo.setMedalName("赢家"); + voList.add(vo); + } + + Integer count6 = worldCupCompetitorClient.count(stuId); + if (count6 > 0) { + GongVo vo = new GongVo(); + vo.setMedalType(6); + 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())){ - vo.setLevelNum(Integer.valueOf(honorRules.getLevel())-1); + 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.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - studentHonor.getNumber())); vo.setIsTopLevel(0); - }else { + } else { 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