Bläddra i källkod

Merge branch 'music_score_zouxuan' of http://git.dayaedu.com/yonge/mec into mec_update_2021-11-02

zouxuan 3 år sedan
förälder
incheckning
bbfcead8b8
21 ändrade filer med 702 tillägg och 42 borttagningar
  1. 20 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MusicScoreQueryInfo.java
  2. 11 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreCategoriesDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java
  4. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScore.java
  5. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreAccompaniment.java
  6. 60 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreCategories.java
  7. 23 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java
  8. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreCategoriesService.java
  9. 17 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreAccompanimentServiceImpl.java
  10. 156 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreCategoriesServiceImpl.java
  11. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java
  12. 16 4
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml
  13. 109 18
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreCategoriesMapper.xml
  14. 14 4
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml
  15. 10 1
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java
  16. 7 0
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java
  17. 13 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java
  18. 22 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreCategoriesController.java
  19. 78 1
      mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreCategoriesController.java
  20. 35 0
      mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreController.java
  21. 43 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicScoreController.java

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

@@ -6,6 +6,26 @@ public class MusicScoreQueryInfo {
     @ApiModelProperty(value = "父节点编号,默认0",required = false)
     private Integer parentId = 0;
 
+    private String organId;
+
+    private Boolean enable;
+
+    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 getParentId() {
         return parentId;
     }

+ 11 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreCategoriesDao.java

@@ -7,9 +7,17 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-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") String organId, @Param("enable") Boolean enable);
+
+    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);
+
+    void enable(@Param("categoriesIds") String categoriesIds, @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;
@@ -67,6 +69,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;
 	}

+ 60 - 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,64 @@ public class SysMusicScoreCategories {
 	/**  */
 	private java.util.Date updateTime;
 
+	private String delCategoriesIds;
+
+	private String organNames;
+
+	private Integer order;
+
+	private Integer musicScoreNum = 0;
+
+	public Integer getMusicScoreNum() {
+		return musicScoreNum;
+	}
+
+	public void setMusicScoreNum(Integer musicScoreNum) {
+		this.musicScoreNum = musicScoreNum;
+	}
+
+	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;
 	}

+ 23 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java

@@ -18,7 +18,7 @@ public class SysExamSongQueryInfo extends QueryInfo {
     private String type;
 
     @ApiModelProperty(value = "曲库分类",required = true)
-    private Integer categoriesId;
+    private String categoriesId;
 
     @ApiModelProperty(value = "是否收费",required = true)
     private Integer rankType;
@@ -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;
     }
@@ -83,11 +103,11 @@ public class SysExamSongQueryInfo extends QueryInfo {
         this.parentId = parentId;
     }
 
-    public Integer getCategoriesId() {
+    public String getCategoriesId() {
         return categoriesId;
     }
 
-    public void setCategoriesId(Integer categoriesId) {
+    public void setCategoriesId(String categoriesId) {
         this.categoriesId = categoriesId;
     }
 

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

@@ -10,4 +10,14 @@ 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);
+
+    void enable(Integer categoriesId);
+
+    SysMusicScoreCategories getDetail(Integer categoriesId);
 }

+ 17 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreAccompanimentServiceImpl.java

@@ -15,6 +15,7 @@ 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;
 
@@ -64,12 +65,18 @@ public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Integ
 		if(queryInfo.getCategoriesId() != null){
 			List<Integer> categoriesIdList = new ArrayList<>();
 			MusicScoreQueryInfo musicScoreQueryInfo = new MusicScoreQueryInfo();
-			musicScoreQueryInfo.setParentId(queryInfo.getCategoriesId());
+			Integer categoriesId = null;
+			if(StringUtils.isNotEmpty(queryInfo.getCategoriesId())){
+				categoriesId = Integer.parseInt(queryInfo.getCategoriesId());
+			}
+			musicScoreQueryInfo.setParentId(categoriesId);
+			musicScoreQueryInfo.setEnable(queryInfo.getEnable());
+			musicScoreQueryInfo.setOrganId(queryInfo.getOrganId());
 			List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesService.queryTree(musicScoreQueryInfo);
 			if(scoreCategories.size() > 0){
 				categoriesIdList = scoreCategories.stream().map(e->e.getId()).collect(Collectors.toList());
 			}else {
-				categoriesIdList.add(queryInfo.getCategoriesId());
+				categoriesIdList.add(categoriesId);
 			}
 			queryInfo.setCategoriesIdList(categoriesIdList);
 		}
@@ -106,12 +113,18 @@ public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Integ
 		if(queryInfo.getCategoriesId() != null){
 			List<Integer> categoriesIdList = new ArrayList<>();
 			MusicScoreQueryInfo musicScoreQueryInfo = new MusicScoreQueryInfo();
-			musicScoreQueryInfo.setParentId(queryInfo.getCategoriesId());
+			Integer categoriesId = null;
+			if(StringUtils.isNotEmpty(queryInfo.getCategoriesId())){
+				categoriesId = Integer.parseInt(queryInfo.getCategoriesId());
+			}
+			musicScoreQueryInfo.setParentId(categoriesId);
+			musicScoreQueryInfo.setOrganId(queryInfo.getOrganId());
+			musicScoreQueryInfo.setEnable(queryInfo.getEnable());
 			List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesService.queryTree(musicScoreQueryInfo);
 			if(scoreCategories.size() > 0){
 				categoriesIdList = scoreCategories.stream().map(e->e.getId()).collect(Collectors.toList());
 			}else {
-				categoriesIdList.add(queryInfo.getCategoriesId());
+				categoriesIdList.add(categoriesId);
 			}
 			queryInfo.setCategoriesIdList(categoriesIdList);
 		}

+ 156 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreCategoriesServiceImpl.java

@@ -4,13 +4,20 @@ 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.dal.page.SysExamSongQueryInfo;
 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.page.PageInfo;
 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 +26,8 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 	
 	@Autowired
 	private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
+	@Autowired
+	private SysMusicScoreDao sysMusicScoreDao;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScoreCategories> getDAO() {
@@ -28,15 +37,159 @@ 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(),menuQueryInfo.getEnable());
+		List<SysMusicScoreCategories> scoreCategoriesAllList = sysMusicScoreCategoriesDao.findByParentId(null,menuQueryInfo.getOrganId(),menuQueryInfo.getEnable());
 		for (SysMusicScoreCategories categories : scoreCategories) {
 			categories = getTree(categories,scoreCategoriesAllList);
 		}
 		return scoreCategories;
 	}
 
-	private SysMusicScoreCategories getTree(SysMusicScoreCategories categories,List<SysMusicScoreCategories> scoreCategoriesAllList){
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void save(SysMusicScoreCategories musicScoreCategories) {
+		String organId = musicScoreCategories.getOrganId();
+		Boolean enable = musicScoreCategories.getEnable();
+		musicScoreCategories.setParentId(0);
+		musicScoreCategories.setOrder(0);
+		sysMusicScoreCategoriesDao.insert(musicScoreCategories);
+		List<SysMusicScoreCategories> sysMusicScoreCategoriesList = musicScoreCategories.getSysMusicScoreCategoriesList();
+		if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
+			int order = 0;
+			for (SysMusicScoreCategories categories : sysMusicScoreCategoriesList) {
+				categories.setOrder(order);
+				categories.setOrganId(organId);
+				categories.setEnable(enable);
+				categories.setParentId(musicScoreCategories.getId());
+				sysMusicScoreCategoriesDao.insert(categories);
+				order++;
+				List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
+				if(categoriesList != null && categoriesList.size() > 0){
+					int order1 = 0;
+					for (SysMusicScoreCategories e : categoriesList) {
+						e.setOrder(order1);
+						e.setOrganId(organId);
+						e.setEnable(enable);
+						e.setParentId(categories.getId());
+						order1++;
+					}
+					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){
+			int order = 0;
+			for (SysMusicScoreCategories categories : sysMusicScoreCategoriesList) {
+				categories.setOrder(order);
+				order++;
+				List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
+				if(categoriesList != null && categoriesList.size() > 0){
+					int order1 = 0;
+					for (SysMusicScoreCategories e : categoriesList) {
+						e.setOrder(order1);
+						order1++;
+					}
+				}
+			}
+			List<SysMusicScoreCategories> insertCategoriesList = sysMusicScoreCategoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+			List<SysMusicScoreCategories> updateCategoriesList = 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);
+					}
+				}
+			}
+			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);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void enable(Integer categoriesId) {
+		SysMusicScoreCategories categories = sysMusicScoreCategoriesDao.get(categoriesId);
+		if(categories == null){
+			throw new BizException("分类不存在");
+		}
+		String byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(categoriesId.toString());
+		byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(byCategoriesIds);
+		sysMusicScoreCategoriesDao.enable(byCategoriesIds,!categories.getEnable());
+	}
+
+    @Override
+    public SysMusicScoreCategories getDetail(Integer categoriesId) {
+		SysMusicScoreCategories categories = sysMusicScoreCategoriesDao.get(categoriesId);
+		MusicScoreQueryInfo musicScoreQueryInfo = new MusicScoreQueryInfo();
+		musicScoreQueryInfo.setParentId(categories.getId());
+		categories.setSysMusicScoreCategoriesList(queryTree(musicScoreQueryInfo));
+		return categories;
+    }
+
+    private SysMusicScoreCategories getTree(SysMusicScoreCategories categories,List<SysMusicScoreCategories> scoreCategoriesAllList){
 		//得到根节点对象
 		//获取子节点list
 		List<SysMusicScoreCategories> scoreCategories = scoreCategoriesAllList.stream().filter(e->e.getParentId().equals(categories.getId())).collect(Collectors.toList());

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

@@ -4,10 +4,12 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
+import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 import com.ym.mec.biz.dal.dto.MusicScoreDto;
 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.service.SysMusicScoreService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -27,6 +29,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 	private SysMusicScoreAccompanimentDao sysMusicScoreAccompanimentDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScore> getDAO() {
@@ -83,12 +87,42 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 		if(sysMusicScoreAccompaniments != null && sysMusicScoreAccompaniments.size() > 0){
 			sysMusicScoreAccompanimentDao.batchInsert(sysMusicScoreAccompaniments,sysMusicScore.getId());
 		}
+		Integer categoriesId = sysMusicScore.getMusicScoreCategoriesId();
+		if(categoriesId != null){
+			while (true){
+				SysMusicScoreCategories categories = sysMusicScoreCategoriesDao.get(categoriesId);
+				if(categories.getParentId() == 0){
+					categories.setMusicScoreNum(categories.getMusicScoreNum() + 1);
+					sysMusicScoreCategoriesDao.update(categories);
+					return;
+				}
+			}
+		}
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void del(Integer id) {
+		SysMusicScore sysMusicScore = sysMusicScoreDao.get(id);
+		if(sysMusicScore == null){
+			throw new BizException("曲目不存在");
+		}
 		sysMusicScoreDao.delete(id);
 		sysMusicScoreAccompanimentDao.deleteBySongId(id);
+		Integer categoriesId = sysMusicScore.getMusicScoreCategoriesId();
+		if(categoriesId != null){
+			while (true){
+				SysMusicScoreCategories categories = sysMusicScoreCategoriesDao.get(categoriesId);
+				if(categories.getParentId() == 0){
+					Integer musicScoreNum = categories.getMusicScoreNum() - 1;
+					if(musicScoreNum < 0){
+						musicScoreNum = 0;
+					}
+					categories.setMusicScoreNum(musicScoreNum);
+					sysMusicScoreCategoriesDao.update(categories);
+					return;
+				}
+			}
+		}
 	}
 }

+ 16 - 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" />
@@ -50,8 +51,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_,
@@ -82,7 +83,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">
@@ -110,7 +112,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>
@@ -191,6 +194,15 @@
 	<sql id="queryPageSql">
 		<where>
 			sesa.del_flag_ = 0
+			<if test="enable != null">
+				AND sesc.enable_ = #{enable}
+			</if>
+			<if test="parentId != null">
+				AND sesc.parent_id_ = #{parentId}
+			</if>
+			<if test="organId != null and organId != ''">
+				AND INTE_ARRAY(#{organId},sesc.organ_id_)
+			</if>
 			<if test="search != null and search != ''">
 				AND (sesa.id_ = #{search} OR ses.name_ LIKE CONCAT('%',#{search},'%'))
 			</if>

+ 109 - 18
mec-biz/src/main/resources/config/mybatis/SysMusicScoreCategoriesMapper.xml

@@ -9,9 +9,14 @@
 	<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="organ_name_" property="organNames" />
+		<result column="music_score_num_" property="musicScoreNum" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -28,59 +33,145 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<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="musicScoreNum != null">
+				music_score_num_ = #{musicScoreNum},
+			</if>
+			<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>
-			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+				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="name != null">
-			name_ = #{name},
+			<if test="bean.operatorId != null">
+				operator_id_ = #{bean.operatorId},
+			</if>
+			<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>
-	
+	<update id="enable">
+		UPDATE sys_music_score_categories SET enable_ = #{enable} WHERE FIND_IN_SET(id_,#{categoriesIds})
+	</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_
+		SELECT sm.*,GROUP_CONCAT(o.name_) organ_name_ FROM sys_music_score_categories sm
+		LEFT JOIN organization o ON FIND_IN_SET(o.id_,sm.organ_id_)
+		<where>
+			<if test="organId != null and organId != ''">
+				AND INTE_ARRAY(sm.organ_id_,#{organId})
+			</if>
+			<if test="parentId != null">
+				AND sm.parent_id_ = #{parentId}
+			</if>
+			<if test="enable != null">
+				AND sm.enable_ = #{enable}
+			</if>
+			<if test="search != null and search != ''">
+				AND (sm.id_ = #{search} OR sm.name_ LIKE CONCAT('%',#{search},'%'))
+			</if>
+		</where>
+		GROUP BY sm.id_
+		ORDER BY sm.order_
 		<include refid="global.limit"/>
 	</select>
 	
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_music_score_categories
+		SELECT COUNT(sm.id_) FROM sys_music_score_categories sm
+		<where>
+			<if test="organId != null and organId != ''">
+				AND INTE_ARRAY(sm.organ_id_,#{organId})
+			</if>
+			<if test="parentId != null">
+				AND sm.parent_id_ = #{parentId}
+			</if>
+			<if test="enable != null">
+				AND sm.enable_ = #{enable}
+			</if>
+			<if test="search != null and search != ''">
+				AND sm.id_ = #{search} OR sm.name_ LIKE CONCAT('%',#{search},'%')
+			</if>
+		</where>
 	</select>
 	<select id="findByParentId" resultMap="SysMusicScoreCategories">
 		SELECT sm.* FROM sys_music_score_categories sm
 		<include refid="queryTree"/>
-		ORDER BY sm.id_
+		ORDER BY sm.order_
+	</select>
+	<select id="findByCategoriesIds" resultType="java.lang.String">
+		SELECT GROUP_CONCAT(id_) FROM sys_music_score_categories
+		WHERE FIND_IN_SET(id_,#{categoriesIds}) OR FIND_IN_SET(parent_id_,#{categoriesIds})
 	</select>
 	<sql id="queryTree">
 		<where>
+			<if test="enable != null">
+				AND sm.enable_ = #{enable}
+			</if>
 			<if test="parentId != null">
 				AND sm.parent_id_ = #{parentId}
 			</if>
+			<if test="organId != null">
+				AND INTE_ARRAY(#{organId},sm.organ_id_)
+			</if>
 		</where>
 	</sql>
 </mapper>

+ 14 - 4
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},
@@ -102,17 +105,24 @@
 	
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(0) FROM sys_music_score ses
+		SELECT COUNT(DISTINCT ses.id_) FROM sys_music_score ses
+		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		<include refid="queryPageSql"/>
 	</select>
     <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
+			<if test="organId != null and organId != null">
+				AND INTE_ARRAY(smsc.organ_id_,#{organId})
+			</if>
 			<if test="categoriesId != null">
-				AND ses.music_score_categories_id_ = #{categoriesId}
+				AND FIND_IN_SET(ses.music_score_categories_id_,#{categoriesId})
 			</if>
 			<if test="search != null and search != ''">
 				AND (ses.id_ = #{search} OR ses.name_ LIKE CONCAT('%',#{search},'%'))

+ 10 - 1
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
@@ -7,7 +9,9 @@ import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RequestMapping("sysMusicScoreAccompaniment")
 @Api(tags = "曲库服务")
@@ -16,6 +20,8 @@ public class SysMusicScoreAccompanimentController extends BaseController {
 
     @Autowired
     private SysMusicScoreAccompanimentService sysMusicScoreAccompanimentService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
@@ -31,11 +37,14 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPageLimit")
     public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
         queryInfo.setType("COMMON");
         if(queryInfo.getClientType() == null){
             queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
         }
         queryInfo.setShowFlag(1);
+        queryInfo.setOrganId(sysUser.getOrganId().toString());
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreAccompanimentService.queryScorePage(queryInfo));
     }
 

+ 7 - 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,9 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        queryInfo.setOrganId(sysUser.getOrganId().toString());
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 

+ 13 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java

@@ -3,15 +3,18 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
+import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
+import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("sysMusicScoreAccompaniment")
@@ -23,6 +26,8 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     private SysMusicScoreAccompanimentService sysMusicScoreAccompanimentService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private TeacherService teacherService;
 
     @ApiOperation(value = "修改")
     @PostMapping("/update")
@@ -74,11 +79,19 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         if(sysUser == null){
             throw new BizException("请登录");
         }
+        Teacher teacher = teacherService.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(teacher.getTeacherOrganId() + "");
+        }
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(teacher.getFlowOrganRange())){
+            queryInfo.setOrganId(queryInfo.getOrganId() + "," + teacher.getFlowOrganRange());
+        }
         if(queryInfo.getClientType() == null){
             queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
         }
         queryInfo.setCreateUserId(sysUser.getId());
         queryInfo.setShowFlag(1);
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreAccompanimentService.queryScorePage(queryInfo));
     }
 }

+ 22 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreCategoriesController.java

@@ -1,12 +1,18 @@
 package com.ym.mec.teacher.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.entity.Teacher;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
+import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,6 +25,10 @@ public class SysMusicScoreCategoriesController extends BaseController {
 
     @Autowired
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private TeacherService teacherService;
 
 
     @ApiOperation(value = "分页查询")
@@ -30,6 +40,18 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        Teacher teacher = teacherService.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(teacher.getTeacherOrganId() + "");
+        }
+        if(StringUtils.isNotBlank(teacher.getFlowOrganRange())){
+            queryInfo.setOrganId(queryInfo.getOrganId() + "," + teacher.getFlowOrganRange());
+        }
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 

+ 78 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreCategoriesController.java

@@ -1,15 +1,25 @@
 package com.ym.mec.web.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.dao.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
+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;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
+import java.util.List;
+
 @RequestMapping("sysMusicScoreCategories")
 @Api(tags = "曲库分类服务")
 @RestController
@@ -17,18 +27,85 @@ public class SysMusicScoreCategoriesController extends BaseController {
 
     @Autowired
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/queryPage')")
     public Object queryPage(SysExamSongQueryInfo queryInfo) {
+        queryInfo.setParentId(0);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
         return succeed(sysMusicScoreCategoriesService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "启用、停用")
+    @RequestMapping("/enable")
+    @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/enable')")
+    public Object enable(Integer categoriesId) {
+        sysMusicScoreCategoriesService.enable(categoriesId);
+        return succeed();
+    }
+
+    @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')")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 
@@ -36,6 +113,6 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @GetMapping("/get")
     @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/get')")
     public Object get(Integer id) {
-        return succeed(sysMusicScoreCategoriesService.get(id));
+        return succeed(sysMusicScoreCategoriesService.getDetail(id));
     }
 }

+ 35 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreController.java

@@ -1,6 +1,11 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
 import com.ym.mec.biz.dal.dto.MusicScoreDto;
+import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreService;
@@ -8,10 +13,14 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
+import java.util.List;
+
 @RequestMapping("sysMusicScore")
 @Api(tags = "曲库")
 @RestController
@@ -19,6 +28,12 @@ public class SysMusicScoreController extends BaseController {
 
     @Autowired
     private SysMusicScoreService sysMusicScoreService;
+    @Autowired
+    private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "修改")
     @PostMapping("/update")
@@ -61,6 +76,26 @@ public class SysMusicScoreController extends BaseController {
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('sysMusicScore/queryPage')")
     public Object queryPage(SysExamSongQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
+        if(queryInfo.getCategoriesId() != null){
+            String byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(queryInfo.getCategoriesId().toString());
+            byCategoriesIds = sysMusicScoreCategoriesDao.findByCategoriesIds(byCategoriesIds);
+            queryInfo.setCategoriesId(byCategoriesIds);
+        }
         return succeed(sysMusicScoreService.queryPage(queryInfo));
     }
 }

+ 43 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicScoreController.java

@@ -1,6 +1,10 @@
 package com.ym.mec.web.controller.education;
 
+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.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
@@ -14,6 +18,9 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Arrays;
+import java.util.List;
+
 @RequestMapping("eduMusicScore")
 @Api(tags = "智能陪练")
 @RestController
@@ -22,10 +29,30 @@ public class EduMusicScoreController extends BaseController {
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
     @Autowired
     private SysMusicScoreAccompanimentService sysMusicScoreAccompanimentService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 
@@ -39,6 +66,10 @@ public class EduMusicScoreController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPageLimit")
     public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
         String type = queryInfo.getType();
         if(StringUtils.isEmpty(type)){
             queryInfo.setType("ALL");
@@ -47,6 +78,18 @@ public class EduMusicScoreController extends BaseController {
             queryInfo.setClientType(ClientTypeEnum.SMART_PRACTICE);
         }
         queryInfo.setShowFlag(1);
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
+        queryInfo.setEnable(true);
         return succeed(sysMusicScoreAccompanimentService.queryScorePage(queryInfo));
     }