From 7501140cf637fef9629a80202907ed067c8a5a06 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 08 三月 2024 20:07:45 +0800
Subject: [PATCH] 添加方法
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 154 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..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
@@ -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,159 @@
@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;
+
+ @Resource
+ private WorldCupCompetitorClient worldCupCompetitorClient;
+
+
+
+
+
+
@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);
+ }
+
+ 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<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(0);
+ } else {
+ vo.setIsTopLevel(1);
+ }
+ list.add(vo);
+ }
+ return list;
}
}
--
Gitblit v1.7.1