|
@@ -10,28 +10,28 @@ import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.AlbumMusicRelateDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicSheetPurchaseRecordDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.StudentMusicAlbumOrderVo;
|
|
|
import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
|
|
|
import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.common.enums.ActivityShareEnum;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -47,14 +47,6 @@ import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetSortDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicTagService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
@@ -96,6 +88,19 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
|
|
|
@Autowired
|
|
|
private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TeacherService teacherService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TenantAlbumMusicService tenantAlbumMusicService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TenantAlbumService tenantAlbumService;
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
+
|
|
|
public MusicAlbumDao getDao() {
|
|
|
return musicAlbumDao;
|
|
|
}
|
|
@@ -457,6 +462,64 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TenantAlbumWrapper.TenantAlbum detailAlbum(String albumId) {
|
|
|
+ Long tenantAlbumId;
|
|
|
+ if (StringUtils.isEmpty(albumId)){
|
|
|
+ //如果没传专辑id 则查询对应机构的专辑详情
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ Long id = sysUser.getId();
|
|
|
+ List<Teacher> list = teacherService.lambdaQuery().eq(Teacher::getUserId, id).list();
|
|
|
+ if (CollectionUtils.isEmpty(list)) {
|
|
|
+ throw new BizException("老师账号未找到");
|
|
|
+ }
|
|
|
+ Teacher teacher = list.get(0);
|
|
|
+ //获取机构Id
|
|
|
+ Long tenantId = teacher.getTenantId();
|
|
|
+ //查询对应专辑id
|
|
|
+ List<TenantAlbumMusic> tenantAlbumMusicList = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantId, tenantId)
|
|
|
+ .eq(TenantAlbumMusic::getDelFlag,false).list();
|
|
|
+ if (CollectionUtils.isEmpty(tenantAlbumMusicList)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ TenantAlbumMusic tenantAlbumMusic = tenantAlbumMusicList.get(0);
|
|
|
+ tenantAlbumId = tenantAlbumMusic.getTenantAlbumId();
|
|
|
+ } else {
|
|
|
+ //如果传专辑id 则查询这个专辑的详情
|
|
|
+ tenantAlbumId = Long.parseLong(albumId);
|
|
|
+ }
|
|
|
+
|
|
|
+ TenantAlbumWrapper.TenantAlbum album = new TenantAlbumWrapper.TenantAlbum();
|
|
|
+
|
|
|
+ //查询对应专辑的详情
|
|
|
+ List<TenantAlbum> list = tenantAlbumService.lambdaQuery().eq(TenantAlbum::getStatus, true).eq(TenantAlbum::getId, tenantAlbumId).list();
|
|
|
+ if (CollectionUtils.isEmpty(list)){
|
|
|
+ throw new BizException("机构专辑不存在");
|
|
|
+ }
|
|
|
+ TenantAlbum tenantAlbum = list.get(0);
|
|
|
+ //机构专辑名称
|
|
|
+ String name = tenantAlbum.getName();
|
|
|
+ //机构专辑封面
|
|
|
+ String coverImg = tenantAlbum.getCoverImg();
|
|
|
+ //机构专辑曲目数
|
|
|
+ List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).list();
|
|
|
+ List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
|
|
|
+ int size = MusicSheetIds.size();
|
|
|
+
|
|
|
+ //Integer musicNum = tenantAlbum.getMusicNum();
|
|
|
+ //机构专辑简介
|
|
|
+ String describe = tenantAlbum.getDescribe();
|
|
|
+ //声部
|
|
|
+ String subjectTypes = tenantAlbum.getSubjectTypes();
|
|
|
+
|
|
|
+ album.setName(name);
|
|
|
+ album.setCoverImg(coverImg);
|
|
|
+ album.setMusicNum(size);
|
|
|
+ album.setDescribe(describe);
|
|
|
+ album.setSubjectTypes(subjectTypes);
|
|
|
+ return album;
|
|
|
+ }
|
|
|
+
|
|
|
private boolean checkNameRepeat(String albumName, Long id) {
|
|
|
LambdaQueryChainWrapper<MusicAlbum> eq = this.lambdaQuery()
|
|
|
.eq(MusicAlbum::getDelFlag,0)
|