Quellcode durchsuchen

Merge branch 'feature/1219_opt' of http://git.dayaedu.com/yonge/cooleshow into develop-new

zouxuan vor 7 Monaten
Ursprung
Commit
a625b54723

+ 16 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java

@@ -12,9 +12,11 @@ import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -63,6 +65,9 @@ public class MusicAlbumController extends BaseController {
     @Autowired
     private AppVersionInfoService appVersionInfoService;
 
+    @Autowired
+    private MusicSheetService musicSheetService;
+
     @ApiOperation(value = "分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/list", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<MusicAlbumVo>> list(@RequestBody MusicAlbumSearch query) {
@@ -207,4 +212,15 @@ public class MusicAlbumController extends BaseController {
     }
 
 
+
+    @ApiOperation(value = "分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
+    @PostMapping(value="/musicPage", consumes="application/json", produces="application/json")
+    public HttpResponseResult<PageInfo<MusicSheetVo>> musicPage(@RequestBody MusicAlbumDetailSearch query) {
+
+        query.setType(2);
+        query.setState(YesOrNoEnum.YES);
+        IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectAlbumDetailPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(musicSheetVoIPage));
+    }
+
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -174,6 +174,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         result.setSalesStartDate(group.getSalesStartDate());
         result.setSalesEndDate(group.getSalesEndDate());
         result.setMixStudentNum(group.getMixStudentNum());
+        result.setMaxStudentNum(group.getMaxStudentNum());
         result.setImGroupId(group.getImGroupId());
         result.setAuditVersion(group.getAuditVersion());
         SysUser teacherUser = sysUserService.getByUserId(group.getTeacherId());

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -2882,6 +2882,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //获取所有学生列表
         List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentService.lambdaQuery()
                 .in(CourseScheduleStudentPayment::getCourseId, courseScheduleIds)
+                .orderByDesc(CourseScheduleStudentPayment::getId)
                 .list();
         if (CollectionUtils.isEmpty(studentPayments)) {
             return Lists.newArrayList();

+ 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;
     }

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -372,7 +372,6 @@
         else 'REVIEWED' end ) as homeworkStatus,
         (select group_concat(s2.name_) from subject s2
         where find_in_set(s2.id_,st.subject_id_) and s2.del_flag_ = 0 ) as subjectName
-
         from course_schedule_student_payment cssp
         left join sys_user s on cssp.user_id_ = s.id_
         left  join student st on st.user_id_ = s.id_
@@ -382,6 +381,7 @@
                 and cssp.course_id_ = #{courseId}
             </if>
         </where>
+        ORDER BY cssp.id_ DESC
     </select>
 
 	<select id="selectAbsenteeism" resultType="com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo">

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

@@ -60,7 +60,8 @@
                 sum(if(a.end_time_ &lt;= now(),1,0)) as expTime,
                 sum(if(a.end_time_ &gt; now(),1,0)) as unExpTime
             from course_schedule a
-            where a.lock_ = 0 and a.type_ in ('PRACTICE','PIANO_ROOM_CLASS','VIP','LIVE','GROUP')
+            LEFT JOIN course_group cg ON cg.id_ = a.course_group_id_
+            where a.lock_ = 0 AND cg.status_ IN ('COMPLETE','ING')
             <if test="userId != null and userId != ''">
                 and a.teacher_id_ = #{userId}
             </if>
@@ -72,8 +73,9 @@
                 a.teacher_id_ as userId,
                 avg (b.score_) as starGrade
             from course_schedule a
+            LEFT JOIN course_group cg ON cg.id_ = a.course_group_id_
             join course_schedule_replied b on a.id_ = b.course_schedule_id_
-            where a.lock_ = 0 and a.type_ in ('PRACTICE','PIANO_ROOM_CLASS','VIP','LIVE','GROUP') and b.score_ is not null
+            where a.lock_ = 0 AND cg.status_ IN ('COMPLETE','ING') and b.score_ is not null
             <if test="userId != null and userId != ''">
                 and a.teacher_id_ = #{userId}
             </if>
@@ -93,7 +95,8 @@
         from student t
         left join course_schedule_student_payment a on t.user_id_ = a.user_id_
         left join course_schedule b on a.course_id_ = b.id_
-        where b.lock_ = 0 and b.type_ in ('PRACTICE','PIANO_ROOM_CLASS','VIP','LIVE','GROUP')
+        LEFT JOIN course_group cg ON cg.id_ = b.course_group_id_
+        where b.lock_ = 0 AND cg.status_ IN ('COMPLETE','ING')
             <if test="userId != null and userId != ''">
                 and t.user_id_ = #{userId}
             </if>

+ 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'">