liujunchi 3 years ago
parent
commit
741afa1075

+ 7 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.yonge.cooleshow.biz.dal.dto.SubjectHomeSearch;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
 import com.yonge.cooleshow.biz.dal.service.HomeService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
@@ -11,12 +12,16 @@ import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.base.page.QueryInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -74,7 +79,7 @@ public class HomeController extends BaseController {
     @ApiOperation(value = "获取首页- 内容数据-声部数据")
     @PostMapping("/subjectHome")
     // @PreAuthorize("@pcs.hasPermissions('home/courseHome')")
-    public HttpResponseResult<SubjectHomeVo> subjectHome() {
-        return succeed();
+    public HttpResponseResult<PageInfo<SubjectHomeVo>> subjectHome(@RequestBody SubjectHomeSearch query) {
+        return succeed(homeService.subjectHome(PageUtil.getPage(query),query));
     }
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/HomeDao.java

@@ -1,6 +1,9 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.SubjectHomeSearch;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
+import com.yonge.cooleshow.biz.dal.vo.SubjectHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TagTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
@@ -51,4 +54,14 @@ public interface HomeDao {
      * @return
      */
     List<TagTotalTeacher> tagTeacher(@Param("timeType") String timeType, @Param("param") TotalReq query);
+
+
+    /**
+     * 内容数据 声部列表
+     *
+     * @param page
+     * @param query
+     * @return
+     */
+    IPage<SubjectHomeVo> selectSubjectHome(@Param("page") IPage<SubjectHomeVo> page, @Param("query") SubjectHomeSearch query);
 }

+ 39 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/SubjectHomeSearch.java

@@ -0,0 +1,39 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-08-16
+ */
+@ApiModel("内容数据-声部查询")
+public class SubjectHomeSearch extends QueryInfo {
+
+    @ApiModelProperty("排序类型 MUSIC:乐谱 PLATFORM_MUSIC:平台乐谱 TEACHER_MUSIC:老师乐谱 PRACTICE :陪练课 PIANO:琴房课  LIVE:直播课  VIDEO:视频课 ")
+    private String sortType;
+
+    @ApiModelProperty("desc:倒序 asc:正序")
+    private String order;
+
+    public String getSortType() {
+        return sortType;
+    }
+
+    public void setSortType(String sortType) {
+        this.sortType = sortType;
+    }
+
+    @Override
+    public String getOrder() {
+        return order;
+    }
+
+    @Override
+    public void setOrder(String order) {
+        this.order = order;
+    }
+}

+ 14 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -34,6 +34,12 @@ public class MusicSheet implements Serializable {
     @ApiModelProperty(value = "曲谱名称")
     private String musicSheetName;  //曲谱名称
 
+
+	@NotBlank(message = "曲谱封面图不能为空!")
+	@TableField("title_img_")
+	@ApiModelProperty(value = "封面图")
+	private String titleImg;  //曲谱名称
+
     @TableField("user_id_")
     @ApiModelProperty(value = "曲谱来源(平台用户ID或者是老师ID)")
     private Long userId;  //曲谱来源(平台用户ID或者是老师ID)
@@ -183,6 +189,14 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "假删除标识 0:未删除 1:已删除")
 	private Boolean delFlag;
 
+	public String getTitleImg() {
+		return titleImg;
+	}
+
+	public void setTitleImg(String titleImg) {
+		this.titleImg = titleImg;
+	}
+
 	public String getReason() {
 		return reason;
 	}

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/HomeService.java

@@ -1,11 +1,15 @@
 package com.yonge.cooleshow.biz.dal.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.SubjectHomeSearch;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeVo;
+import com.yonge.cooleshow.biz.dal.vo.SubjectHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
 
 import java.util.Map;
 
@@ -49,4 +53,11 @@ public interface HomeService {
      *              <p> - timeType 时间类型 MONTH、月度 YEAR
      */
     CourseHomeVo queryCourseHomeData(Map<String, Object> param);
+
+    /**
+     * 内容数据 声部列表
+     *
+     * @return
+     */
+    PageInfo<SubjectHomeVo> subjectHome(IPage<SubjectHomeVo> page, SubjectHomeSearch query);
 }

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

@@ -1,7 +1,9 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
 import com.yonge.cooleshow.biz.dal.dao.HomeDao;
+import com.yonge.cooleshow.biz.dal.dto.SubjectHomeSearch;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
@@ -9,11 +11,14 @@ import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
 import com.yonge.cooleshow.biz.dal.service.HomeService;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeVo;
+import com.yonge.cooleshow.biz.dal.vo.SubjectHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TagTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -262,4 +267,9 @@ public class HomeServiceImpl implements HomeService {
         return result;
     }
 
+    @Override
+    public PageInfo<SubjectHomeVo> subjectHome(IPage<SubjectHomeVo> page, SubjectHomeSearch query) {
+        return PageUtil.pageInfo(baserMapper.selectSubjectHome(page,query));
+    }
+
 }

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

@@ -60,6 +60,12 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
          musicTagVoIPage.getRecords()
                  .forEach(musicTagVo -> {
                      List<MusicTagVo> childrenList = musicTagMap.get(musicTagVo.getId().toString());
+                     childrenList.forEach(children -> {
+                         musicTagVo.setEnablePlatformMusicSheetNum(musicTagVo.getEnableTeacherMusicSheetNum() + children.getEnablePlatformMusicSheetNum());
+                         musicTagVo.setEnableTeacherMusicSheetNum(musicTagVo.getEnableTeacherMusicSheetNum() + children.getEnableTeacherMusicSheetNum());
+                         musicTagVo.setMusicPlatformSheetNum(musicTagVo.getMusicPlatformSheetNum() + children.getMusicPlatformSheetNum());
+                         musicTagVo.setMusicTeacherSheetNum(musicTagVo.getMusicTeacherSheetNum() + children.getMusicTeacherSheetNum());
+                     });
                      // 如果没有按名称/编号查询 或 父级标签包含了名称/编号 , 展示所有子集 标签列表子集收起
                      if (StringUtil.isBlank(query.getIdAndName())
                              || musicTagVo.getName().contains(query.getIdAndName())

+ 47 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicTagVo.java

@@ -25,6 +25,53 @@ public class MusicTagVo extends MusicTag{
 	@ApiModelProperty("二级标签")
 	private List<MusicTagVo> children = new ArrayList<>();
 
+
+
+	@ApiModelProperty("平台乐谱启用数")
+	private Integer enablePlatformMusicSheetNum = 0;
+
+	@ApiModelProperty("平台乐谱数")
+	private Integer musicPlatformSheetNum= 0;
+
+
+	@ApiModelProperty("老师乐谱启用数")
+	private Integer enableTeacherMusicSheetNum= 0;
+
+	@ApiModelProperty("老师乐谱数")
+	private Integer musicTeacherSheetNum= 0;
+
+	public Integer getEnablePlatformMusicSheetNum() {
+		return enablePlatformMusicSheetNum;
+	}
+
+	public void setEnablePlatformMusicSheetNum(Integer enablePlatformMusicSheetNum) {
+		this.enablePlatformMusicSheetNum = enablePlatformMusicSheetNum;
+	}
+
+	public Integer getMusicPlatformSheetNum() {
+		return musicPlatformSheetNum;
+	}
+
+	public void setMusicPlatformSheetNum(Integer musicPlatformSheetNum) {
+		this.musicPlatformSheetNum = musicPlatformSheetNum;
+	}
+
+	public Integer getEnableTeacherMusicSheetNum() {
+		return enableTeacherMusicSheetNum;
+	}
+
+	public void setEnableTeacherMusicSheetNum(Integer enableTeacherMusicSheetNum) {
+		this.enableTeacherMusicSheetNum = enableTeacherMusicSheetNum;
+	}
+
+	public Integer getMusicTeacherSheetNum() {
+		return musicTeacherSheetNum;
+	}
+
+	public void setMusicTeacherSheetNum(Integer musicTeacherSheetNum) {
+		this.musicTeacherSheetNum = musicTeacherSheetNum;
+	}
+
 	public YesOrNoEnum getOpen() {
 		return open;
 	}

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentMusicSheetOrderVo.java

@@ -21,6 +21,8 @@ public class StudentMusicSheetOrderVo {
 
     @ApiModelProperty(value = "作曲人")
     private String composer;  //作曲人
+    @ApiModelProperty(value = "封面图")
+    private String titleImg;  //曲谱名称
 
 
     @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
@@ -38,6 +40,14 @@ public class StudentMusicSheetOrderVo {
     @ApiModelProperty(value = "购买时间")
     private Date purchaseTime;
 
+    public String getTitleImg() {
+        return titleImg;
+    }
+
+    public void setTitleImg(String titleImg) {
+        this.titleImg = titleImg;
+    }
+
     public Long getMusicSheetId() {
         return musicSheetId;
     }

+ 95 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/SubjectHomeVo.java

@@ -52,4 +52,99 @@ public class SubjectHomeVo {
     private Integer videoNum;
 
 
+    public Long getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Long subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public Integer getEnableMusicSheetNum() {
+        return enableMusicSheetNum;
+    }
+
+    public void setEnableMusicSheetNum(Integer enableMusicSheetNum) {
+        this.enableMusicSheetNum = enableMusicSheetNum;
+    }
+
+    public Integer getMusicSheetNum() {
+        return musicSheetNum;
+    }
+
+    public void setMusicSheetNum(Integer musicSheetNum) {
+        this.musicSheetNum = musicSheetNum;
+    }
+
+    public Integer getEnablePlatformMusicSheetNum() {
+        return enablePlatformMusicSheetNum;
+    }
+
+    public void setEnablePlatformMusicSheetNum(Integer enablePlatformMusicSheetNum) {
+        this.enablePlatformMusicSheetNum = enablePlatformMusicSheetNum;
+    }
+
+    public Integer getMusicPlatformSheetNum() {
+        return musicPlatformSheetNum;
+    }
+
+    public void setMusicPlatformSheetNum(Integer musicPlatformSheetNum) {
+        this.musicPlatformSheetNum = musicPlatformSheetNum;
+    }
+
+    public Integer getEnableTeacherMusicSheetNum() {
+        return enableTeacherMusicSheetNum;
+    }
+
+    public void setEnableTeacherMusicSheetNum(Integer enableTeacherMusicSheetNum) {
+        this.enableTeacherMusicSheetNum = enableTeacherMusicSheetNum;
+    }
+
+    public Integer getMusicTeacherSheetNum() {
+        return musicTeacherSheetNum;
+    }
+
+    public void setMusicTeacherSheetNum(Integer musicTeacherSheetNum) {
+        this.musicTeacherSheetNum = musicTeacherSheetNum;
+    }
+
+    public Integer getPracticeNum() {
+        return practiceNum;
+    }
+
+    public void setPracticeNum(Integer practiceNum) {
+        this.practiceNum = practiceNum;
+    }
+
+    public Integer getPianoClassNum() {
+        return pianoClassNum;
+    }
+
+    public void setPianoClassNum(Integer pianoClassNum) {
+        this.pianoClassNum = pianoClassNum;
+    }
+
+    public Integer getLiveNum() {
+        return liveNum;
+    }
+
+    public void setLiveNum(Integer liveNum) {
+        this.liveNum = liveNum;
+    }
+
+    public Integer getVideoNum() {
+        return videoNum;
+    }
+
+    public void setVideoNum(Integer videoNum) {
+        this.videoNum = videoNum;
+    }
 }

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

@@ -32,6 +32,9 @@ public class TeacherMusicSheetVo {
     @ApiModelProperty("曲谱名称")
     private String musicSheetName;
 
+    @ApiModelProperty(value = "封面图")
+    private String titleImg;  //曲谱名称
+
     @ApiModelProperty(value = "作曲人")
     private String composer;  //作曲人
 
@@ -58,6 +61,14 @@ public class TeacherMusicSheetVo {
     private String auditName;
 
 
+    public String getTitleImg() {
+        return titleImg;
+    }
+
+    public void setTitleImg(String titleImg) {
+        this.titleImg = titleImg;
+    }
+
     public Long getTeacherId() {
         return teacherId;
     }

+ 104 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml

@@ -352,4 +352,108 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="selectSubjectHome" resultType="com.yonge.cooleshow.biz.dal.vo.SubjectHomeVo">
+		select
+			s.id_ as subjectId
+			,s.name_ as subjectName
+			,a.musicSheetNum as musicSheetNum
+			,a.enableMusicSheetNum as enableMusicSheetNum
+			,a.enablePlatformMusicSheetNum as enablePlatformMusicSheetNum
+			,a.musicPlatformSheetNum as musicPlatformSheetNum
+			,a.enableTeacherMusicSheetNum as enableTeacherMusicSheetNum
+			,a.musicTeacherSheetNum as musicTeacherSheetNum
+			,b.practiceNum as practiceNum
+			,c.pianoClassNum as pianoClassNum
+			,d.liveNum as liveNum
+			,e.videoNum as videoNum
+		from subject s
+		 left join (
+			select
+				ms.music_subject_ ,
+				sum(if(ms.audit_status_ = 'PASS' ,1,0)) as musicSheetNum,
+				sum(if( ms.state_ = 1,1,0)) as enableMusicSheetNum,
+				sum(if( ms.state_ = 1 and ms.source_type_ = 'PLATFORM',1,0)) as enablePlatformMusicSheetNum,
+				sum(if(ms.source_type_ = 'PLATFORM',1,0)) as musicPlatformSheetNum,
+				sum(if(ms.source_type_ = 'TEACHER' and ms.state_ = 1 and ms.audit_status_ = 'PASS',1,0)) as enableTeacherMusicSheetNum,
+				sum(if(ms.source_type_ = 'TEACHER' and ms.audit_status_ = 'PASS',1,0)) as musicTeacherSheetNum
+
+
+			from music_sheet ms
+				where ms.del_flag_ = 0
+			group by ms.music_subject_
+			) a on a.music_subject_ = s.id_
+		left join (
+			select
+				cg.subject_id_,
+				count(1) as practiceNum
+			from course_group cg
+			where cg.type_ = 'PRACTICE' and cg.status_ in ( 'ING','COMPLETE')
+			group by cg.subject_id_
+			) b on b.subject_id_ = s.id_
+		left join (
+			select
+				cg.subject_id_,
+				count(1) as pianoClassNum
+			from course_group cg
+			where cg.type_ = 'PIANO_ROOM_CLASS' and cg.status_ in ( 'ING','COMPLETE')
+			group by cg.subject_id_
+		) c on c.subject_id_ = s.id_
+		left join (
+			select
+				cg.subject_id_,
+				count(1) as liveNum
+			from course_group cg
+			where cg.type_ = 'LIVE' and cg.status_ in ( 'NOT_SALE','APPLY','ING','COMPLETE')
+			group by cg.subject_id_
+		) d on d.subject_id_ = s.id_
+		left join (
+			select
+				vlg.lesson_subject_,
+				count(1) as videoNum
+			from video_lesson_group vlg
+			where vlg.shelves_flag_ = 1
+			group by vlg.lesson_subject_
+		) e on e.lesson_subject_ = s.id_
+		order by
+		<choose>
+			<when test="query.sortType == 'MUSIC'">
+				a.enableMusicSheetNum
+			</when>
+			<when test="query.sortType == 'PLATFORM_MUSIC'">
+				a.enablePlatformMusicSheetNum
+			</when>
+			<when test="query.sortType == 'TEACHER_MUSIC'">
+				a.enableTeacherMusicSheetNum
+			</when>
+			<when test="query.sortType == 'PRACTICE'">
+				b.practiceNum
+			</when>
+			<when test="query.sortType == 'PIANO'">
+				c.pianoClassNum
+			</when>
+			<when test="query.sortType == 'LIVE'">
+				d.liveNum
+			</when>
+			<when test="query.sortType == 'VIDEO'">
+				e.videoNum
+			</when>
+			<otherwise>
+				a.enableMusicSheetNum
+			</otherwise>
+		</choose>
+		<choose>
+			<when test="query.order == 'desc'">
+				desc
+			</when>
+			<when test="query.order == 'asc'">
+				asc
+			</when>
+			<otherwise>
+				desc
+			</otherwise>
+		</choose>
+
+	</select>
+
 </mapper>

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

@@ -28,6 +28,7 @@
         <result column="update_by_" jdbcType="BIGINT" property="updateBy"/>
         <result column="remark_" jdbcType="VARCHAR" property="remark"/>
         <result column="notation_" jdbcType="VARCHAR" property="notation"/>
+        <result column="title_img_" jdbcType="VARCHAR" property="titleImg"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -62,6 +63,7 @@
         t.source_type_ as sourceType,
         t.submit_audit_time_ as submitAuditTime,
         t.remark_ as remark,
+        t.title_img_ as titleImg,
         t.reason_ as reason,
         t.notation_ as notation
     </sql>
@@ -219,6 +221,7 @@
         <result column="musicSheetName" jdbcType="VARCHAR" property="musicSheetName"/>
         <result column="userId" jdbcType="BIGINT" property="userId"/>
         <result column="composer" jdbcType="VARCHAR" property="composer"/>
+        <result column="titleImg" jdbcType="VARCHAR" property="titleImg"/>
         <result column="musicSubject" jdbcType="VARCHAR" property="musicSubject"/>
         <result column="audioType" jdbcType="VARCHAR" property="audioType"/>
         <result column="musicTag" jdbcType="VARCHAR" property="musicTag"/>
@@ -390,6 +393,7 @@
         select mspr.music_sheet_id_ as musicSheetId
         ,ms.music_sheet_name_ as musicSheetName
         ,ms.composer_ as composer
+        ,ms.title_img_ as titleImg
         ,ms.music_tag_ as musicTag
         ,(select group_concat(mt.name_) from music_tag mt
         where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
@@ -433,6 +437,7 @@
         select ms.id_ as musicSheetId
         ,ms.music_sheet_name_ as musicSheetName
         ,ms.composer_ as composer
+        ,ms.title_img_ as titleImg
         ,ms.music_tag_ as musicTag
         ,(select group_concat(mt.name_) from music_tag mt
         where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
@@ -469,6 +474,7 @@
     <select id="selectAuditPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo">
         select
         ms.create_by_ as teacherId
+        ,ms.title_img_ as titleImg
         ,su.username_ as username
         ,su.real_name_ as realName
         ,su.phone_ as phone

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

@@ -80,7 +80,11 @@
 	<select id="getChildrenByParentIdList" resultType="com.yonge.cooleshow.biz.dal.vo.MusicTagVo">
         SELECT
         <include refid="baseColumns" />,
-        su.username_ as updateName
+        su.username_ as updateName,
+        (select count(1) from music_sheet ms where find_in_set(t.id_,ms.music_tag_) and ms.del_flag_ = 0 and  ms.state_ = 1 and ms.source_type_ = 'PLATFORM') as enablePlatformMusicSheetNum,
+        (select count(1) from music_sheet ms where find_in_set(t.id_,ms.music_tag_) and ms.del_flag_ = 0  and ms.source_type_ = 'PLATFORM') as musicPlatformSheetNum,
+        (select count(1) from music_sheet ms where find_in_set(t.id_,ms.music_tag_) and ms.del_flag_ = 0 and ms.source_type_ = 'TEACHER' and ms.audit_status_ = 'PASS') as musicTeacherSheetNum,
+        (select count(1) from music_sheet ms where find_in_set(t.id_,ms.music_tag_) and ms.del_flag_ = 0  and ms.source_type_ = 'TEACHER' and ms.state_ = 1 and ms.audit_status_ = 'PASS') as enableTeacherMusicSheetNum
         FROM music_tag t
         left join sys_user su on t.update_by_ = su.id_
         <where>