Browse Source

update:学生查看曲目列表,可看状态

liujunchi 3 years ago
parent
commit
9699d0b818

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

@@ -187,7 +187,22 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
 
 
     @Override
     @Override
     public IPage<MusicSheetVo> selectStudentPage(IPage<MusicSheetVo> page, StudentMusicSheetSearch query) {
     public IPage<MusicSheetVo> selectStudentPage(IPage<MusicSheetVo> page, StudentMusicSheetSearch query) {
-        return page.setRecords(baseMapper.selectStudentMusicPage(page, query));
+        IPage<MusicSheetVo> musicSheetVoIPage = page.setRecords(baseMapper.selectStudentMusicPage(page, query));
+        List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+        if (query.getStudentId() != null) {
+            StudentVo studentVo = studentService.detail(query.getStudentId());
+            if (studentVo == null) {
+                return musicSheetVoIPage;
+            }
+            for (MusicSheetVo record : records) {
+                if (ChargeTypeEnum.VIP.getCode().equals(record.getChargeType().getCode())
+                        && YesOrNoEnum.YES.getCode().equals(studentVo.getIsVip().getCode())) {
+                    record.setPlay(YesOrNoEnum.YES);
+                }
+            }
+        }
+        return musicSheetVoIPage;
+
     }
     }
 
 
     @Override
     @Override

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -29,6 +29,9 @@ public class MusicSheetVo extends MusicSheet {
     @ApiModelProperty("收藏 0:否,1:是")
     @ApiModelProperty("收藏 0:否,1:是")
     private YesOrNoEnum favorite;
     private YesOrNoEnum favorite;
 
 
+    @ApiModelProperty("是否购买/VIP(0:否,1:是) ")
+    private YesOrNoEnum play;
+
     public String getAddName() {
     public String getAddName() {
         return addName;
         return addName;
     }
     }
@@ -68,4 +71,12 @@ public class MusicSheetVo extends MusicSheet {
     public void setFavorite(YesOrNoEnum favorite) {
     public void setFavorite(YesOrNoEnum favorite) {
         this.favorite = favorite;
         this.favorite = favorite;
     }
     }
+
+    public YesOrNoEnum getPlay() {
+        return play;
+    }
+
+    public void setPlay(YesOrNoEnum play) {
+        this.play = play;
+    }
 }
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -240,10 +240,17 @@
         where find_in_set(s.id_,t.music_subject_)  and s.del_flag_ = 0) as subjectNames
         where find_in_set(s.id_,t.music_subject_)  and s.del_flag_ = 0) as subjectNames
         <if test="param.studentId != null">
         <if test="param.studentId != null">
             ,if(mf.id_ is not null,1,0) as favorite
             ,if(mf.id_ is not null,1,0) as favorite
+            ,case when mspr.id_ is not null then 1
+                when t.charge_type_ = 'FREE' then 1
+                else 0 end as play
         </if>
         </if>
         from music_sheet t
         from music_sheet t
         left join sys_user su on t.create_by_ = su.id_
         left join sys_user su on t.create_by_ = su.id_
         <if test="param.studentId != null">
         <if test="param.studentId != null">
+            left join music_sheet_purchase_record mspr
+                on mspr.music_sheet_id_ = t.id_
+                and mspr.student_id_ = #{param.studentId}
+                and order_status_ = 'PAID'
             left join music_favorite mf on t.id_ = mf.music_sheet_id_ and mf.user_id_ = #{param.studentId}
             left join music_favorite mf on t.id_ = mf.music_sheet_id_ and mf.user_id_ = #{param.studentId}
         </if>
         </if>
         <where>
         <where>