Selaa lähdekoodia

酷乐秀优化

zouxuan 4 kuukautta sitten
vanhempi
commit
c2fa41de28

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java

@@ -535,17 +535,10 @@ public class HomeServiceImpl implements HomeService {
         //课程
         List<TeacherIndexWrapper.CourseExposureTotal> liveSummer = userOrderDetailService.getDao().liveBuyTotal(search,groupBy);
         result.put("COURSE",exposureFillData(liveSummer,dateList));
-        //获取老师关联的学员
-        List<Long> studentIds = teacherService.getDao().getStudentIds(search.getTeacherId(),
-                null,
-                search.getStartTime(),
-                search.getEndTime());
-        if(CollectionUtils.isNotEmpty(studentIds)){
-            //曲谱
-            search.setStudentIds(studentIds);
-            List<TeacherIndexWrapper.CourseExposureTotal> musicSheetSummer = userOrderDetailService.getDao().musicSheetBuyTotal(search,groupBy);
-            result.put(GoodTypeEnum.MUSIC.getCode(),exposureFillData(musicSheetSummer,dateList));
-        }
+
+        //曲谱
+        List<TeacherIndexWrapper.CourseExposureTotal> musicSheetSummer = userOrderDetailService.getDao().musicSheetBuyTotal(search,groupBy);
+        result.put(GoodTypeEnum.MUSIC.getCode(),exposureFillData(musicSheetSummer,dateList));
         //将数据合并,map中所有的数据按时间,将list中的数据相加
         List<TeacherIndexWrapper.CourseExposureTotal> finalResult = new ArrayList<>();
         for (String s : dateList) {
@@ -573,7 +566,7 @@ public class HomeServiceImpl implements HomeService {
         if (CollectionUtils.isNotEmpty(records)) {
             List<Long> userIds = records.stream().map(TeacherIndexWrapper.TeacherIncome::getUserId).collect(Collectors.toList());
             Map<Long, CbsMusicSheetWrapper.MusicSheetApplication> sysMusicSheetMap = new HashMap<>();
-            Map<Integer, String> studentSubjectMap = new HashMap<>();
+            Map<Long, String> studentSubjectMap = new HashMap<>();
             if(StringUtils.equals(query.getType(),"MUSIC")){
                 //曲谱
                 List<Long> musicSheetIds = records.stream().map(TeacherIndexWrapper.TeacherIncome::getBizId).collect(Collectors.toList());
@@ -602,7 +595,7 @@ public class HomeServiceImpl implements HomeService {
                         teacherIncome.setBizCover(musicSheetApplication.getMusicCover());
                     }
                 }else {
-                    teacherIncome.setSubjectName(studentSubjectMap.get(teacherIncome.getUserId().intValue()));
+                    teacherIncome.setSubjectName(studentSubjectMap.get(teacherIncome.getUserId()));
                 }
             }
         }

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

@@ -191,12 +191,9 @@
         select uod.good_type_ type,COUNT(distinct uod.order_no_) exposureNum,
                DATE_FORMAT(uod.create_time_,#{groupBy}) 'date' from user_order_detail uod
         left join user_order uo ON uo.order_no_ = uod.order_no_
-        where uod.good_type_ = 'MUSIC' AND uo.status_ = 'PAID'
-          AND uo.user_id_ IN
-          <foreach collection="param.studentIds" item="userId" open="(" close=")" separator=",">
-              #{userId}
-            </foreach>
-          AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
+        left join music_sheet ms ON ms.id_ = uod.biz_id_
+        where uod.good_type_ = 'MUSIC' AND uo.status_ = 'PAID' AND ms.source_type_ = 'TEACHER' AND ms.create_by_ = #{param.teacherId}
+        AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
         group by DATE_FORMAT(uod.create_time_,#{groupBy}) order by 'date'
     </select>