yonge 3 rokov pred
rodič
commit
c042e1ccf2

+ 27 - 28
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityEvaluationServiceImpl.java

@@ -1,33 +1,33 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dao.ActivityEvaluationDao;
 import com.yonge.cooleshow.biz.dal.dto.ActivityEvaluationDto;
+import com.yonge.cooleshow.biz.dal.dto.search.ActivityEvaluationSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.entity.ActivityEvaluation;
 import com.yonge.cooleshow.biz.dal.entity.ActivityPlan;
+import com.yonge.cooleshow.biz.dal.service.ActivityEvaluationRecordService;
+import com.yonge.cooleshow.biz.dal.service.ActivityEvaluationService;
 import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
+import com.yonge.cooleshow.biz.dal.vo.ActivityEvaluationVo;
 import com.yonge.cooleshow.biz.dal.vo.ActivityMusicVo;
+import com.yonge.cooleshow.biz.dal.vo.ActivityRankingVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.toolset.base.exception.BizException;
-import org.apache.commons.collections.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.yonge.cooleshow.biz.dal.entity.ActivityEvaluation;
-import com.yonge.cooleshow.biz.dal.vo.ActivityEvaluationVo;
-import com.yonge.cooleshow.biz.dal.dto.search.ActivityEvaluationSearch;
-import com.yonge.cooleshow.biz.dal.dao.ActivityEvaluationDao;
-import com.yonge.cooleshow.biz.dal.service.ActivityEvaluationService;
-
-import java.util.Date;
-import java.util.List;
-
-import java.util.Map;
-import java.util.stream.Collectors;
 
 
 @Service
@@ -35,6 +35,9 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
     private final static Logger log = LoggerFactory.getLogger(ActivityEvaluationServiceImpl.class);
     @Autowired
     private ActivityPlanService activityPlanService;
+    
+    @Autowired
+    private ActivityEvaluationRecordService activityEvaluationRecordService;
 
     @Override
     public ActivityEvaluationVo detail(Long id) {
@@ -80,20 +83,16 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
     @Override
     public List<ActivityMusicVo> getActivityMusic(Long activityPlanId, Long userId) {
         List<ActivityMusicVo> result = baseMapper.selectActivityMusic(activityPlanId, userId);
-        /*List<ActivityMusicVo> activityMusicVoList = baseMapper.selectActivityUser(activityPlanId);
-        Map<Long, List<ActivityMusicVo>> collect = activityMusicVoList.stream()
-                .collect(Collectors.groupingBy(
-                        ActivityMusicVo::getEvaluationId));
         for (ActivityMusicVo activityMusicVo : result) {
-            List<ActivityMusicVo> activityUserList = collect.get(activityMusicVo.getEvaluationId());
-            if (!CollectionUtils.isEmpty(activityUserList)) {
-                activityMusicVo.setUserSubject(activityUserList.get(0).getUserSubject());
-                activityMusicVo.setScore(activityUserList.get(0).getScore());
-                activityMusicVo.setUserAvatar(activityUserList.get(0).getUserAvatar());
-                activityMusicVo.setUsername(activityUserList.get(0).getUsername());
-                activityMusicVo.setUserId(activityUserList.get(0).getUserId());
+        	List<ActivityRankingVo> rankingList =  activityEvaluationRecordService.queryRankingList(activityPlanId, activityMusicVo.getEvaluationId(), 1);
+            if (rankingList != null && rankingList.size() > 0) {
+                activityMusicVo.setUserSubject(rankingList.get(0).getUserSubject());
+                activityMusicVo.setScore(rankingList.get(0).getScore());
+                activityMusicVo.setUserAvatar(rankingList.get(0).getUserAvatar());
+                activityMusicVo.setUsername(rankingList.get(0).getUsername());
+                activityMusicVo.setUserId(rankingList.get(0).getUserId());
             }
-        }*/
+        }
         return result;
     }
 

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationRecordMapper.xml

@@ -44,13 +44,13 @@
     <select id="queryRankingList" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRankingVo">
     	select * from 
     	(
-		select aer.score_ socre,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject,aer.times_ times
+		select aer.id_,aer.score_ score,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject,aer.times_ times
 		from activity_evaluation_record aer left join sys_user u on aer.user_id_ = u.id_
         left join student stu on stu.user_id_ = aer.user_id_
         left join subject s on s.id_ = stu.subject_id_
 		where aer.activity_id_ = #{activityPlanId} and aer.evaluation_id_ = #{activityEvaluationId} and aer.score_ > 0
 		order by aer.score_ desc,aer.times_ asc, aer.id_ asc 
-		) a group by userId
+		) a group by userId order by score desc,id_ asc
 		limit #{limit}
     </select>
 
@@ -66,7 +66,7 @@
     </select>
 
     <select id="queryLastestRecord" resultMap="BaseResultMap">
-		select <include refid="baseColumns"/>
+		select t.*
 		from activity_evaluation_record t 
 		where t.activity_id_ = #{activityPlanId} and t.user_id_ = #{userId} and t.score_ > 0 order by id_ desc limit 1
     </select>

+ 10 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityPlanEvaluationMapper.xml

@@ -40,5 +40,15 @@
             ) a
             left join activity_evaluation_record b on a.id_ = b.id_
             left join activity_plan_reward c on a.activity_id_ = c.activity_id_
+            
+            <!-- select a.activity_id_ as activityId, a.evaluation_id_ as bizId, a.user_id_ as userId, c.reward_id_ as rewardId from 
+            (
+            select * from activity_evaluation_record aer 
+            where aer.activity_id_ = #{activityPlanId} and aer.score_ >= 0
+            order by aer.score_ desc,aer.times_ asc, aer.id_ asc 
+            ) a 
+            left join activity_plan_reward c on a.activity_id_ = c.activity_id_
+            group by a.evaluation_id_,a.user_id_ -->
+            
     </select>
 </mapper>