Browse Source

Merge branch 'feature/1108_audio' of http://git.dayaedu.com/yonge/cooleshow into test

# Conflicts:
#	cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
#	cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
zouxuan 8 months ago
parent
commit
f712cd214f

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetCbsController.java

@@ -117,7 +117,7 @@ public class MusicSheetCbsController extends BaseController {
                 .eq(CourseCourseware::getClientType, ClientEnum.TEACHER)
                 .eq(CourseCourseware::getUserId, sysUser.getId())
                 .eq(CourseCourseware::getDelFlag, false).last("limit 1").one();
-        if (one == null) {
+        if (one != null) {
             musicSheetDetail.setCoursewareStatus(YesOrNoEnum.YES);
             musicSheetDetail.setCoursewareId(one.getId());
         }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -233,11 +233,11 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
 
     int countTeacherEnable(@Param("userId") Long userId);
 
-    IPage<MusicSheetWrapper.MusicSheetCloud> cloudPage(@Param("page") IPage<Object> page, @Param("param") MusicSheetWrapper.MusicSheetCloudQuery query);
-
     TeacherHomeWrapper.MusicSheetTotal musicSheetTotal(@Param("teacherId") Long teacherId);
 
     List<TeacherHomeWrapper.MusicSheetTotal> musicSheetPage(@Param("param") TeacherHomeWrapper.MusicSheetQuery query);
 
     void updateExposureNum(@Param("musicSheetId") Long musicSheetId, @Param("exposureNum") Integer exposureNum);
+
+    IPage<MusicSheetWrapper.MusicSheetCloud> cloudPage(@Param("page") IPage<Object> page, @Param("param") MusicSheetWrapper.MusicSheetCloudQuery query);
 }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Subject.java

@@ -50,6 +50,9 @@ public class Subject implements Serializable {
     @ApiModelProperty(value = "cbs声部名称")
     private String cbsSubjectName;
 
+	@ApiModelProperty(value = "总控乐器ID")
+	private Long instrumentId;
+
 	@TableField(value = "enable_flag_")
 	private Boolean enableFlag;
 

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

@@ -143,6 +143,16 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                     detail.setUserStatus(UserStatusEnum.NORMAL);
                 }
             }
+
+            // 设置学生声部乐器ID
+            if (StringUtils.isNotBlank(detail.getSubjectId())) {
+                List<Subject> subjects = subjectDao.findBySubjectByIdList(detail.getSubjectId());
+                // 设置声部乐器
+                if (org.apache.commons.collections.CollectionUtils.isNotEmpty(subjects)) {
+                    detail.setInstrumentId(subjects.stream()
+                        .map(Subject::getInstrumentId).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.joining(",")));
+                }
+            }
         }
         return detail;
     }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentVo.java

@@ -103,6 +103,9 @@ public class StudentVo extends Student {
     @ApiModelProperty("客服数量")
     private Integer customerServiceNum;
 
+    @ApiModelProperty(value = "总控乐器ID")
+    private String instrumentId;
+
     public YesOrNoEnum getDelFlag() {
         return delFlag;
     }

+ 34 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -1350,13 +1350,44 @@
         where id_ = #{musicSheetId}
     </update>
 
+    <select id="musicSheetTotal"
+            resultType="com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherHomeWrapper$MusicSheetTotal">
+        select
+        if(t.audit_status_ = 'PASS' and t.state_ = 1,1,0) as musicSheetNum,
+        if(t.audit_status_ = 'DOING' ,1,0) musicSheetAuditNum,
+        t.exposure_num_ musicSheetExposureNum
+        from music_sheet t
+        where t.del_flag_=0 and t.user_id_ = #{teacherId}
+    </select>
+
+    <select id="musicSheetPage"
+            resultType="com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherHomeWrapper$MusicSheetTotal">
+        select
+        t.music_sheet_name_ musicSheetName,
+        t.create_time_ createTime,
+        t.exposure_num_ musicSheetExposureNum,
+        count(distinct t1.buy_user_) musicSheetPayNum,
+        sum(t1.trans_amount_) as musicSheetIncome
+        from music_sheet t
+         left join user_cash_account_record t1 on t.id_ = t1.biz_id_
+        where t1.account_id_ =  #{param.teacherId}
+        and t1.biz_type_ = 'MUSIC_SHARE'
+        and t1.post_status_ = 'RECORDED'
+        and t1.in_or_out_ = 'IN'
+        and  t.del_flag_=0 and t.user_id_ = #{param.teacherId}
+        group by t.id_
+        order by t.create_time_ desc
+        limit #{param.rows}
+
+    </select>
+
     <select id="cloudPage" resultType="com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper$MusicSheetCloud">
         select t.id_, t.music_sheet_name_,t.title_img_,t.composer_,t.cbs_music_sheet_id_ ,t.payment_type_,t.music_price_ as musicPrice
         from (
         select a.* from
         music_sheet a
         <if test="param.providerType != null and param.providerType.code == 'TENANT'">
-            left join tenant_album_music tam on a.id_ = tam.music_sheet_id_ and tam.del_flag_ = 0 and tam.tenant_album_id_ in 
+            left join tenant_album_music tam on a.id_ = tam.music_sheet_id_ and tam.del_flag_ = 0 and tam.tenant_album_id_ in
             <foreach collection="param.tenantAlbumIds" item="item" open="(" close=")" separator=",">
                 #{item}
             </foreach>
@@ -1462,7 +1493,7 @@
             left join music_favorite mf on t.id_ = mf.music_sheet_id_ and mf.user_id_ = #{param.userId} and mf.client_type_ = #{param.clientType} and mf.provider_type_ = #{param.providerType}
         </if>
         <where>
-            
+
             <if test="param.favoriteFlag != null and param.favoriteFlag == 1">
                 and mf.id_ is not null
             </if>
@@ -1482,7 +1513,7 @@
                 </if>
 
             </if>
-            
+
         </where>
 
         GROUP BY t.id_

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

@@ -17,6 +17,7 @@
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="del_flag_" property="delFlag"/>
+        <result column="instrument_id_" property="instrumentId"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->

+ 16 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml

@@ -26,7 +26,7 @@
         , t.video_url_ as videoUrl
         , t.cover_ as cover
         , t.describe_ as `describe`
-        , t.browse_ as browse
+        , t.browse_  as browse
         , t.audit_version_ as auditVersion
         , t.auth_status_ as authStatus
 		, t.virtual_number_ as virtualNumber
@@ -88,7 +88,21 @@
 	<!-- 根据老师id查询 -->
     <select id="selectListByUserId" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo">
 		SELECT
-			<include refid="baseColumns"/>
+			t.id_ as id
+			 , t.user_id_ as userId
+			 , t.video_url_ as videoUrl
+			 , t.cover_ as cover
+			 , t.describe_ as `describe`
+			 , t.browse_ + t.virtual_number_  as browse
+			 , t.audit_version_ as auditVersion
+			 , t.auth_status_ as authStatus
+			 , t.virtual_number_ as virtualNumber
+			 , t.verify_user_id_ as verifyUserId
+			 , t.reason_ as reason
+			 , t.entry_flag_ as entryFlag
+			 , t.create_time_ as createTime
+			 , t.update_time_ as updateTime
+			 , t.del_flag_ as delFlag
 		FROM teacher_style_video t
 		WHERE t.del_flag_ = 0 and t.user_id_ = #{userId}
 	</select>