|  | @@ -10,6 +10,7 @@ import com.yonge.cooleshow.biz.dal.dto.MusicTagSaveDto;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.MusicTagSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.MusicTag;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.MusicTagService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.exception.BizException;
 | 
	
	
		
			
				|  | @@ -34,6 +35,8 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private MusicSheetService musicSheetService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |      public MusicTagVo detail(Long id) {
 | 
	
		
			
				|  |  |          return baseMapper.detail(id);
 | 
	
	
		
			
				|  | @@ -78,6 +81,12 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public boolean del(Long musicTagId) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 有关联的曲目或专辑不让删除
 | 
	
		
			
				|  |  | +        if (checkTagBeUserd(musicTagId)) {
 | 
	
		
			
				|  |  | +            throw  new BizException("当前标签或子集标签已被使用,不可删除");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // 删除下面的子集标签
 | 
	
		
			
				|  |  |          return this.lambdaUpdate()
 | 
	
		
			
				|  |  |                     .eq(MusicTag::getParentTagId,musicTagId)
 | 
	
	
		
			
				|  | @@ -87,6 +96,26 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 检查标签是否被使用过
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param musicTagId 标签id
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    private boolean checkTagBeUserd(Long musicTagId) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<MusicTag> list = this.lambdaQuery()
 | 
	
		
			
				|  |  | +                                  .eq(MusicTag::getParentTagId, musicTagId)
 | 
	
		
			
				|  |  | +                                  .eq(MusicTag::getDelFlag, false)
 | 
	
		
			
				|  |  | +                                  .list();
 | 
	
		
			
				|  |  | +        List<Long> longs = list.stream().map(MusicTag::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        if (baseMapper.checkTagBeUsedMusicAblum(longs) >0) return true;
 | 
	
		
			
				|  |  | +        if (baseMapper.checkTagBeUsedMusicSheet(longs) >0) return true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return false;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public boolean state(Long musicTagId) {
 |