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 | 139 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 110 insertions(+), 29 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 6052364..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 @@ -2,15 +2,27 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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; import com.dsh.account.model.vo.medalDetail.StuMedalVo; import com.dsh.account.service.StudentHonorService; +import com.dsh.account.service.TAppUserService; +import com.dsh.account.service.TStudentService; +import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -26,46 +38,115 @@ @Service public class StudentHonorServiceImpl extends ServiceImpl<StudentHonorMapper, StudentHonor> implements StudentHonorService { + @Resource + private CoursePackageClient coursePackageClient; - @Autowired + @Resource + private ParticipantClient participantClient; + + @Resource + private SiteClient siteClient; + + @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)); - 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; + List<StudentHonor> list = studentHonorService.list(new QueryWrapper<StudentHonor>() + .eq("appUserId", appUserId)); + for (StudentHonor studentHonor : list) { + GongVo vo = new GongVo(); + 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); - }); + } + voList.add(vo); } return voList; } + @Override - public List<StuMedalVo> queryHonorDetails(Integer stuId) { - List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>() - .in("stuId",stuId)); - List<Integer> collect = studentHonors.stream().map(StudentHonor::getStuId).collect(Collectors.toList()); - return honorDeClient.getStuHonors(collect); + 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(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(studentHonor.getHonorType()); + integers.add(studentHonor.getNumber()); + HonorRules honorRules = honorDeClient.getHonor(integers); + 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()) - studentHonor.getNumber())); + vo.setIsTopLevel(2); + } else { + vo.setLevelNum(10); + vo.setNextLevel(10); + vo.setIsTopLevel(1); + } + list.add(vo); + } + return list; } } -- Gitblit v1.7.1