Procházet zdrojové kódy

Merge branch 'music_score_zouxuan' of http://git.dayaedu.com/yonge/mec

zouxuan před 3 roky
rodič
revize
9510637557

+ 10 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MusicScoreQueryInfo.java

@@ -6,6 +6,16 @@ public class MusicScoreQueryInfo {
     @ApiModelProperty(value = "父节点编号,默认0",required = false)
     private Integer parentId = 0;
 
+    private Integer organId;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
     public Integer getParentId() {
         return parentId;
     }

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreCategoriesDao.java

@@ -11,5 +11,13 @@ import java.util.List;
 
 public interface SysMusicScoreCategoriesDao extends BaseDAO<Integer, SysMusicScoreCategories> {
 
-    List<SysMusicScoreCategories> findByParentId(@Param("parentId") Integer parentId);
+    List<SysMusicScoreCategories> findByParentId(@Param("parentId") Integer parentId,@Param("organId") Integer organId);
+
+    void batchInsert(@Param("categoriesList") List<SysMusicScoreCategories> sysMusicScoreCategoriesList, @Param("organId") String organId, @Param("enable") Boolean enable);
+
+    void batchDel(@Param("categoriesIds") String categoriesIds);
+
+    String findByCategoriesIds(@Param("categoriesIds") String categoriesIds);
+
+    void batchUpdate(@Param("categories") List<SysMusicScoreCategories> updateCategories, @Param("organId") String organId, @Param("enable") Boolean enable);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java

@@ -10,4 +10,6 @@ import java.util.List;
 public interface SysMusicScoreDao extends BaseDAO<Integer, SysMusicScore> {
 
     List<SysMusicScore> findByIds(@Param("musicScoreIds") String musicScoreIds);
+
+    int countBuyCategoriesIds(@Param("categoriesIds") String delCategoriesIds);
 }

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

@@ -36,6 +36,9 @@ public class SysMusicScore {
 	/** 原音MP3 */
 	private String url;
 
+	/** 带节拍器原音MP3 */
+	private String metronomeUrl;
+
 	/** 原音MP3 */
 	private String createUserName;
 	
@@ -63,6 +66,14 @@ public class SysMusicScore {
 	//是否显示
 	private Integer showFlag = 0;
 
+	public String getMetronomeUrl() {
+		return metronomeUrl;
+	}
+
+	public void setMetronomeUrl(String metronomeUrl) {
+		this.metronomeUrl = metronomeUrl;
+	}
+
 	public Integer getShowFlag() {
 		return showFlag;
 	}

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreAccompaniment.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.ClientTypeEnum;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -23,6 +22,9 @@ public class SysMusicScoreAccompaniment {
 	
 	/**  */
 	private String mp3Url;
+
+	/** 带节拍器MP3 */
+	private String metronomeUrl;
 	
 	/** 是否删除 */
 	private Integer delFlag;
@@ -65,6 +67,14 @@ public class SysMusicScoreAccompaniment {
 
 	private ClientTypeEnum clientType;
 
+	public String getMetronomeUrl() {
+		return metronomeUrl;
+	}
+
+	public void setMetronomeUrl(String metronomeUrl) {
+		this.metronomeUrl = metronomeUrl;
+	}
+
 	public String getRankIds() {
 		return rankIds;
 	}

+ 50 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreCategories.java

@@ -14,6 +14,10 @@ public class SysMusicScoreCategories {
 	
 	/**  */
 	private Integer parentId;
+
+	private String organId;
+
+	private Boolean enable = false;
 	
 	/** 名称 */
 	private String name;
@@ -30,8 +34,54 @@ public class SysMusicScoreCategories {
 	/**  */
 	private java.util.Date updateTime;
 
+	private String delCategoriesIds;
+
+	private String organNames;
+
+	private Integer order;
+
+	public Integer getOrder() {
+		return order;
+	}
+
+	public void setOrder(Integer order) {
+		this.order = order;
+	}
+
+	public String getOrganNames() {
+		return organNames;
+	}
+
+	public void setOrganNames(String organNames) {
+		this.organNames = organNames;
+	}
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+	public String getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(String organId) {
+		this.organId = organId;
+	}
+
 	private List<SysMusicScoreCategories> sysMusicScoreCategoriesList;
 
+	public String getDelCategoriesIds() {
+		return delCategoriesIds;
+	}
+
+	public void setDelCategoriesIds(String delCategoriesIds) {
+		this.delCategoriesIds = delCategoriesIds;
+	}
+
 	public List<SysMusicScoreCategories> getSysMusicScoreCategoriesList() {
 		return sysMusicScoreCategoriesList;
 	}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java

@@ -35,6 +35,26 @@ public class SysExamSongQueryInfo extends QueryInfo {
 
     private Integer showFlag;
 
+    private Boolean enable;
+
+    private String organId;
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
     public Integer getShowFlag() {
         return showFlag;
     }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreCategoriesService.java

@@ -10,4 +10,10 @@ import java.util.List;
 public interface SysMusicScoreCategoriesService extends BaseService<Integer, SysMusicScoreCategories> {
 
     List<SysMusicScoreCategories> queryTree(MusicScoreQueryInfo menuQueryInfo);
+
+    void save(SysMusicScoreCategories musicScoreCategories);
+
+    void updateCategories(SysMusicScoreCategories musicScoreCategories);
+
+    void del(Integer id);
 }

+ 111 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreCategoriesServiceImpl.java

@@ -4,13 +4,18 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
 import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
+import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+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.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -19,6 +24,8 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 	
 	@Autowired
 	private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
+	@Autowired
+	private SysMusicScoreDao sysMusicScoreDao;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScoreCategories> getDAO() {
@@ -28,14 +35,116 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 
 	@Override
 	public List<SysMusicScoreCategories> queryTree(MusicScoreQueryInfo menuQueryInfo) {
-		List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesDao.findByParentId(menuQueryInfo.getParentId());
-		List<SysMusicScoreCategories> scoreCategoriesAllList = sysMusicScoreCategoriesDao.findByParentId(null);
+		List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesDao.findByParentId(menuQueryInfo.getParentId(),menuQueryInfo.getOrganId());
+		List<SysMusicScoreCategories> scoreCategoriesAllList = sysMusicScoreCategoriesDao.findByParentId(null,menuQueryInfo.getOrganId());
 		for (SysMusicScoreCategories categories : scoreCategories) {
 			categories = getTree(categories,scoreCategoriesAllList);
 		}
 		return scoreCategories;
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void save(SysMusicScoreCategories musicScoreCategories) {
+		String organId = musicScoreCategories.getOrganId();
+		Boolean enable = musicScoreCategories.getEnable();
+		musicScoreCategories.setParentId(0);
+		sysMusicScoreCategoriesDao.insert(musicScoreCategories);
+		List<SysMusicScoreCategories> sysMusicScoreCategoriesList = musicScoreCategories.getSysMusicScoreCategoriesList();
+		if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
+			for (SysMusicScoreCategories categories : sysMusicScoreCategoriesList) {
+				categories.setOrganId(organId);
+				categories.setEnable(enable);
+				categories.setParentId(musicScoreCategories.getId());
+				sysMusicScoreCategoriesDao.insert(categories);
+				List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
+				if(categoriesList != null && categoriesList.size() > 0){
+					categoriesList.forEach(e->{
+						e.setOrganId(organId);
+						e.setEnable(enable);
+						e.setParentId(categories.getId());
+					});
+					sysMusicScoreCategoriesDao.batchInsert(categoriesList,organId,enable);
+				}
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateCategories(SysMusicScoreCategories musicScoreCategories) {
+		String organId = musicScoreCategories.getOrganId();
+		Boolean enable = musicScoreCategories.getEnable();
+		sysMusicScoreCategoriesDao.update(musicScoreCategories);
+		String delCategoriesIds = musicScoreCategories.getDelCategoriesIds();
+		if(StringUtils.isNotEmpty(delCategoriesIds)){
+			//获取当前节点以及子节点
+			delCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(delCategoriesIds);
+			//是否有在使用的分类
+			int count = sysMusicScoreDao.countBuyCategoriesIds(delCategoriesIds);
+			if(count > 0){
+				throw new BizException("操作失败:当前分类已使用");
+			}
+			sysMusicScoreCategoriesDao.batchDel(delCategoriesIds);
+		}
+		List<SysMusicScoreCategories> sysMusicScoreCategoriesList = musicScoreCategories.getSysMusicScoreCategoriesList();
+		if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
+			List<SysMusicScoreCategories> insertCategoriesList = sysMusicScoreCategoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+			if(insertCategoriesList != null && insertCategoriesList.size() > 0){
+				for (SysMusicScoreCategories categories : insertCategoriesList) {
+					categories.setOrganId(organId);
+					categories.setEnable(enable);
+					categories.setParentId(musicScoreCategories.getId());
+					sysMusicScoreCategoriesDao.insert(categories);
+					List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
+					if(categoriesList != null && categoriesList.size() > 0){
+						categoriesList.forEach(e->{
+							e.setOrganId(organId);
+							e.setEnable(enable);
+							e.setParentId(categories.getId());
+						});
+						sysMusicScoreCategoriesDao.batchInsert(categoriesList,organId,enable);
+					}
+				}
+			}
+			List<SysMusicScoreCategories> updateCategoriesList = sysMusicScoreCategoriesList.stream().filter(e -> e.getId() != null).collect(Collectors.toList());
+			if(updateCategoriesList != null && updateCategoriesList.size() > 0){
+				for (SysMusicScoreCategories categories : updateCategoriesList) {
+					List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
+					if(categoriesList != null && categoriesList.size() > 0){
+						List<SysMusicScoreCategories> insertCategories = categoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+						if(insertCategories != null && insertCategories.size() > 0){
+							for (SysMusicScoreCategories insertCategory : insertCategories) {
+								insertCategory.setOrganId(organId);
+								insertCategory.setEnable(enable);
+								insertCategory.setParentId(categories.getId());
+							}
+							sysMusicScoreCategoriesDao.batchInsert(insertCategories,organId,enable);
+						}
+						List<SysMusicScoreCategories> updateCategories = categoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+						if(updateCategories != null && updateCategories.size() > 0){
+							sysMusicScoreCategoriesDao.batchUpdate(updateCategories,organId,enable);
+						}
+					}
+				}
+				sysMusicScoreCategoriesDao.batchUpdate(updateCategoriesList,organId,enable);
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void del(Integer id) {
+		String byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(id.toString());
+		byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(byCategoriesIds);
+		//是否有在使用的分类
+		int count = sysMusicScoreDao.countBuyCategoriesIds(byCategoriesIds);
+		if(count > 0){
+			throw new BizException("操作失败:当前分类已使用");
+		}
+		sysMusicScoreCategoriesDao.batchDel(byCategoriesIds);
+	}
+
 	private SysMusicScoreCategories getTree(SysMusicScoreCategories categories,List<SysMusicScoreCategories> scoreCategoriesAllList){
 		//得到根节点对象
 		//获取子节点list

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

@@ -12,6 +12,7 @@
 		<result column="subject_id_" property="subjectId" />
 		<result column="subject_name_" property="subjectName" />
 		<result column="mp3_url_" property="mp3Url" />
+		<result column="metronome_url_" property="metronomeUrl" />
 		<result column="xml_url_" property="xmlUrl" />
 		<result column="name_" property="examSongName" />
 		<result column="categories_name_" property="categoriesName" />
@@ -49,8 +50,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<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_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_)
-		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome})
+		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_url_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_)
+		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{metronomeUrl},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome})
 	</insert>
     <insert id="batchInsert">
 		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,speed_,xml_url_,
@@ -81,7 +82,8 @@
 		<if test="examSongId != null">
 			exam_song_id_ = #{examSongId},
 		</if>
-			subject_id_ = #{subjectId},xml_url_ = #{xmlUrl},mp3_url_ = #{mp3Url}, update_time_ = NOW()
+			subject_id_ = #{subjectId},xml_url_ = #{xmlUrl},
+			mp3_url_ = #{mp3Url},metronome_url_ = #{metronomeUrl}, update_time_ = NOW()
 	</set>WHERE id_ = #{id}
 	</update>
 	<update id="batchDel">
@@ -109,7 +111,8 @@
 				<if test="item.examSongId != null">
 					exam_song_id_ = #{item.examSongId},
 				</if>
-				subject_id_ = #{item.subjectId},xml_url_ = #{item.xmlUrl},mp3_url_ = #{item.mp3Url}, update_time_ = NOW()
+				subject_id_ = #{item.subjectId},xml_url_ = #{item.xmlUrl},metronome_url_ = #{item.metronomeUrl},
+				mp3_url_ = #{item.mp3Url}, update_time_ = NOW()
 			</set> WHERE id_ = #{item.id}
 		</foreach>
 	</update>

+ 64 - 16
mec-biz/src/main/resources/config/mybatis/SysMusicScoreCategoriesMapper.xml

@@ -9,9 +9,12 @@
 	<resultMap type="com.ym.mec.biz.dal.entity.SysMusicScoreCategories" id="SysMusicScoreCategories">
 		<result column="id_" property="id" />
 		<result column="parent_id_" property="parentId" />
+		<result column="organ_id_" property="organId" />
+		<result column="enable_" property="enable" />
 		<result column="name_" property="name" />
 		<result column="cover_img_" property="coverImg" />
 		<result column="operator_id_" property="operatorId" />
+		<result column="order_" property="order" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -28,39 +31,78 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysMusicScoreCategories" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_music_score_categories (parent_id_,name_,cover_img_,operator_id_,create_time_,update_time_)
-		VALUES(#{parentId},#{name},#{coverImg},#{operatorId},NOW(),NOW())
+		INSERT INTO sys_music_score_categories (parent_id_,name_,cover_img_,operator_id_,create_time_,update_time_,organ_id_,order_)
+		VALUES(#{parentId},#{name},#{coverImg},#{operatorId},NOW(),NOW(),#{organId},#{order})
 	</insert>
-	
+	<insert id="batchInsert">
+		INSERT INTO sys_music_score_categories (parent_id_,name_,cover_img_,operator_id_,create_time_,update_time_,organ_id_,enable_,order_)
+		VALUES
+		<foreach collection="categoriesList" item="bean" separator=",">
+			(#{bean.parentId},#{bean.name},#{bean.coverImg},#{bean.operatorId},NOW(),NOW(),#{organId},#{enable},#{bean.order})
+		</foreach>
+	</insert>
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicScoreCategories">
 		UPDATE sys_music_score_categories <set>
+			<if test="order != null">
+				order_ = #{order},
+			</if>
 			<if test="parentId != null">
-			parent_id_ = #{parentId},
+				parent_id_ = #{parentId},
+			</if>
+			<if test="organId != null">
+				organ_id_ = #{organId},
+			</if>
+			<if test="enable != null">
+				enable_ = #{enable},
 			</if>
 			<if test="operatorId != null">
-			operator_id_ = #{operatorId},
+				operator_id_ = #{operatorId},
 			</if>
 			<if test="coverImg != null">
-			cover_img_ = #{coverImg},
+				cover_img_ = #{coverImg},
 			</if>
-			<if test="id != null">
-			id_ = #{id},
+			<if test="name != null">
+				name_ = #{name},
+			</if>
+				update_time_ = NOW()
+	</set> WHERE id_ = #{id}
+	</update>
+	<update id="batchUpdate">
+		<foreach collection="categories" item="bean" index="index" open="" close="" separator=";">
+			UPDATE sys_music_score_categories <set>
+			<if test="bean.order != null">
+				order_ = #{bean.order},
 			</if>
-			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			<if test="bean.operatorId != null">
+				operator_id_ = #{bean.operatorId},
 			</if>
-			<if test="name != null">
-			name_ = #{name},
+			<if test="organId != null">
+				organ_id_ = #{organId},
 			</if>
-			</set> WHERE id_ = #{id}
+			<if test="enable != null">
+				enable_ = #{enable},
+			</if>
+			<if test="bean.coverImg != null">
+				cover_img_ = #{bean.coverImg},
+			</if>
+			<if test="bean.name != null">
+				name_ = #{bean.name},
+			</if>
+			update_time_ = NOW()
+		</set> WHERE id_ = #{bean.id}
+		</foreach>
 	</update>
-	
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM sys_music_score_categories WHERE id_ = #{id} 
 	</delete>
-	
+	<delete id="batchDel">
+		DELETE FROM sys_music_score_categories WHERE FIND_IN_SET(id_,#{categoriesIds})
+	</delete>
+
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysMusicScoreCategories" parameterType="map">
 		SELECT * FROM sys_music_score_categories ORDER BY id_
@@ -74,13 +116,19 @@
 	<select id="findByParentId" resultMap="SysMusicScoreCategories">
 		SELECT sm.* FROM sys_music_score_categories sm
 		<include refid="queryTree"/>
-		ORDER BY sm.id_
+		ORDER BY sm.order_,sm.id_
+	</select>
+	<select id="findByCategoriesIds" resultType="java.lang.String">
+		SELECT GROUP_CONCAT(id_) FROM sys_music_score_categories WHERE FIND_IN_SET(id_,strlist) OR FIND_IN_SET(parent_id_,strlist)
 	</select>
 	<sql id="queryTree">
 		<where>
 			<if test="parentId != null">
 				AND sm.parent_id_ = #{parentId}
 			</if>
+			<if test="organId != null">
+				AND FIND_IN_SET(#{organId},sm.organ_id_)
+			</if>
 		</where>
 	</sql>
 </mapper>

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -15,6 +15,7 @@
 		<result column="subject_ids_" property="subjectIds" />
 		<result column="speed_" property="speed" />
 		<result column="url_" property="url" />
+		<result column="metronome_url_" property="metronomeUrl" />
 		<result column="create_user_id_" property="createUserId" />
 		<result column="create_user_name_" property="createUserName" />
 		<result column="del_flag_" property="delFlag" />
@@ -38,9 +39,10 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysMusicScore" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,create_user_id_,order_,update_time_,create_time_,client_type_,rank_ids_,show_flag_)
+		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,metronome_url_,create_user_id_,order_,
+		                             update_time_,create_time_,client_type_,rank_ids_,show_flag_)
 		VALUES(#{musicScoreCategoriesId},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-		       #{speed},#{url},#{createUserId},#{order},NOW(),NOW(),#{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{rankIds},#{showFlag})
+		       #{speed},#{url},#{metronomeUrl},#{createUserId},#{order},NOW(),NOW(),#{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{rankIds},#{showFlag})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -65,6 +67,7 @@
 		<if test="createUserId != null">
 			create_user_id_ = #{createUserId},
 		</if>
+			metronome_url_ = #{metronomeUrl},
 			url_ = #{url},
 		<if test="subjectIds != null and subjectIds != ''">
 			subject_ids_ = #{subjectIds},
@@ -108,6 +111,9 @@
     <select id="findByIds" resultMap="SysMusicScore">
 		SELECT * FROM sys_music_score WHERE FIND_IN_SET(id_,#{musicScoreIds})
 	</select>
+    <select id="countBuyCategoriesIds" resultType="java.lang.Integer">
+		SELECT COUNT(0) FROM sys_music_score WHERE FIND_IN_SET(music_score_categories_id_,#{categoriesIds}) AND del_flag_ = 0
+	</select>
     <sql id="queryPageSql">
 		<where>
 			ses.del_flag_ = 0

+ 6 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java

@@ -1,6 +1,8 @@
 package com.ym.mec.student.controller;
 
+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.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.common.controller.BaseController;
@@ -19,6 +21,8 @@ public class SysMusicScoreCategoriesController extends BaseController {
 
     @Autowired
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
 
     @ApiOperation(value = "分页查询")
@@ -30,6 +34,8 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        queryInfo.setOrganId(sysUser.getOrganId());
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 

+ 25 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreCategoriesController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
+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.common.controller.BaseController;
@@ -25,6 +26,30 @@ public class SysMusicScoreCategoriesController extends BaseController {
         return succeed(sysMusicScoreCategoriesService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "新增")
+    @PostMapping("/save")
+    @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/save')")
+    public Object save(@RequestBody SysMusicScoreCategories musicScoreCategories) {
+        sysMusicScoreCategoriesService.save(musicScoreCategories);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/update')")
+    public Object update(@RequestBody SysMusicScoreCategories musicScoreCategories) {
+        sysMusicScoreCategoriesService.updateCategories(musicScoreCategories);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete")
+    @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/delete')")
+    public Object delete(Integer id) {
+        sysMusicScoreCategoriesService.del(id);
+        return succeed();
+    }
+
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/queryTree')")