liu 2 лет назад
Родитель
Сommit
00baee1ada

+ 16 - 4
.idea/workspace.xml

@@ -5,12 +5,17 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="09eff92e-84e6-4825-81c9-523c173595c5" name="Changes" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/RankingVo.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartEvaluateTeacherControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartEvaluateTeacherControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateTeacherController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateTeacherController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-prod.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-prod.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartEvaluateTdetailMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartEvaluateTdetailMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartEvaluateTeacherMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartEvaluateTeacherMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartEvaluateTdetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartEvaluateTdetailService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartEvaluateTeacherService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartEvaluateTeacherService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartEvaluateTdetailServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartEvaluateTdetailServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartEvaluateTeacherServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartEvaluateTeacherServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartEvaluateTeacherMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartEvaluateTeacherMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
@@ -22,6 +27,13 @@
     <option name="testRunner" value="GRADLE" />
     <option name="delegatedBuild" value="true" />
   </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Class" />
+      </list>
+    </option>
+  </component>
   <component name="FindInProjectRecents">
     <findStrings>
       <find>queryPhoneBook</find>
@@ -253,7 +265,7 @@
       <option name="presentableId" value="Default" />
       <updated>1715735320475</updated>
       <workItem from="1715735323482" duration="6840000" />
-      <workItem from="1715755513734" duration="10876000" />
+      <workItem from="1715755513734" duration="20191000" />
     </task>
     <servers />
   </component>

+ 1 - 1
src/main/java/com/template/api/SmartEvaluateTeacherControllerAPI.java

@@ -55,7 +55,7 @@ public interface SmartEvaluateTeacherControllerAPI {
     @ApiOperation(value = "最受欢迎老师TOP6", notes = "最受欢迎老师TOP6", httpMethod = "GET")
     CommonResult queryTopSixTeacher();
 
-    @GetMapping(value = "rankingList")
+    @GetMapping(value = "/rankingList")
     @ApiOperation(value = "排行榜", notes = "排行榜", httpMethod = "GET")
     CommonResult rankingList(String cardNo);
 

+ 24 - 1
src/main/java/com/template/controller/SmartEvaluateTeacherController.java

@@ -3,18 +3,22 @@ package com.template.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.annotation.DESRespondSecret;
 import com.template.annotation.PassToken;
 import com.template.api.SmartEvaluateTeacherControllerAPI;
 import com.template.common.utils.ExcelUtils;
 import com.template.common.utils.UUIDUtil;
 import com.template.model.evaluate.teacher.*;
+import com.template.model.pojo.SmartSemester;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.EvaluateTeacherVo;
+import com.template.model.vo.RankingVo;
 import com.template.services.SmartEvaluateTdetailService;
 import com.template.services.SmartEvaluateTeacherService;
 import com.template.services.SmartScoreManageService;
+import com.template.services.SmartSemesterService;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -23,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -37,6 +42,9 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
     public SmartEvaluateTeacherService smartEvaluateTeacherService;
     @Autowired
     public SmartScoreManageService smartScoreManageService;
+    @Autowired
+    SmartSemesterService smartSemesterService;
+
 
     @PassToken
     public CommonResult operateSmartScoreManage(JSONObject jsonObject) {
@@ -353,7 +361,22 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
     }
 
     @Override
+    @DESRespondSecret(validated = false)
     public CommonResult rankingList(String cardNo) {
-        return null;
+        LocalDateTime now = LocalDateTime.now();
+        SmartSemester smartSemester = smartSemesterService.getSemester(now);
+        if (ObjectUtils.isEmpty(smartSemester)) {
+            return CommonResult.ok("当前时间不属于任何学期");
+        }
+        String term = smartSemester.getName();
+
+        List<RankingVo> rankingList=smartEvaluateTeacherService.getRankingList(term);
+        RankingVo vo=smartEvaluateTeacherService.getRanking(term,cardNo);
+
+        HashMap<String,Object> map = new HashMap<>();
+        map.put("list",rankingList);
+        map.put("single",vo);
+
+        return CommonResult.ok(map);
     }
 }

+ 5 - 0
src/main/java/com/template/mapper/SmartEvaluateTdetailMapper.java

@@ -2,9 +2,12 @@ package com.template.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.template.model.evaluate.teacher.SmartEvaluateTdetail;
+import com.template.model.vo.RankingVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  * 评分表 Mapper 接口
@@ -17,4 +20,6 @@ import org.springframework.stereotype.Repository;
 public interface SmartEvaluateTdetailMapper extends BaseMapper<SmartEvaluateTdetail> {
 
     Double getAvgEvaluateScore(@Param("term") String term,@Param("scoreItem") String scoreItem);
+
+
 }

+ 6 - 0
src/main/java/com/template/mapper/SmartEvaluateTeacherMapper.java

@@ -3,6 +3,8 @@ package com.template.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
 import com.template.model.vo.EvaluateTeacherVo;
+import com.template.model.vo.RankingVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -22,4 +24,8 @@ public interface SmartEvaluateTeacherMapper extends BaseMapper<SmartEvaluateTeac
     Double getAvgLowingScore(@RequestParam("term") String term);
 
     List<EvaluateTeacherVo> smartTopTeacherList();
+
+    List<RankingVo> getRankingList(@Param("term") String term);
+
+    RankingVo getRanking(@Param("term") String term,@Param("cardNo") String cardNo);
 }

+ 15 - 0
src/main/java/com/template/model/vo/RankingVo.java

@@ -0,0 +1,15 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class RankingVo {
+    private String name;
+
+    private Double totalScore;
+
+    private String rank;
+
+    private String headImage;
+
+}

+ 2 - 0
src/main/java/com/template/services/SmartEvaluateTdetailService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.evaluate.teacher.SmartEvaluateTdetail;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.RankingVo;
 
 import java.util.List;
 
@@ -33,4 +34,5 @@ public interface SmartEvaluateTdetailService extends IService<SmartEvaluateTdeta
 
     public Double getAvgEvaluateScore(String term, String scoreItem);
 
+
 }

+ 6 - 0
src/main/java/com/template/services/SmartEvaluateTeacherService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.EvaluateTeacherVo;
+import com.template.model.vo.RankingVo;
 
 import java.util.List;
 
@@ -35,4 +36,9 @@ public interface SmartEvaluateTeacherService extends IService<SmartEvaluateTeach
     Double getAvgLowingScore(String term);
 
     List<EvaluateTeacherVo> smartTopTeacherList();
+
+    List<RankingVo> getRankingList(String term);
+
+    RankingVo getRanking(String term, String cardNo);
+
 }

+ 3 - 0
src/main/java/com/template/services/impl/SmartEvaluateTdetailServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.template.mapper.SmartEvaluateTdetailMapper;
 import com.template.model.evaluate.teacher.SmartEvaluateTdetail;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.RankingVo;
 import com.template.services.SmartEvaluateTdetailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -76,4 +77,6 @@ public class SmartEvaluateTdetailServiceImpl extends ServiceImpl<SmartEvaluateTd
     public Double getAvgEvaluateScore(String term, String scoreItem){
         return smartEvaluateTdetailMapper.getAvgEvaluateScore(term, scoreItem);
     }
+
+
 }

+ 11 - 0
src/main/java/com/template/services/impl/SmartEvaluateTeacherServiceImpl.java

@@ -8,6 +8,7 @@ import com.template.mapper.SmartEvaluateTeacherMapper;
 import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.EvaluateTeacherVo;
+import com.template.model.vo.RankingVo;
 import com.template.services.SmartEvaluateTeacherService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -84,4 +85,14 @@ public class SmartEvaluateTeacherServiceImpl extends ServiceImpl<SmartEvaluateTe
         return result;
     }
 
+    @Override
+    public List<RankingVo> getRankingList(String term) {
+        return smartEvaluateTeacherMapper.getRankingList(term);
+    }
+
+    @Override
+    public RankingVo getRanking(String term, String cardNo) {
+        return smartEvaluateTeacherMapper.getRanking(term,cardNo);
+    }
+
 }

+ 25 - 0
src/main/resources/mapper/template/SmartEvaluateTeacherMapper.xml

@@ -21,5 +21,30 @@
         order by total_score desc
     </select>
 
+    <select id="getRankingList" resultType="com.template.model.vo.RankingVo">
+        SELECT
+            se.name,
+            se.total_score as totalScore,
+            dense_rank ( ) over ( ORDER BY se.total_score DESC ) AS 'rank' ,
+            su.head_image as headImage
+        FROM
+            `smart_evaluate_teacher`  se
+                LEFT JOIN smart_user su on  se.card_no=su.card_no
+        WHERE
+            se.term = #{term}	AND se.deleted=0
+    </select>
+
+    <select id="getRanking" resultType="com.template.model.vo.RankingVo">
+        SELECT
+            b.`name` as name,
+            b.total_score as totalScore,
+            b.rank,
+            b.head_image as headImage
+        FROM
+            ( SELECT se.*, su.head_image,dense_rank ( ) over ( ORDER BY total_score DESC ) AS 'rank' FROM `smart_evaluate_teacher` se LEFT JOIN smart_user su on  se.card_no=su.card_no   WHERE term = #{term} and se.deleted = 0 ) b
+        WHERE
+            b.card_no= #{cardNo}
+    </select>
+
 
 </mapper>

BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original