| | |
| | | |
| | | 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; |
| | |
| | | @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; |
| | | } |
| | | } |