|
@@ -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() {
|
|
@@ -36,6 +43,93 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
|
|
|
return scoreCategories;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void save(SysMusicScoreCategories musicScoreCategories) {
|
|
|
+ musicScoreCategories.setParentId(0);
|
|
|
+ sysMusicScoreCategoriesDao.insert(musicScoreCategories);
|
|
|
+ List<SysMusicScoreCategories> sysMusicScoreCategoriesList = musicScoreCategories.getSysMusicScoreCategoriesList();
|
|
|
+ if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
|
|
|
+ for (SysMusicScoreCategories categories : sysMusicScoreCategoriesList) {
|
|
|
+ categories.setParentId(musicScoreCategories.getId());
|
|
|
+ sysMusicScoreCategoriesDao.insert(categories);
|
|
|
+ List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
|
|
|
+ if(categoriesList != null && categoriesList.size() > 0){
|
|
|
+ categoriesList.forEach(e->{
|
|
|
+ e.setParentId(categories.getId());
|
|
|
+ });
|
|
|
+ sysMusicScoreCategoriesDao.batchInsert(categoriesList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateCategories(SysMusicScoreCategories musicScoreCategories) {
|
|
|
+ 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.setParentId(musicScoreCategories.getId());
|
|
|
+ sysMusicScoreCategoriesDao.insert(categories);
|
|
|
+ List<SysMusicScoreCategories> categoriesList = categories.getSysMusicScoreCategoriesList();
|
|
|
+ if(categoriesList != null && categoriesList.size() > 0){
|
|
|
+ categoriesList.forEach(e->{
|
|
|
+ e.setParentId(categories.getId());
|
|
|
+ });
|
|
|
+ sysMusicScoreCategoriesDao.batchInsert(categoriesList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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.setParentId(categories.getId());
|
|
|
+ }
|
|
|
+ sysMusicScoreCategoriesDao.batchInsert(insertCategories);
|
|
|
+ }
|
|
|
+ List<SysMusicScoreCategories> updateCategories = categoriesList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
|
|
|
+ if(updateCategories != null && updateCategories.size() > 0){
|
|
|
+ sysMusicScoreCategoriesDao.batchUpdate(updateCategories);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sysMusicScoreCategoriesDao.batchUpdate(updateCategoriesList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ 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
|