1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.ym.mec.web.controller;
- import com.alibaba.fastjson.JSON;
- import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
- import com.microsvc.toolkit.common.response.template.R;
- import com.ym.mec.biz.dal.entity.SysMusicScore;
- import com.ym.mec.biz.dal.wrapper.InstrumentWrapper;
- import com.ym.mec.biz.service.InstrumentService;
- import com.ym.mec.biz.service.SysMusicScoreService;
- import com.ym.mec.vo.MusicSheetVo;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- @Slf4j
- @Validated
- @RestController
- @RequestMapping("${app-config.url.web:}/musicSheet")
- @Api(tags = "曲谱表")
- public class MusicSheetController {
- @Autowired
- private SysMusicScoreService musicSheetService;
- @Autowired
- private InstrumentService instrumentService;
- /**
- * 查询单条
- *
- * @param id 详情ID
- * @return R<MusicSheetVo.MusicSheet>
- */
- @ApiOperation(value = "查询内容平台数据")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", value = "id", dataType = "long")
- })
- @GetMapping("/cbsDetail/{id}")
- public R<MusicSheetVo.OpenMusicSheetDetail> cbsDetail(@PathVariable("id") Integer id) {
- CbsMusicSheetWrapper.MusicSheet musicSheet = musicSheetService.cbsDetail(id);
- musicSheet.setBizId(Long.valueOf(id));
- MusicSheetVo.MusicSheetDetail musicSheetDetail = JSON.parseObject(JSON.toJSONString(musicSheet), MusicSheetVo.MusicSheetDetail.class);
- SysMusicScore detail = musicSheetService.get(id);
- if (detail == null) {
- musicSheetDetail.setBizMusicCategoryId(null);
- } else {
- //musicSheetDetail.setPaymentType(detail.get());
- musicSheetDetail.setBizMusicCategoryId(detail.getCategoriesId() == null ? null : detail.getCategoriesId().longValue());
- }
- // 设置乐器信息
- if (StringUtils.isNotBlank(musicSheetDetail.getMusicalInstrumentIds())) {
- List<Integer> instrumentIds = Arrays.stream(musicSheetDetail.getMusicalInstrumentIds().split(","))
- .map(Integer::parseInt).collect(Collectors.toList());
- if (CollectionUtils.isNotEmpty(instrumentIds) && CollectionUtils.isNotEmpty(musicSheetDetail.getMusicalInstruments())) {
- Map<Integer, InstrumentWrapper.Instrument> instrumentMap = instrumentService.getMapByIds(instrumentIds);
- for (CbsMusicSheetWrapper.MusicalInstrument musicalInstrument : musicSheetDetail.getMusicalInstruments()) {
- InstrumentWrapper.Instrument instrument = instrumentMap.get(musicalInstrument.getId());
- if (instrument != null) {
- musicalInstrument.setOrientation(instrument.getOrientation());
- }
- }
- }
- }
- return R.from(MusicSheetVo.OpenMusicSheetDetail.from(musicSheetDetail.jsonString()));
- }
- }
|