|  | @@ -7,14 +7,13 @@ import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 | 
	
		
			
				|  |  |  import com.microsvc.toolkit.common.response.template.R;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.Student;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.InstrumentService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.StudentService;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.service.*;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.wrapper.InstrumentWrapper;
 | 
	
	
		
			
				|  | @@ -66,6 +65,11 @@ public class MusicSheetCbsController extends BaseController {
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private InstrumentService instrumentService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private MusicSheetDao musicSheetDao;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private MusicSheetAuthRecordService musicSheetAuthRecordService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 查询单条
 | 
	
	
		
			
				|  | @@ -75,6 +79,88 @@ public class MusicSheetCbsController extends BaseController {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @ApiOperation(value = "查询内容平台数据")
 | 
	
		
			
				|  |  |      @ApiImplicitParams({
 | 
	
		
			
				|  |  | +            @ApiImplicitParam(name = "id", value = "id", dataType = "long")
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    @GetMapping("/cbsDetailAuth/{id}")
 | 
	
		
			
				|  |  | +    public R<MusicSheetVo.MusicSheetDetail> cbsDetailAuth(@PathVariable("id") String id) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        MusicSheetVo.MusicSheetDetail musicSheetDetail = null;
 | 
	
		
			
				|  |  | +        MusicSheetDetailVo detail = musicSheetDao.detail(Long.parseLong(id));
 | 
	
		
			
				|  |  | +        if (detail == null) {
 | 
	
		
			
				|  |  | +            MusicSheetDetailVo result = musicSheetAuthRecordService.auditDetail(id);
 | 
	
		
			
				|  |  | +            if (result != null) {
 | 
	
		
			
				|  |  | +                detail = result;
 | 
	
		
			
				|  |  | +                if(StringUtils.isNotEmpty(result.getMusicSheetJson())){
 | 
	
		
			
				|  |  | +                    // 审核中数据
 | 
	
		
			
				|  |  | +                    musicSheetDetail = JSON.parseObject(result.getMusicSheetJson(), MusicSheetVo.MusicSheetDetail.class);
 | 
	
		
			
				|  |  | +                }else {
 | 
	
		
			
				|  |  | +                    MusicSheetAuthRecord authRecord = musicSheetAuthRecordService.getById(id);
 | 
	
		
			
				|  |  | +                    detail = musicSheetDao.detail(authRecord.getMusicSheetId());
 | 
	
		
			
				|  |  | +                    if(detail == null){
 | 
	
		
			
				|  |  | +                        throw new BizException("未找到曲目信息");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    id = authRecord.getMusicSheetId().toString();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if(result == null){
 | 
	
		
			
				|  |  | +                throw new BizException("未找到曲目信息");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (musicSheetDetail == null) {
 | 
	
		
			
				|  |  | +            detail = musicSheetService.getCbsDetail(Long.parseLong(id),SourceTypeEnum.PLATFORM);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            CbsMusicSheetWrapper.MusicSheet cbsMusicSheet = musicSheetService.cbsDetail(detail.getCbsMusicSheetId());
 | 
	
		
			
				|  |  | +            cbsMusicSheet.setBizId(Long.parseLong(id));
 | 
	
		
			
				|  |  | +            musicSheetDetail = JSON.parseObject(JSON.toJSONString(cbsMusicSheet), MusicSheetVo.MusicSheetDetail.class);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 设置曲目付费类型
 | 
	
		
			
				|  |  | +        musicSheetDetail.setPaymentType(detail.getPaymentType());
 | 
	
		
			
				|  |  | +        // 设置业务端曲目分类
 | 
	
		
			
				|  |  | +        musicSheetDetail.setScoreType(detail.getScoreType());
 | 
	
		
			
				|  |  | +        musicSheetDetail.setIsConvertibleScore(detail.getNotation() ==YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +        musicSheetDetail.setPlay(detail.getPlay());
 | 
	
		
			
				|  |  | +        musicSheetDetail.setBuyed(detail.getBuyed());
 | 
	
		
			
				|  |  | +        musicSheetDetail.setMusicPrice(detail.getMusicPrice());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 如果是合奏 并且乐器ID = 2268
 | 
	
		
			
				|  |  | +        musicSheetDetail.setSpecialPercussionFlag(false);
 | 
	
		
			
				|  |  | +        if ("2268".equals(musicSheetDetail.getMusicalInstrumentIds()) && musicSheetDetail.getMusicSheetType() == EMusicSheetType.CONCERT) {
 | 
	
		
			
				|  |  | +            musicSheetDetail.setSpecialPercussionFlag(true);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 设置乐器信息
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotBlank(musicSheetDetail.getMusicalInstrumentIds())) {
 | 
	
		
			
				|  |  | +            List<Long> instrumentIds = Arrays.stream(musicSheetDetail.getMusicalInstrumentIds().split(","))
 | 
	
		
			
				|  |  | +                    .map(Long::parseLong).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(instrumentIds) && CollectionUtils.isNotEmpty(musicSheetDetail.getMusicalInstruments())) {
 | 
	
		
			
				|  |  | +                Map<Long, InstrumentWrapper.Instrument> instrumentMap = instrumentService.getMapByIds(instrumentIds);
 | 
	
		
			
				|  |  | +                for (CbsMusicSheetWrapper.MusicalInstrument musicalInstrument : musicSheetDetail.getMusicalInstruments()) {
 | 
	
		
			
				|  |  | +                    InstrumentWrapper.Instrument instrument = instrumentMap.get(musicalInstrument.getId().longValue());
 | 
	
		
			
				|  |  | +                    if (instrument != null) {
 | 
	
		
			
				|  |  | +                        musicalInstrument.setOrientation(instrument.getOrientation());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return R.from(musicSheetDetail);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /**
 | 
	
		
			
				|  |  | +         * 查询单条
 | 
	
		
			
				|  |  | +         *
 | 
	
		
			
				|  |  | +         * @param id 详情ID
 | 
	
		
			
				|  |  | +         * @return R<MusicSheetVo.MusicSheet>
 | 
	
		
			
				|  |  | +         */
 | 
	
		
			
				|  |  | +    @ApiOperation(value = "查询内容平台数据")
 | 
	
		
			
				|  |  | +    @ApiImplicitParams({
 | 
	
		
			
				|  |  |          @ApiImplicitParam(name = "id", value = "id", dataType = "long")
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |      @GetMapping("/cbsDetail/{id}")
 |