|
@@ -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) {
|