From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 05 二月 2024 11:56:52 +0800 Subject: [PATCH] 更新bug修改 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 129 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 663fffb..a7bbcb8 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,26 @@ 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.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 +37,135 @@ @Service public class StudentHonorServiceImpl extends ServiceImpl<StudentHonorMapper, StudentHonor> implements StudentHonorService { + @Resource + private CoursePackageClient coursePackageClient; + + @Resource + private ParticipantClient participantClient; + + @Resource + private SiteClient siteClient; @Autowired private HonorDeClient honorDeClient; + @Autowired + private TStudentService studentService; + + @Autowired + private HonorRulesClient honorRulesClient; + + + + + + @Override public List<GongVo> queryStuOfMedalData(Integer stuId) { 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; - default: - break; - } - voList.add(vo); - }); +// 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) { + GongVo vo = new GongVo(); + vo.setMedalType(1); + vo.setMedalName("俱乐部之星"); + 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<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>() - .in("stuId",stuId)); - List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).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; + } + //拿到当前对应的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(0); + } else { + vo.setIsTopLevel(1); + } + list.add(vo); + } + return list; } } -- Gitblit v1.7.1