Bläddra i källkod

酷乐秀优化

zouxuan 7 månader sedan
förälder
incheckning
b3b1f2fdb9

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

@@ -1,9 +1,9 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
 import com.yonge.cooleshow.biz.dal.dao.HomeDao;
-import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.dao.UserAccountRecordDao;
 import com.yonge.cooleshow.biz.dal.dto.SubjectHomeSearch;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
@@ -49,7 +49,9 @@ public class HomeServiceImpl implements HomeService {
     @Resource
     private CourseScheduleService courseScheduleService;
     @Resource
-    private MusicSheetDao musicSheetDao;
+    private CourseGroupService courseGroupService;
+    @Resource
+    private MusicSheetService musicSheetService;
     @Resource
     private UserAccountRecordDao userAccountRecordDao;
     @Resource
@@ -369,7 +371,7 @@ public class HomeServiceImpl implements HomeService {
 
         收益:售卖曲目累计收益金额
          */
-        TeacherHomeWrapper.MusicSheetTotal musicSheetTotal = musicSheetDao.musicSheetTotal(teacherId);
+        TeacherHomeWrapper.MusicSheetTotal musicSheetTotal = musicSheetService.getDao().musicSheetTotal(teacherId);
         if (musicSheetTotal == null) {
             musicSheetTotal = new TeacherHomeWrapper.MusicSheetTotal();
         }
@@ -387,7 +389,7 @@ public class HomeServiceImpl implements HomeService {
 
     @Override
     public List<TeacherHomeWrapper.MusicSheetTotal> musicSheetPage(TeacherHomeWrapper.MusicSheetQuery query) {
-        return musicSheetDao.musicSheetPage(query);
+        return musicSheetService.getDao().musicSheetPage(query);
     }
 
     @Override
@@ -572,9 +574,21 @@ public class HomeServiceImpl implements HomeService {
         List<TeacherIndexWrapper.TeacherIncome> records = record.getRecords();
         if (CollectionUtils.isNotEmpty(records)) {
             List<Long> userIds = records.stream().map(TeacherIndexWrapper.TeacherIncome::getUserId).collect(Collectors.toList());
-            //获取用户声部信息
-            List<Map<Integer, String>> studentSubjectMapList = studentService.getDao().getStudentSubjectMapList(userIds);
-            Map<Integer, String> studentSubjectMap = MapUtil.convertIntegerMap(studentSubjectMapList);
+            Map<Long, CbsMusicSheetWrapper.MusicSheetApplication> sysMusicSheetMap = new HashMap<>();
+            Map<Integer, String> studentSubjectMap = new HashMap<>();
+            if(StringUtils.equals(query.getType(),"MUSIC")){
+                //曲谱
+                List<Long> musicSheetIds = records.stream().map(TeacherIndexWrapper.TeacherIncome::getBizId).collect(Collectors.toList());
+                CbsMusicSheetWrapper.MusicSheetApplicationQuery applicationQuery = musicSheetService.getMusicSheetApplicationQuery();
+                applicationQuery.setMusicSheetIds(musicSheetIds);
+                applicationQuery.setRows(musicSheetIds.size());
+                List<CbsMusicSheetWrapper.MusicSheetApplication> applications = musicSheetService.queryCbsMusicSheetApplication(applicationQuery);
+                sysMusicSheetMap = applications.stream().collect(Collectors.toMap(CbsMusicSheetWrapper.MusicSheetApplication::getId, Function.identity()));
+            }else {
+                //获取用户声部信息
+                List<Map<Integer, String>> studentSubjectMapList = studentService.getDao().getStudentSubjectMapList(userIds);
+                studentSubjectMap = MapUtil.convertIntegerMap(studentSubjectMapList);
+            }
             List<SysUser> sysUsers = sysUserService.getDao().selectBatchIds(userIds);
             Map<Long, SysUser> sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, Function.identity()));
             for (TeacherIndexWrapper.TeacherIncome teacherIncome : records) {
@@ -583,7 +597,15 @@ public class HomeServiceImpl implements HomeService {
                     teacherIncome.setUserName(sysUser.getUsername());
                     teacherIncome.setUserAvatar(sysUser.getAvatar());
                 }
-                teacherIncome.setSubjectName(studentSubjectMap.get(teacherIncome.getUserId().intValue()));
+                if(StringUtils.equals(query.getType(),"MUSIC")){
+                    CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication = sysMusicSheetMap.get(teacherIncome.getBizId());
+                    if(musicSheetApplication != null){
+                        teacherIncome.setBizName(musicSheetApplication.getName());
+                        teacherIncome.setBizCover(musicSheetApplication.getMusicCover());
+                    }
+                }else {
+                    teacherIncome.setSubjectName(studentSubjectMap.get(teacherIncome.getUserId().intValue()));
+                }
             }
         }
         return PageUtil.pageInfo(record);

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TeacherIndexWrapper.java

@@ -162,9 +162,15 @@ public class TeacherIndexWrapper {
         @ApiModelProperty("数量")
         private Integer bizQuantity;
 
+        @ApiModelProperty("业务id")
+        private Long bizId;
+
         @ApiModelProperty("业务名称")
         private String bizName;
 
+        @ApiModelProperty("业务图片")
+        private String bizCover;
+
         @ApiModelProperty("金额")
         private BigDecimal amount;
     }

+ 14 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml

@@ -535,7 +535,13 @@
 		<if test="param.type == 'MUSIC'">
 			1 bizQuantity,
 		</if>
-		ttar.trans_amount_ amount,uo.create_time_ orderTime,cg.name_ bizName
+		ttar.trans_amount_ amount,uo.create_time_ orderTime,
+		<if test="param.type != 'MUSIC'">
+			cg.id_ bizId
+		</if>
+		<if test="param.type == 'MUSIC'">
+			cg.cbs_music_sheet_id_ bizId
+		</if>
 		from tenant_teacher_account_record ttar
 		left join user_order uo ON uo.order_no_ = ttar.order_no_
 		<if test="param.type != 'MUSIC'">
@@ -549,7 +555,13 @@
 		AND ttar.biz_type_ = #{param.type}
 		UNION ALL
 		select uo.user_id_ userId,COUNT(ucar.id_) bizQuantity,SUM(ucar.trans_amount_) amount,
-		       uo.create_time_ orderTime,cg.name_ bizName
+		       uo.create_time_ orderTime,
+		<if test="param.type != 'MUSIC'">
+			cg.id_ bizId
+		</if>
+		<if test="param.type == 'MUSIC'">
+			cg.cbs_music_sheet_id_ bizId
+		</if>
 		from user_cash_account_record ucar
 		left join user_order uo ON uo.order_no_ = ucar.order_no_
 		<if test="param.type != 'MUSIC'">