Browse Source

Merge branch 'saas_220228' into saas

yonge 3 years ago
parent
commit
4dc10f10c8

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScore.java

@@ -70,6 +70,8 @@ public class SysMusicScore {
 	private String accompanimentUrl;
 
 	private String accompanimentMetronomeUrl;
+	
+	private String xmlUrl;
 
 	/** 原音MP3 */
 	private String createUserName;
@@ -168,6 +170,14 @@ public class SysMusicScore {
 		this.accompanimentMetronomeUrl = accompanimentMetronomeUrl;
 	}
 
+	public String getXmlUrl() {
+		return xmlUrl;
+	}
+
+	public void setXmlUrl(String xmlUrl) {
+		this.xmlUrl = xmlUrl;
+	}
+
 	public String getMetronomeUrl() {
 		return metronomeUrl;
 	}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreAccompaniment.java

@@ -84,6 +84,8 @@ public class SysMusicScoreAccompaniment {
 	private String museScoreMemo;
 	
 	private PlayMode playMode;
+	
+	private String track;
 
 	public String getMetronomeUrl() {
 		return metronomeUrl;
@@ -317,6 +319,14 @@ public class SysMusicScoreAccompaniment {
 		this.playMode = playMode;
 	}
 
+	public String getTrack() {
+		return track;
+	}
+
+	public void setTrack(String track) {
+		this.track = track;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreService.java

@@ -16,4 +16,6 @@ public interface SysMusicScoreService extends BaseService<Integer, SysMusicScore
     void del(Integer id);
 
     PageInfo<SysMusicScore> queryMusicScorePage(SysExamSongQueryInfo queryInfo);
+    
+    PageInfo<SysMusicScore> queryMusicScorePageInfo(SysExamSongQueryInfo queryInfo);
 }

+ 41 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
@@ -12,16 +13,19 @@ import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.biz.service.SysMusicScoreService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -40,6 +44,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 	private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
 	@Autowired
 	private SubjectDao subjectDao;
+	@Autowired
+	private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScore> getDAO() {
@@ -181,4 +187,39 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 		}
 		return sysMusicScorePageInfo;
 	}
+
+	@Override
+	public PageInfo<SysMusicScore> queryMusicScorePageInfo(SysExamSongQueryInfo queryInfo) {
+		if(queryInfo.getCategoriesId() != null){
+			List<Integer> categoriesIdList = new ArrayList<>();
+			Integer categoriesId = null;
+			if(StringUtils.isNotEmpty(queryInfo.getCategoriesId())){
+				categoriesId = Integer.parseInt(queryInfo.getCategoriesId());
+			}
+			//List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesService.queryTree(musicScoreQueryInfo);
+			
+			SysMusicScoreCategories sysMusicScoreCategories = sysMusicScoreCategoriesService.get(categoriesId);
+			
+			if(sysMusicScoreCategories == null){
+				throw new BizException("分类找不到");
+			}
+			categoriesIdList.add(categoriesId);
+			sysMusicScoreCategories = sysMusicScoreCategoriesService.getChildTree(sysMusicScoreCategories);
+			getAllCategoryIdList(categoriesIdList, sysMusicScoreCategories.getSysMusicScoreCategoriesList());
+			
+			queryInfo.setCategoriesIdList(categoriesIdList);
+		}
+		return this.queryPage(queryInfo);
+	}
+    
+    private void getAllCategoryIdList(List<Integer> categoryIdList, List<SysMusicScoreCategories> sysMusicScoreCategoriesList){
+    	
+    	if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
+    		for(SysMusicScoreCategories sysMusicScoreCategories : sysMusicScoreCategoriesList){
+    			categoryIdList.add(sysMusicScoreCategories.getId());
+    			getAllCategoryIdList(categoryIdList, sysMusicScoreCategories.getSysMusicScoreCategoriesList());
+    		}
+    	}
+    	
+    }
 }

+ 11 - 4
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -36,6 +36,7 @@
 		<result column="play_mode_" property="playMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="muse_score_url_" property="museScoreUrl" />
 		<result column="muse_score_memo_" property="museScoreMemo" />
+		<result column="track_" property="track" />
 	</resultMap>
 
 	<delete id="deleteBySongId">
@@ -58,16 +59,16 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_)
-		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{metronomeMp3Url},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome})
+		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_,track_)
+		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{metronomeMp3Url},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome},#{track})
 	</insert>
     <insert id="batchInsert">
 		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,
-		                                           create_time_,update_time_,is_show_fingering_,memo_,is_open_metronome_)
+		                                           create_time_,update_time_,is_show_fingering_,memo_,is_open_metronome_,track_)
 		VALUES
 		<foreach collection="sysMusicScoreAccompaniments" item="item"  separator=",">
 			(#{sysMusicScoreId},#{item.subjectId},#{item.mp3Url},#{item.metronomeMp3Url},#{item.speed},
-			 #{item.xmlUrl},NOW(),NOW(),#{item.isShowFingering},#{item.memo},#{isOpenMetronome})
+			 #{item.xmlUrl},NOW(),NOW(),#{item.isShowFingering},#{item.memo},#{item.isOpenMetronome},#{item.track})
 		</foreach>
 	</insert>
 
@@ -90,6 +91,9 @@
 		<if test="examSongId != null">
 			exam_song_id_ = #{examSongId},
 		</if>
+		<if test="track != null">
+			track_ = #{track},
+		</if>
 			subject_id_ = #{subjectId},xml_url_ = #{xmlUrl},
 			mp3_url_ = #{mp3Url},metronome_mp3_url_ = #{metronomeMp3Url}, update_time_ = NOW()
 	</set>WHERE id_ = #{id}
@@ -119,6 +123,9 @@
 				<if test="item.examSongId != null">
 					exam_song_id_ = #{item.examSongId},
 				</if>
+				<if test="item.track != null">
+					track_ = #{item.track},
+				</if>
 				subject_id_ = #{item.subjectId},xml_url_ = #{item.xmlUrl},metronome_mp3_url_ = #{item.metronomeMp3Url},
 				mp3_url_ = #{item.mp3Url}, update_time_ = NOW()
 			</set> WHERE id_ = #{item.id}

+ 10 - 3
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -20,6 +20,7 @@
 		<result column="midi_url_" property="midiUrl" />
 		<result column="accompaniment_url_" property="accompanimentUrl" />
 		<result column="accompaniment_metronome_url_" property="accompanimentMetronomeUrl" />
+		<result column="xml_url_" property="xmlUrl" />
 		<result column="create_user_id_" property="createUserId" />
 		<result column="create_user_name_" property="createUserName" />
 		<result column="is_open_metronome_" property="isOpenMetronome" />
@@ -121,7 +122,7 @@
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysMusicScore" parameterType="map">
 		SELECT ses.*,su.real_name_ create_user_name_,smsc.name_ categories_name_,smsc.id_ categories_id_,
-		smsa.mp3_url_ accompaniment_url_,smsa.metronome_mp3_url_ accompaniment_metronome_url_,smsa.is_open_metronome_,smsa.subject_id_
+		smsa.mp3_url_ accompaniment_url_,smsa.metronome_mp3_url_ accompaniment_metronome_url_,smsa.is_open_metronome_,smsa.subject_id_,smsa.xml_url_
 		FROM sys_music_score ses
 		LEFT JOIN sys_music_score_accompaniment smsa ON smsa.exam_song_id_ = ses.id_
 		LEFT JOIN sys_user su ON ses.create_user_id_ = su.id_
@@ -151,8 +152,14 @@
 			<!-- <if test="organId != null and organId != null">
 				AND INTE_ARRAY(smsc.organ_id_,#{organId})
 			</if> -->
-			<if test="categoriesId != null">
+			<!-- <if test="categoriesId != null">
 				AND FIND_IN_SET(ses.music_score_categories_id_,#{categoriesId})
+			</if> -->
+			<if test="categoriesIdList != null">
+				AND smsc.id_ IN
+				<foreach collection="categoriesIdList" separator="," item="item" open="(" close=")">
+					#{item}
+				</foreach>
 			</if>
 			<if test="search != null and search != ''">
 				AND (ses.id_ = #{search} OR ses.name_ LIKE CONCAT('%',#{search},'%'))
@@ -161,7 +168,7 @@
 				AND ses.show_flag_ = #{showFlag}
 			</if>
 			<if test="subjectId != null">
-				AND smsa.subject_id_ = #{subjectId}
+				AND (smsa.subject_id_ = #{subjectId} or smsa.subject_id_ is null)
 			</if>
 			<if test="clientType != null">
 				AND ses.client_type_ = #{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

+ 8 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreController.java

@@ -26,4 +26,12 @@ public class SysMusicScoreController extends BaseController {
         }
         return succeed(sysMusicScoreService.queryPage(queryInfo));
     }
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPage2")
+    public Object queryPage2(SysExamSongQueryInfo queryInfo) {
+        queryInfo.setType("COMMON");
+        queryInfo.setShowFlag(1);
+        return succeed(sysMusicScoreService.queryMusicScorePageInfo(queryInfo));
+    }
 }