| | |
| | | |
| | | 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.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; |
| | | |
| | | @Resource |
| | | private ParticipantClient participantClient; |
| | | |
| | | @Resource |
| | | private SiteClient siteClient; |
| | | |
| | | |
| | | @Autowired |
| | | private HonorDeClient honorDeClient; |
| | | |
| | | |
| | | @Autowired |
| | | private TStudentService studentService; |
| | | |
| | | @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 -> { |
| | | // 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(stuoHo.getHonorType()); |
| | | switch (stuoHo.getHonorType()){ |
| | | case 1: |
| | | vo.setMedalType(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 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); |
| | | List<StuMedalVo> studentHonors = new ArrayList<>(); |
| | | // List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).collect(Collectors.toList()); |
| | | |
| | | Integer count1 =coursePackageClient.counts(stuId); |
| | | if (count1>0){ |
| | | StuMedalVo vo = new StuMedalVo(); |
| | | vo.setMedalType(1); |
| | | vo.setMedalName("俱乐部之星"); |
| | | //拿到当前对应的rule对象 |
| | | List<Integer> integers = new ArrayList<>(); |
| | | integers.add(1); |
| | | integers.add(count1); |
| | | HonorRules honorRules = honorDeClient.getHonor(integers); |
| | | if (count1<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); |
| | | }else { |
| | | vo.setIsTopLevel(1); |
| | | } |
| | | |
| | | studentHonors.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; |
| | | } |
| | | } |