Browse Source

伴奏修改

zouxuan 3 năm trước cách đây
mục cha
commit
636f75917f

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

@@ -40,6 +40,16 @@ public class SysMusicScoreCategories {
 
 	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;
 	}

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

@@ -51,21 +51,28 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 		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){
-					categoriesList.forEach(e->{
+					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);
 				}
 			}
@@ -91,6 +98,19 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 		}
 		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());
 			if(insertCategoriesList != null && insertCategoriesList.size() > 0){
 				for (SysMusicScoreCategories categories : insertCategoriesList) {
@@ -123,7 +143,7 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 							}
 							sysMusicScoreCategoriesDao.batchInsert(insertCategories,organId,enable);
 						}
-						List<SysMusicScoreCategories> updateCategories = categoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+						List<SysMusicScoreCategories> updateCategories = categoriesList.stream().filter(e -> e.getId() != null).collect(Collectors.toList());
 						if(updateCategories != null && updateCategories.size() > 0){
 							sysMusicScoreCategoriesDao.batchUpdate(updateCategories,organId,enable);
 						}

+ 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.getCategoriesId();
+		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.getCategoriesId();
+		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;
+				}
+			}
+		}
 	}
 }

+ 5 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicScoreCategoriesMapper.xml

@@ -16,6 +16,7 @@
 		<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>
@@ -123,6 +124,7 @@
 			</if>
 		</where>
 		GROUP BY sm.id_
+		ORDER BY sm.order_
 		<include refid="global.limit"/>
 	</select>
 	
@@ -144,10 +146,11 @@
 	<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 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>