Browse Source

酷乐秀曲目来源改为内容平台

zouxuan 10 months ago
parent
commit
55247ab262

+ 1 - 1
cooleshow-auth/auth-server/pom.xml

@@ -19,7 +19,7 @@
         <dependency>
             <groupId>com.dayaedu.cbs.openfeign</groupId>
             <artifactId>dayaedu-openfeign-client</artifactId>
-            <version>1.0.2</version>
+            <version>${cbs.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>com.alibaba.cloud</groupId>

+ 1 - 1
cooleshow-common/pom.xml

@@ -23,7 +23,7 @@
 		<dependency>
 			<groupId>com.dayaedu.cbs.openfeign</groupId>
 			<artifactId>dayaedu-openfeign-client</artifactId>
-			<version>1.0.0</version>
+			<version>${cbs.version}</version>
 			<exclusions>
 				<exclusion>
 					<groupId>com.alibaba.cloud</groupId>

+ 2 - 2
cooleshow-user/user-biz/pom.xml

@@ -21,7 +21,7 @@
         <dependency>
             <groupId>com.dayaedu.cbs.openfeign</groupId>
             <artifactId>dayaedu-openfeign-api</artifactId>
-            <version>1.0.0</version>
+            <version>${cbs.version}</version>
         </dependency>
         <dependency>
             <groupId>com.yonge.cooleshow</groupId>
@@ -147,7 +147,7 @@
         <dependency>
             <groupId>com.dayaedu.cbs.openfeign</groupId>
             <artifactId>dayaedu-openfeign-client</artifactId>
-            <version>1.0.2</version>
+            <version>${cbs.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>com.alibaba.cloud</groupId>

+ 3 - 429
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.Getter;
 import org.apache.commons.lang3.StringUtils;
 
@@ -25,6 +26,7 @@ import java.util.Objects;
  * @version v1.0
  **/
 @ApiModel(value = "music_sheet-曲谱表")
+@Data
 public class MusicSheet implements Serializable {
 
     @TableId(value = "id_", type = IdType.AUTO)
@@ -110,7 +112,7 @@ public class MusicSheet implements Serializable {
     @TableField("play_speed_")
 	// @NotNull(message = "默认播放速度不能为空!")
     @ApiModelProperty(value = "默认播放速度")
-    private Integer playSpeed;  //默认播放速度
+    private String playSpeed;  //默认播放速度
 
     @TableField("can_evaluate_")
     @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
@@ -261,198 +263,6 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
 	private MusicSheetTypeEnum musicSheetType;
 
-	public void setCbsMusicSheetId(Long cbsMusicSheetId) {
-		this.cbsMusicSheetId = cbsMusicSheetId;
-	}
-
-	public Long getCbsMusicSheetId() {
-		return cbsMusicSheetId;
-	}
-
-	public SourceTypeEnum getProviderType() {
-        return providerType;
-    }
-
-    public void setProviderType(SourceTypeEnum providerType) {
-        this.providerType = providerType;
-    }
-
-    public Integer getVirtualNumber() {
-		return virtualNumber;
-	}
-
-	public void setVirtualNumber(Integer virtualNumber) {
-		this.virtualNumber = virtualNumber;
-	}
-
-	public Date getFirstPassAuditTime() {
-		return firstPassAuditTime;
-	}
-
-	public void setFirstPassAuditTime(Date firstPassAuditTime) {
-		this.firstPassAuditTime = firstPassAuditTime;
-	}
-
-	public Integer getFavoriteCount() {
-		return favoriteCount;
-	}
-
-	public void setFavoriteCount(Integer favoriteCount) {
-		this.favoriteCount = favoriteCount;
-	}
-
-	public String getMusicImg() {
-		return musicImg;
-	}
-
-	public void setMusicImg(String musicImg) {
-		this.musicImg = musicImg;
-	}
-
-	public AccompanimentTypeEnum getAccompanimentType() {
-		return accompanimentType;
-	}
-
-	public void setAccompanimentType(AccompanimentTypeEnum accompanimentType) {
-		this.accompanimentType = accompanimentType;
-	}
-
-	public String getTitleImg() {
-		return titleImg;
-	}
-
-	public void setTitleImg(String titleImg) {
-		this.titleImg = titleImg;
-	}
-
-	public String getReason() {
-		return reason;
-	}
-
-	public void setReason(String reason) {
-		this.reason = reason;
-	}
-
-	public String getExtConfigJson() {
-		return extConfigJson;
-	}
-
-	public void setExtConfigJson(String extConfigJson) {
-		this.extConfigJson = extConfigJson;
-	}
-
-	public YesOrNoEnum getNotation() {
-		return notation;
-	}
-
-	public void setNotation(YesOrNoEnum notation) {
-		this.notation = notation;
-	}
-
-	public String getMidiUrl() {
-		return midiUrl;
-	}
-
-	public void setMidiUrl(String midiUrl) {
-		this.midiUrl = midiUrl;
-	}
-
-	public String getMetronomeUrl() {
-		return metronomeUrl;
-	}
-
-	public void setMetronomeUrl(String metronomeUrl) {
-		this.metronomeUrl = metronomeUrl;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	public Long getId() {
-		return id;
-	}
-
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public String getMusicSheetName() {
-		return musicSheetName;
-	}
-
-	public void setMusicSheetName(String musicSheetName) {
-		this.musicSheetName = musicSheetName;
-	}
-
-	public Long getUserId() {
-		return userId;
-	}
-
-	public void setUserId(Long userId) {
-		this.userId = userId;
-	}
-
-	public String getComposer() {
-		return composer;
-	}
-
-	public void setComposer(String composer) {
-		this.composer = composer;
-	}
-
-	public String getMusicSubject() {
-		return musicSubject;
-	}
-
-	public void setMusicSubject(String musicSubject) {
-		this.musicSubject = musicSubject;
-	}
-
-	public AudioTypeEnum getAudioType() {
-		return audioType;
-	}
-
-	public void setAudioType(AudioTypeEnum audioType) {
-		this.audioType = audioType;
-	}
-
-	public String getMusicTag() {
-		return musicTag;
-	}
-
-	public void setMusicTag(String musicTag) {
-		this.musicTag = musicTag;
-	}
-
-	public Integer getPlaySpeed() {
-		return playSpeed;
-	}
-
-	public void setPlaySpeed(Integer playSpeed) {
-		this.playSpeed = playSpeed;
-	}
-
-	public YesOrNoEnum getCanEvaluate() {
-		return canEvaluate;
-	}
-
-	public void setCanEvaluate(YesOrNoEnum canEvaluate) {
-		this.canEvaluate = canEvaluate;
-	}
-
-	public YesOrNoEnum getShowFingering() {
-		return showFingering;
-	}
-
-	public void setShowFingering(YesOrNoEnum showFingering) {
-		this.showFingering = showFingering;
-	}
-
 	public ChargeTypeEnum getChargeType() {
 		if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
 
@@ -461,194 +271,6 @@ public class MusicSheet implements Serializable {
 		return chargeType;
 	}
 
-	public void setChargeType(ChargeTypeEnum chargeType) {
-		this.chargeType = chargeType;
-	}
-
-	public YesOrNoEnum getState() {
-		return state;
-	}
-
-	public void setState(YesOrNoEnum state) {
-		this.state = state;
-	}
-
-	public AuthStatusEnum getAuditStatus() {
-		return auditStatus;
-	}
-
-	public void setAuditStatus(AuthStatusEnum auditStatus) {
-		this.auditStatus = auditStatus;
-	}
-
-	public Integer getSortNumber() {
-		return sortNumber;
-	}
-
-	public void setSortNumber(Integer sortNumber) {
-		this.sortNumber = sortNumber;
-	}
-
-	public YesOrNoEnum getTopFlag() {
-		return topFlag;
-	}
-
-	public void setTopFlag(YesOrNoEnum topFlag) {
-		this.topFlag = topFlag;
-	}
-
-	public YesOrNoEnum getExquisiteFlag() {
-		return exquisiteFlag;
-	}
-
-	public void setExquisiteFlag(YesOrNoEnum exquisiteFlag) {
-		this.exquisiteFlag = exquisiteFlag;
-	}
-
-	public YesOrNoEnum getHotFlag() {
-		return hotFlag;
-	}
-
-	public void setHotFlag(YesOrNoEnum hotFlag) {
-		this.hotFlag = hotFlag;
-	}
-
-	public BigDecimal getMusicPrice() {
-		return musicPrice;
-	}
-
-	public void setMusicPrice(BigDecimal musicPrice) {
-		this.musicPrice = musicPrice;
-	}
-
-	public String getAudioFileUrl() {
-		return audioFileUrl;
-	}
-
-	public void setAudioFileUrl(String audioFileUrl) {
-		this.audioFileUrl = audioFileUrl;
-	}
-
-	public String getXmlFileUrl() {
-		return xmlFileUrl;
-	}
-
-	public void setXmlFileUrl(String xmlFileUrl) {
-		this.xmlFileUrl = xmlFileUrl;
-	}
-
-	public YesOrNoEnum getHasBeat() {
-		return hasBeat;
-	}
-
-	public void setHasBeat(YesOrNoEnum hasBeat) {
-		this.hasBeat = hasBeat;
-	}
-
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public Long getCreateBy() {
-		return createBy;
-	}
-
-	public void setCreateBy(Long createBy) {
-		this.createBy = createBy;
-	}
-
-	public Date getUpdateTime() {
-		return updateTime;
-	}
-
-	public void setUpdateTime(Date updateTime) {
-		this.updateTime = updateTime;
-	}
-
-	public Long getUpdateBy() {
-		return updateBy;
-	}
-
-	public void setUpdateBy(Long updateBy) {
-		this.updateBy = updateBy;
-	}
-
-	public String getRemark() {
-		return remark;
-	}
-
-	public void setRemark(String remark) {
-		this.remark = remark;
-	}
-
-	public Boolean getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(Boolean delFlag) {
-		this.delFlag = delFlag;
-	}
-
-	public Date getSubmitAuditTime() {
-		return submitAuditTime;
-	}
-
-	public void setSubmitAuditTime(Date submitAuditTime) {
-		this.submitAuditTime = submitAuditTime;
-	}
-
-	public SourceTypeEnum getSourceType() {
-		return sourceType;
-	}
-
-	public void setSourceType(SourceTypeEnum sourceType) {
-		this.sourceType = sourceType;
-	}
-
-	public AudioTypeEnum getMp3Type() {
-		return mp3Type;
-	}
-
-	public void setMp3Type(AudioTypeEnum mp3Type) {
-		this.mp3Type = mp3Type;
-	}
-
-	public YesOrNoEnum getAuditVersion() {
-		return auditVersion;
-	}
-
-	public void setAuditVersion(YesOrNoEnum auditVersion) {
-		this.auditVersion = auditVersion;
-	}
-
-	public String getPaymentType() {
-		return paymentType;
-	}
-
-	public void setPaymentType(String paymentType) {
-		this.paymentType = paymentType;
-	}
-
-	public String getFirstTone() {
-		return firstTone;
-	}
-
-	public void setFirstTone(String firstTone) {
-		this.firstTone = firstTone;
-	}
-
-	public String getFixedTone() {
-		return fixedTone;
-	}
-
-	public void setFixedTone(String fixedTone) {
-		this.fixedTone = fixedTone;
-	}
-
 	public MusicSheet notation(YesOrNoEnum notation) {
 		this.notation = notation;
 		return this;
@@ -684,38 +306,6 @@ public class MusicSheet implements Serializable {
 		return this;
 	}
 
-	public String getMusicJSON() {
-		return musicJSON;
-	}
-
-	public void setMusicJSON(String musicJSON) {
-		this.musicJSON = musicJSON;
-	}
-
-	public String getMusicSvg() {
-		return musicSvg;
-	}
-
-	public void setMusicSvg(String musicSvg) {
-		this.musicSvg = musicSvg;
-	}
-
-	public String getMusicJianSvg() {
-		return musicJianSvg;
-	}
-
-	public void setMusicJianSvg(String musicJianSvg) {
-		this.musicJianSvg = musicJianSvg;
-	}
-
-	public String getMusicFirstSvg() {
-		return musicFirstSvg;
-	}
-
-	public void setMusicFirstSvg(String musicFirstSvg) {
-		this.musicFirstSvg = musicFirstSvg;
-	}
-
 	public MusicSheet firstTone(String firstTone) {
 		this.firstTone = firstTone;
 		return this;
@@ -725,20 +315,4 @@ public class MusicSheet implements Serializable {
 		this.fixedTone = fixedTone;
 		return this;
 	}
-
-	public Date getCorrectTime() {
-		return correctTime;
-	}
-
-	public void setCorrectTime(Date correctTime) {
-		this.correctTime = correctTime;
-	}
-
-	public MusicSheetTypeEnum getMusicSheetType() {
-		return musicSheetType;
-	}
-
-	public void setMusicSheetType(MusicSheetTypeEnum musicSheetType) {
-		this.musicSheetType = musicSheetType;
-	}
 }

+ 106 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -6,9 +6,16 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.beust.jcommander.internal.Lists;
+import com.dayaedu.cbs.common.enums.music.EAudioType;
+import com.dayaedu.cbs.common.enums.music.EEvaluationStandard;
+import com.dayaedu.cbs.common.enums.music.EMusicPlayMode;
+import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
 import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
+import com.dayaedu.cbs.openfeign.client.MusicFeignClientService;
+import com.dayaedu.cbs.openfeign.properties.OpenFeignClientConfigProperties;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsSubjectApiWrapper;
+import com.google.common.collect.Maps;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
@@ -30,9 +37,7 @@ import com.yonge.cooleshow.biz.dal.service.cbs.CbsMusicScoreService;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
-import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.TenantGroupAlbumWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.*;
 import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -52,6 +57,7 @@ import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -138,6 +144,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private TenantGroupAlbumMapper tenantGroupAlbumMapper;
     @Resource
     private TenantAlbumMusicMapper tenantAlbumMusicMapper;
+    @Resource
+    private MusicFeignClientService musicFeignClientService;
+    @Resource
+    private OpenFeignClientConfigProperties openFeignClientConfigProperties;
 
     @Value("${openfeign-client.app-id:1745637981387108354}")
     public Long applicationId;
@@ -217,10 +227,100 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     @Override
     public IPage<MusicSheetVo> selectCbsPage(IPage<MusicSheetVo> page, MusicSheetSearch query) {
-        IPage<MusicSheetVo> iPage = this.selectPage(page, query);
-        List<MusicSheetVo> records = iPage.getRecords();
-        if(){
+        List<MusicSheetVo> musicSheets = baseMapper.selectPage(page, query);
+        return page.setRecords(musicDataFormat(musicSheets));
+    }
+
+    public List<MusicSheetVo> musicDataFormat(List<MusicSheetVo> musicSheets) {
+        if (CollectionUtils.isEmpty(musicSheets)) {
+            return musicSheets;
+        }
+        List<Long> cbsMusicSheetIds = musicSheets.stream().map(MusicSheet::getCbsMusicSheetId).collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(cbsMusicSheetIds)) {
+            return new ArrayList<>();
+        }
+        // 调用内容平台查询曲目信息
+        R<PageInfo<CbsMusicSheetWrapper.MusicSheetApplication>> pageInfoR = musicFeignClientService
+                .musicSheetPageByApplication(CbsMusicSheetWrapper.MusicSheetApplicationQuery.builder()
+                        .musicSheetIds(cbsMusicSheetIds).detailFlag(false).rows(-1).delFlag(true)
+                        .applicationId(Long.parseLong(openFeignClientConfigProperties.getAppId())).build());
+        List<CbsMusicSheetWrapper.MusicSheetApplication> rows;
+        try {
+
+            PageInfo<CbsMusicSheetWrapper.MusicSheetApplication> musicSheetApplicationPageInfo = pageInfoR.feignData();
+            rows = musicSheetApplicationPageInfo.getRows();
+        }catch (Exception e) {
+            log.error("调用内容平台服务异常", e);
+            throw com.microsvc.toolkit.common.webportal.exception.BizException.from("内容平台服务异常");
+        }
+        if (CollectionUtils.isEmpty(rows)) {
+            return new ArrayList<>();
+        }
+        //  rows 转 map
+        Map<Long, CbsMusicSheetWrapper.MusicSheetApplication> musicSheetApplicationMap = Maps.uniqueIndex(rows, CbsMusicSheetWrapper.MusicSheetApplication::getId);
+        // 曲目信息转换
+        for (MusicSheetVo musicSheet : musicSheets) {
+            CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication = musicSheetApplicationMap.get(musicSheet.getCbsMusicSheetId());
+            if (musicSheetApplication == null) {
+                continue;
+            }
+            musicSheetApplicationToMusicSheet(musicSheetApplication, musicSheet);
+        }
+        return musicSheets;
+    }
 
+    private void musicSheetApplicationToMusicSheet(CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication, MusicSheetVo sheet) {
+        sheet.setMusicSheetName(musicSheetApplication.getName());
+        if (musicSheetApplication.getMusicSheetType() != null) {
+            sheet.setMusicSheetType(MusicSheetTypeEnum.valueOf(musicSheetApplication.getMusicSheetType().name()));
+        }
+        sheet.setTitleImg(musicSheetApplication.getMusicCover());
+        sheet.setUserId(musicSheetApplication.getUserId());
+        if(musicSheetApplication.getSourceType() != null){
+            sheet.setSourceType(musicSheetApplication.getSourceType() == EMusicSourceType.PERSON ? SourceTypeEnum.TEACHER :
+                    musicSheetApplication.getSourceType() == EMusicSourceType.ORG ? SourceTypeEnum.TENANT :SourceTypeEnum.PLATFORM);
+        }
+        sheet.setComposer(musicSheetApplication.getComposer());
+        sheet.setAudioType(AudioTypeEnum.valueOf(musicSheetApplication.getPlayMode().getCode()));
+        sheet.setMp3Type(AudioTypeEnum.valueOf(musicSheetApplication.getIsPlayBeat()&&musicSheetApplication.getIsUseSystemBeat()?"MP3":"MP3_METRONOME"));
+        if (StringUtils.isNotEmpty(musicSheetApplication.getPlaySpeed())) {
+            sheet.setPlaySpeed(musicSheetApplication.getPlaySpeed());
+        }
+        if (musicSheetApplication.getIsEvaluated() != null){
+            sheet.setCanEvaluate(musicSheetApplication.getIsEvaluated()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+        }
+        if (musicSheetApplication.getIsShowFingering() != null){
+            sheet.setShowFingering(musicSheetApplication.getIsShowFingering()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+        }
+        sheet.setPaymentType(musicSheetApplication.getPaymentType());
+        sheet.setSortNumber(musicSheetApplication.getSortNo());
+        if (musicSheetApplication.getTopFlag() != null){
+            sheet.setTopFlag(musicSheetApplication.getTopFlag()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+        }
+        if (musicSheetApplication.getExquisiteFlag() != null){
+            sheet.setExquisiteFlag(musicSheetApplication.getExquisiteFlag()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+        }
+        sheet.setMusicPrice(musicSheetApplication.getMusicPrice());
+        if (CollectionUtils.isNotEmpty(musicSheetApplication.getMusicSheetAccompanimentList())) {
+            sheet.setAudioFileUrl(musicSheetApplication.getMusicSheetAccompanimentList().get(0).getAudioFileUrl());
+            sheet.setMetronomeUrl(musicSheetApplication.getMusicSheetAccompanimentList().get(0).getAudioFileUrl());
+        }
+        sheet.setXmlFileUrl(musicSheetApplication.getXmlFileUrl());
+        sheet.setMidiUrl(musicSheetApplication.getMidiFileUrl());
+        if (musicSheetApplication.getAppAuditFlag() != null){
+            sheet.setAuditVersion(musicSheetApplication.getAppAuditFlag()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+        }
+        sheet.setUpdateBy(musicSheetApplication.getUpdateBy());
+        sheet.setExtConfigJson(musicSheetApplication.getExtConfigJson());
+        sheet.setMusicJSON(musicSheetApplication.getMusicJson());
+        sheet.setMusicSvg(musicSheetApplication.getMusicSvg());
+        sheet.setMusicJianSvg(musicSheetApplication.getMusicJianImg());
+        sheet.setMusicFirstSvg(musicSheetApplication.getMusicFirstImg());
+        if(musicSheetApplication.getMusicSheetType() != null){
+            sheet.setMusicSheetType(musicSheetApplication.getMusicSheetType() == EMusicSheetType.SINGLE ? MusicSheetTypeEnum.SINGLE : MusicSheetTypeEnum.CONCERT);
+        }
+        if(musicSheetApplication.getMusicSheetExtend() != null){
+            sheet.setAddName(musicSheetApplication.getMusicSheetExtend().getUserName());
         }
     }
 

+ 2 - 81
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -4,6 +4,7 @@ import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 /**
  * Description
@@ -11,6 +12,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @author: liujunchi
  * @date: 2022-03-30
  */
+@Data
 @ApiModel(value = "MusicSheetVo对象", description = "音乐曲目表查询视图对象")
 public class MusicSheetVo extends MusicSheet {
 
@@ -43,85 +45,4 @@ public class MusicSheetVo extends MusicSheet {
 
     @ApiModelProperty("机构专辑ID,逗号隔开")
     private String tenantAlbumId;
-
-    public String getTenantAlbumId() {
-        return tenantAlbumId;
-    }
-
-    public void setTenantAlbumId(String tenantAlbumId) {
-        this.tenantAlbumId = tenantAlbumId;
-    }
-
-    public String getSourceName() {
-        return sourceName;
-    }
-
-    public void setSourceName(String sourceName) {
-        this.sourceName = sourceName;
-    }
-
-    public Integer getAlbumSortNumber() {
-        return albumSortNumber;
-    }
-
-    public void setAlbumSortNumber(Integer albumSortNumber) {
-        this.albumSortNumber = albumSortNumber;
-    }
-
-
-    public String getAddName() {
-        return addName;
-    }
-
-    public void setAddName(String addName) {
-        this.addName = addName;
-    }
-
-    public String getMusicTagNames() {
-        return musicTagNames;
-    }
-
-    public void setMusicTagNames(String musicTagNames) {
-        this.musicTagNames = musicTagNames;
-    }
-
-    public String getSubjectNames() {
-        return subjectNames;
-    }
-
-    public void setSubjectNames(String subjectNames) {
-        this.subjectNames = subjectNames;
-    }
-
-    public String getAddUserAvatar() {
-        return addUserAvatar;
-    }
-
-    public void setAddUserAvatar(String addUserAvatar) {
-        this.addUserAvatar = addUserAvatar;
-    }
-
-    public YesOrNoEnum getFavorite() {
-        return favorite;
-    }
-
-    public void setFavorite(YesOrNoEnum favorite) {
-        this.favorite = favorite;
-    }
-
-    public YesOrNoEnum getPlay() {
-        return play;
-    }
-
-    public void setPlay(YesOrNoEnum play) {
-        this.play = play;
-    }
-
-    public Integer getAlbumNums() {
-        return albumNums;
-    }
-
-    public void setAlbumNums(Integer albumNums) {
-        this.albumNums = albumNums;
-    }
 }

+ 117 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/MusicSheetAccompanimentWrapper.java

@@ -0,0 +1,117 @@
+package com.yonge.cooleshow.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Date;
+import java.util.Optional;
+
+/**
+ * 曲谱伴奏表
+ * 2022-12-07 10:16:58
+ */
+@ApiModel(value = "MusicSheetAccompanimentWrapper对象", description = "曲谱伴奏表查询对象")
+public class MusicSheetAccompanimentWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" MusicSheetAccompanimentQuery-曲谱伴奏表")
+    public static class MusicSheetAccompanimentQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+        
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheetAccompanimentQuery from(String json) {
+            return JSON.parseObject(json, MusicSheetAccompanimentQuery.class);
+        }
+    }  
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+	@ApiModel(" MusicSheetAccompaniment-曲谱伴奏表")
+    public static class MusicSheetAccompaniment {
+
+        @ApiModelProperty("主键")
+        private Long id;
+
+        @ApiModelProperty("曲谱ID")
+        private Long musicId;
+
+        @ApiModelProperty("声部")
+        private String musicSubject;
+
+        @ApiModelProperty("MP3原声音频文件URL")
+        private String audioFileUrl;
+
+        @ApiModelProperty("map节拍器伴奏")
+        private String metronomeUrl;
+
+        @ApiModelProperty("伴奏轨迹")
+        private String track;
+
+        @ApiModelProperty("排序号")
+        private Boolean sortNumber;
+
+        @ApiModelProperty("速度")
+        private Integer speed;
+
+        @ApiModelProperty("曲目缓存")
+        private String musicSvg;
+
+        @ApiModelProperty("创建人(老师或者是后台平台用户)")
+        private Long createBy;
+
+        @ApiModelProperty("创建时间")
+        private Date createTime;
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheetAccompaniment from(String json) {
+            return JSON.parseObject(json, MusicSheetAccompaniment.class);
+        }
+
+
+        public MusicSheetAccompaniment musicId(Long musicId) {
+            this.musicId = musicId;
+            return this;
+        }
+
+        public MusicSheetAccompaniment musicSubject(String musicSubject) {
+            this.musicSubject = musicSubject;
+            return this;
+        }
+
+        public MusicSheetAccompaniment createBy(Long createBy) {
+            this.createBy = createBy;
+            return this;
+        }
+    }
+
+}

+ 292 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/MusicSheetWrapper.java

@@ -0,0 +1,292 @@
+package com.yonge.cooleshow.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.dayaedu.cbs.common.enums.EClientType;
+import com.dayaedu.cbs.common.enums.music.EAudioType;
+import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * 曲谱表
+ * 2022-12-07 10:16:58
+ */
+@ApiModel(value = "MusicSheetWrapper对象", description = "曲谱表查询对象")
+public class MusicSheetWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" MusicSheetQuery-曲谱表")
+    public static class MusicSheetQuery implements QueryInfo {
+
+    	@ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+
+        @ApiModelProperty("伴奏类型")
+        private EAudioType audioType;
+
+        @ApiModelProperty("标签Id")
+        private String musicTag;
+
+        @ApiModelProperty("声部Id")
+        private String musicSubject;
+
+        @ApiModelProperty("伴奏类型  HOMEMODE:自制 COMMON:普通")
+        private String accompanimentType;
+
+        @ApiModelProperty("曲谱分类编号")
+        private Integer musicSheetCategoriesId;
+
+        private List<Integer> musicSheetCategoriesIdList;
+
+        @ApiModelProperty(value = "删除标识", hidden = true)
+        private Boolean delFlag;
+
+        @ApiModelProperty(value = "启用停用标识,曲目状态(0:停用,1:启用)")
+        private Boolean status;
+
+        @ApiModelProperty("用户类型")
+        private EClientType clientType;
+
+        @ApiModelProperty("学校ID集合")
+        private List<Long> schoolIds;
+
+        @ApiModelProperty("可用途径 ORG 机构 PLATFORM 平台")
+        private String availableType;
+
+        @ApiModelProperty("学校ID")
+        private Long schoolId;
+
+        @ApiModelProperty("需要排查的曲谱ID")
+        private List<Long> excludeMusicIds;
+
+        @ApiModelProperty("曲谱ID")
+        private List<Long> musicIds;
+
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+
+        public Boolean getDelFlag() {
+            return Optional.ofNullable(delFlag).orElse(false);
+        }
+
+        public String getMusicTag() {
+            return Optional.ofNullable(musicTag).filter(StringUtils::isNotBlank).orElse(null);
+        }
+
+        public String getMusicSubject() {
+            return Optional.ofNullable(musicSubject).filter(StringUtils::isNotBlank).orElse(null);
+        }
+
+        public String getAccompanimentType() {
+            return Optional.ofNullable(accompanimentType).filter(StringUtils::isNotBlank).orElse(null);
+        }
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheetQuery from(String json) {
+            return JSON.parseObject(json, MusicSheetQuery.class);
+        }
+    }
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+	@ApiModel(" MusicSheet-曲谱表")
+    public static class MusicSheet {
+
+        @ApiModelProperty("主键")
+        private Long id;
+
+        @ApiModelProperty("曲谱分类")
+        private Integer musicSheetCategoriesId;
+
+        @ApiModelProperty("曲谱名称")
+        private String musicSheetName;
+
+        @ApiModelProperty("可用途径 ORG 机构 PLATFORM 平台")
+        private String availableType;
+
+        //曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
+        @ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
+        private EMusicSheetType musicSheetType;
+
+        @ApiModelProperty("封面图")
+        private String titleImg;
+
+
+        @ApiModelProperty("曲谱来源id")
+        private Long userId;
+
+
+        @ApiModelProperty("曲目来源类型 TEACHER 老师 PLATFORM 平台")
+        private String sourceType;
+
+
+        @ApiModelProperty("作曲人")
+        private String composer;
+
+
+        @ApiModelProperty("曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
+        private String musicSubject;
+
+
+        @ApiModelProperty("mp3曲谱类型  MP3;MP3_METRONOME")
+        private String mp3Type;
+
+
+        @ApiModelProperty("曲目图片")
+        private String musicImg;
+
+
+        @ApiModelProperty("曲谱音频文件类型(midi;mp3)")
+        private String audioType;
+
+
+        @ApiModelProperty("是否可以转简谱(0:否,1:是)")
+        private Integer notation;
+
+
+        @ApiModelProperty("曲谱标签(多个标签用逗号分隔)")
+        private String musicTag;
+
+
+        @ApiModelProperty("默认播放速度")
+        private String playSpeed;
+
+
+        @ApiModelProperty("是否可以评测(0:否;1:是)")
+        private Boolean canEvaluate;
+
+
+        @ApiModelProperty("伴奏类型  HOMEMODE:自制 COMMON:普通")
+        private String accompanimentType;
+
+
+        @ApiModelProperty("是否展示指法(0:否;1:是)")
+        private Boolean showFingering;
+
+
+        @ApiModelProperty("曲目状态(0:停用,1:启用)")
+        private Boolean status;
+
+
+        @ApiModelProperty("曲目停用原因")
+        private String reason;
+
+
+        @ApiModelProperty("排序号")
+        private Integer sortNumber;
+
+
+        @ApiModelProperty("midi路径")
+        private String midiUrl;
+
+
+        @ApiModelProperty("伴奏含节拍器路径")
+        private String metronomeUrl;
+
+
+        @ApiModelProperty("伴奏(不含节拍器)路径")
+        private String url;
+
+
+        @ApiModelProperty("音频文件存储路径")
+        private String audioFileUrl;
+
+
+        @ApiModelProperty("XML文件存储路径")
+        private String xmlFileUrl;
+
+
+        @ApiModelProperty("是否自带节拍器(0:否;1:是)")
+        private Boolean hasBeat;
+
+
+        @ApiModelProperty("曲目配置")
+        private String extConfigJson;
+
+
+        @ApiModelProperty("创建时间")
+        private Date createTime;
+
+        @ApiModelProperty("创建人(老师或者是后台平台用户)")
+        private Long createBy;
+
+        @ApiModelProperty("创建用户")
+        private String createUser;
+
+        @ApiModelProperty("更新时间")
+        private Date updateTime;
+
+        @ApiModelProperty("更新人(老师或者是后台平台用户)")
+        private Long updateBy;
+
+        @ApiModelProperty("更新用户")
+        private String updateUser;
+
+        @ApiModelProperty("备注")
+        private String remark;
+
+        @ApiModelProperty("假删除标识 0:未删除 1:已删除")
+        private Boolean delFlag;
+
+        @ApiModelProperty("伴奏")
+        private List<MusicSheetAccompanimentWrapper.MusicSheetAccompaniment> background;
+
+        @ApiModelProperty("曲目缓存")
+        private String musicJSON;
+
+        @ApiModelProperty("曲目缓存svg")
+        private String musicSvg;
+
+        @ApiModelProperty("曲目缓存简谱svg")
+        private String musicJianSvg;
+
+        @ApiModelProperty("曲目缓存首调svg")
+        private String musicFirstSvg;
+
+        @ApiModelProperty("是否节奏音乐")
+        private Boolean rhythmFlag;
+
+        @ApiModelProperty("内容平台曲目ID")
+        private Long cbsMusicSheetId;
+
+        @ApiModelProperty("内容平台声部ID")
+        private String cbsSubjectId;
+
+        @ApiModelProperty("所属学校ID")
+        private String schoolIds;
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheet from(String json) {
+            return JSON.parseObject(json, MusicSheet.class);
+        }
+	}
+
+}

+ 2 - 6
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -125,16 +125,13 @@
 
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
         select <include refid="Base_Column_List"/>
-        ,su.username_ as addName
-        ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
             where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
             where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
         from music_sheet t
-        left join sys_user su on t.create_by_ = su.id_
         <where>
-            su.del_flag_ = 0 AND t.cbs_music_sheet_id_ IS NOT NULL
+            t.cbs_music_sheet_id_ IS NOT NULL
             <include refid="QueryInfo"/>
             <if test="param.auditVersion != null ">
                 and #{param.auditVersion} = t.audit_version_
@@ -157,8 +154,7 @@
         <if test="param.idAndName != null and param.idAndName != ''">
             and (t.id_ like concat('%',#{param.idAndName},'%') or
             t.music_sheet_name_ like concat('%',#{param.idAndName},'%') or
-            t.composer_ like concat ('%',#{param.idAndName},'%') or
-            su.username_ like concat ('%',#{param.idAndName},'%') )
+            t.composer_ like concat ('%',#{param.idAndName},'%'))
         </if>
         <if test="param.providerType != null">
             and t.provider_type_ = #{param.providerType}

+ 1 - 0
pom.xml

@@ -23,6 +23,7 @@
 		<google.zxing.version>3.4.0</google.zxing.version>
 		<redisson.version>3.11.5</redisson.version>
 		<maven.test.skip>true</maven.test.skip>
+		<cbs.version>1.0.5</cbs.version>
 	</properties>