|
@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
|
|
|
import com.yonge.cooleshow.common.enums.PostStatusEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.MusicSheetExport;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.MusicSheetPayDto;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.*;
|
|
@@ -38,6 +36,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
@@ -55,7 +54,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(MusicSheetServiceImpl.class);
|
|
|
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
private MusicSheetDao musicSheetDao;
|
|
|
|
|
|
@Autowired
|
|
@@ -82,7 +81,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
@Autowired
|
|
|
private AlbumMusicRelateService albumMusicRelateService;
|
|
|
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
@Autowired
|
|
@@ -437,6 +436,31 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean saveMusicSheet(MusicSheetDto musicSheetDto, Long userId) {
|
|
|
|
|
|
+ MusicSheet oldMusicSheet = null;
|
|
|
+ if (musicSheetDto.getId() != null) {
|
|
|
+ oldMusicSheet = getById(musicSheetDto.getId());
|
|
|
+ }
|
|
|
+ // 保存审核拒绝的数据
|
|
|
+ if (musicSheetDto.getId() != null && AuthStatusEnum.DOING.getCode().equals(musicSheetDto.getAuditStatus().getCode())) {
|
|
|
+ // 保存删除的曲目
|
|
|
+ if (oldMusicSheet.getAuditStatus().equals(AuthStatusEnum.UNPASS)) {
|
|
|
+ oldMusicSheet.setId(null);
|
|
|
+ oldMusicSheet.setDelFlag(true);
|
|
|
+ this.save(oldMusicSheet);
|
|
|
+ // 删除的曲目的伴奏
|
|
|
+ musicSheetAccompanimentService.lambdaUpdate()
|
|
|
+ .eq(MusicSheetAccompaniment::getMusicSheetId,musicSheetDto.getId())
|
|
|
+ .set(MusicSheetAccompaniment::getMusicSheetId,oldMusicSheet.getId())
|
|
|
+ .update();
|
|
|
+ // 审核拒绝的原因
|
|
|
+ musicSheetAuthRecordService.lambdaUpdate()
|
|
|
+ .eq(MusicSheetAuthRecord::getMusicSheetId,musicSheetDto.getId())
|
|
|
+ .set(MusicSheetAuthRecord::getMusicSheetId,oldMusicSheet.getId())
|
|
|
+ .update();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
if (musicSheetDto.getId() != null) {
|
|
|
musicSheetAccompanimentService.delByMusicSheetId(musicSheetDto.getId());
|
|
|
}
|
|
@@ -446,7 +470,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
|
|
|
// 删除曲目专辑关联
|
|
|
- // delAlbumSheetRef(musicSheetDto.getId(), musicSheetDto.getMusicSubject());
|
|
|
+ if (oldMusicSheet != null && !oldMusicSheet.getMusicSubject().equals(musicSheetDto.getMusicSubject())) {
|
|
|
+ delAlbumSheetRef(musicSheetDto.getId(), musicSheetDto.getMusicSubject());
|
|
|
+ }
|
|
|
|
|
|
List<MusicSheetAccompaniment> list;
|
|
|
if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())) {
|
|
@@ -722,7 +748,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
dataList.sort(Comparator.comparingInt(ExcelDataReaderProperty::getRowIndex));
|
|
|
List<MusicSheetDto> musicSheetDtoList = new ArrayList<>();
|
|
|
List<MusicTagVo> musicTagVoList = musicTagService.selectMusicTagTree();
|
|
|
- List<Subject> subjects = subjectService.subjectSelect();
|
|
|
+ List<Subject> subjects = subjectService.subjectSelect(null);
|
|
|
Date date = new Date();
|
|
|
for (ExcelDataReaderProperty<MusicSheetExport> readerProperty : dataList) {
|
|
|
MusicSheetDto musicSheetDto = new MusicSheetDto();
|
|
@@ -942,6 +968,36 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
return this.saveOrUpdate(musicSheet);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Boolean stateList(ReasonDto reasonDto) {
|
|
|
+ List<Long> idList = WrapperUtil.toLongList(reasonDto.getMusicSheetIds());
|
|
|
+
|
|
|
+ Collection<MusicSheet> musicSheets = this.listByIds(idList);
|
|
|
+ List<MusicSheet> musicSheetList = musicSheets.stream()
|
|
|
+ .filter(musicSheet -> !musicSheet.getState().equals(reasonDto.getState()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isEmpty(musicSheetList)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ this.lambdaUpdate()
|
|
|
+ .in(MusicSheet::getId,musicSheetList.stream().map(MusicSheet::getId).collect(Collectors.toList()))
|
|
|
+ .set(MusicSheet::getState,reasonDto.getState())
|
|
|
+ .update();
|
|
|
+
|
|
|
+ // 发送推送
|
|
|
+ if (reasonDto.getState().equals(YesOrNoEnum.YES)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ for (MusicSheet musicSheet : musicSheetList) {
|
|
|
+ if (SourceTypeEnum.TEACHER.equals(musicSheet.getSourceType())) {
|
|
|
+ sendOutSaleMessage(reasonDto.getReason(),musicSheet);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
private SysUser getSysUser(Long userId) {
|
|
|
return Optional.ofNullable(userId)
|
|
|
.map(sysUserFeignService::queryUserById)
|