Explorar el Código

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

zouxuan hace 1 año
padre
commit
d01482c2b8

+ 2 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetAuthRecordController.java

@@ -6,6 +6,7 @@ import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
+import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
@@ -52,7 +53,7 @@ public class MusicSheetAuthRecordController extends BaseController {
 
     @GetMapping(value = "/auditDetailList/{batchNo}")
     @ApiOperation(value = "审核中心-乐谱审核详情历史记录",  notes = "传入曲目审核批次号")
-    public HttpResponseResult<List<MusicSheetDetailVo>> auditDetailList(@PathVariable String batchNo) {
+    public HttpResponseResult<List<MusicSheetWrapper.MusicSheetDetailVo>> auditDetailList(@PathVariable String batchNo) {
         return succeed(musicSheetAuthRecordService.auditDetailList(batchNo));
     }
 }

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java

@@ -87,7 +87,7 @@ public class MusicSheetController extends BaseController {
      */
     @GetMapping("/detail/{id}")
     @ApiOperation(value = "详情", notes = "传入musicTag")
-    public HttpResponseResult<MusicSheetDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id,
+    public HttpResponseResult<MusicSheetDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") String id,
                                                          @RequestParam(required = false) String tenantAlbumId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null  || sysUser.getId() == null) {

+ 1 - 10
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -71,7 +71,7 @@ public class MusicSheetController extends BaseController {
      */
     @GetMapping("/detail/{id}")
     @ApiOperation(value = "详情", notes = "传入musicTag")
-    public HttpResponseResult<MusicSheetDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id,
+    public HttpResponseResult<MusicSheetDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") String id,
                                                          @RequestParam(required = false) String tenantAlbumId) {
         SysUser sysUser = sysUserService.getUser();
         MusicSheetDetailVo detail = musicSheetService.detail(id, sysUser, ClientEnum.TEACHER,tenantAlbumId);
@@ -112,15 +112,6 @@ public class MusicSheetController extends BaseController {
         }
     }
 
-    /*@ApiOperation(value = "新增/修改", notes = "曲目表- 传入 MusicSheetWrapper.MusicSheet")
-    @PostMapping("/save")
-    public HttpResponseResult<Long> cbsAdd(@Validated @RequestBody CbsMusicSheetWrapper.AddMusicSheet addMusicSheet) {
-        SysUser sysUser = sysUserService.getUser();
-        addMusicSheet.setCreateBy(sysUser.getId());
-        addMusicSheet.setSourceType(EMusicSourceType.PERSON);
-        return succeed(cbsMusicScoreService.musicSheetAdd(addMusicSheet));
-    }*/
-
     @ApiOperation(value = "曲目分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/list", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody StudentMusicSheetSearch query) {

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.vo.*;
+import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -171,7 +172,7 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @param musicSheetId 曲目id
      * @return
      */
-    List<MusicSheetDetailVo> auditDetailList(@Param("musicSheetId") Long musicSheetId, @Param("batchNo") String batchNo);
+    List<MusicSheetWrapper.MusicSheetDetailVo> auditDetailList(@Param("musicSheetId") Long musicSheetId, @Param("batchNo") String batchNo);
 
     /**
      * 单曲数量统计

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAuthRecordService.java

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
+import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
 
 import java.util.List;
 
@@ -50,5 +51,5 @@ public interface MusicSheetAuthRecordService extends IService<MusicSheetAuthReco
 
     MusicSheetDetailVo auditDetail(Long musicSheetAuthRecordId);
 
-    List<MusicSheetDetailVo> auditDetailList(String batchNo);
+    List<MusicSheetWrapper.MusicSheetDetailVo> auditDetailList(String batchNo);
 }

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -14,6 +14,7 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
+import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -92,7 +93,7 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @param sysUser 登录用户
      * @return 曲谱信息
      */
-    MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType,String tenantAlbumId);
+    MusicSheetDetailVo detail(String id, SysUser sysUser, ClientEnum userType,String tenantAlbumId);
 
     /**
      * 学生端 曲目分页查询
@@ -398,7 +399,7 @@ public interface MusicSheetService extends IService<MusicSheet> {
 
     MusicSheet initMusicSheet(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet);
 
-    void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet,MusicSheetDetailVo sheetDetailVo);
+    void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetWrapper.MusicSheetDetailVo sheetDetailVo);
 
     void sync();
 }

+ 4 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java

@@ -20,6 +20,7 @@ import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
 import com.yonge.cooleshow.biz.dal.wrapper.AddMusicSheetWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.base.exception.BizException;
@@ -290,10 +291,10 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
     }
 
     @Override
-    public List<MusicSheetDetailVo> auditDetailList(String batchNo) {
-        List<MusicSheetDetailVo> sheetDetailVos = musicSheetService.getDao().auditDetailList(null, batchNo);
+    public List<MusicSheetWrapper.MusicSheetDetailVo> auditDetailList(String batchNo) {
+        List<MusicSheetWrapper.MusicSheetDetailVo> sheetDetailVos = musicSheetService.getDao().auditDetailList(null, batchNo);
         if (CollectionUtils.isNotEmpty(sheetDetailVos)) {
-            for (MusicSheetDetailVo sheetDetailVo : sheetDetailVos) {
+            for (MusicSheetWrapper.MusicSheetDetailVo sheetDetailVo : sheetDetailVos) {
                 String musicSheetJson = sheetDetailVo.getMusicSheetJson();
                 if(StringUtils.isNotEmpty(musicSheetJson)){
                     CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);

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

@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.beust.jcommander.internal.Lists;
 import com.dayaedu.cbs.common.enums.EClientType;
-import com.dayaedu.cbs.common.enums.music.*;
+import com.dayaedu.cbs.common.enums.music.EAudioType;
 import com.dayaedu.cbs.common.enums.music.EMusicAvailableType;
+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;
@@ -491,7 +493,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     @Override
     public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType) {
-        return detail(id, sysUser, userType,null);
+        return detail(id.toString(), sysUser, userType,null);
     }
 
     private void musicSheetApplicationToMusicSheet(CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication, MusicSheetVo sheet) {
@@ -564,9 +566,20 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     @Override
-    public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType,String tenantAlbumId) {
-        MusicSheetDetailVo detailVo = baseMapper.detail(id);
+    public MusicSheetDetailVo detail(String id, SysUser sysUser, ClientEnum userType,String tenantAlbumId) {
+        MusicSheetDetailVo detailVo = baseMapper.detail(Long.parseLong(id));
         if (detailVo == null) {
+            //获取待审核曲目信息
+            MusicSheetAuthRecord record = musicSheetAuthRecordService.getById(id);
+            if(Objects.nonNull(record)){
+                String musicSheetJson = record.getMusicSheetJson();
+                if(StringUtils.isNotEmpty(musicSheetJson)){
+                    CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
+                    MusicSheetWrapper.MusicSheetDetailVo musicSheetDetailVo = new MusicSheetWrapper.MusicSheetDetailVo();
+                    musicSheetService.initMusicSheetDetailVo(addMusicSheet,musicSheetDetailVo);
+                    return JSON.parseObject(JSON.toJSONString(musicSheetDetailVo),MusicSheetDetailVo.class);
+                }
+            }
             throw new BizException("未找到曲目信息");
         }
         if(detailVo.getDelFlag()){
@@ -598,7 +611,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             }
             return detailVo;
         }
-        MusicSheetDetailVo detail = this.getCbsDetail(id);
+        MusicSheetDetailVo detail = this.getCbsDetail(Long.parseLong(id));
         // 设置收藏人数
         detail.setFavoriteCount(detail.getFavoriteCount() + detail.getVirtualNumber());
 
@@ -620,12 +633,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
 
         // 收藏
-        YesOrNoEnum favorite = musicFavoriteService.checkFavorite(id,sysUser.getId(),userType);
+        YesOrNoEnum favorite = musicFavoriteService.checkFavorite(Long.parseLong(id),sysUser.getId(),userType);
         detail.setFavorite(favorite);
 
         // 播放状态
         if (AuthStatusEnum.UNPASS.getCode().equals(detail.getAuditStatus().getCode())) {
-            String reason = musicSheetAuthRecordService.selectAuditReason(id);
+            String reason = musicSheetAuthRecordService.selectAuditReason(Long.parseLong(id));
             detail.setReason(reason);
         }
         if (StringUtil.isEmpty(tenantAlbumId)) {
@@ -2057,7 +2070,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     @Override
-    public void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetDetailVo musicSheetAudit) {
+    public void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetWrapper.MusicSheetDetailVo musicSheetAudit) {
         musicSheetAudit.setProviderType(SourceTypeEnum.TEACHER);
         musicSheetAudit.setSourceType(SourceTypeEnum.TEACHER);
         musicSheetAudit.setMusicSheetName(addMusicSheet.getName());

+ 251 - 102
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/MusicSheetWrapper.java

@@ -1,11 +1,17 @@
 package com.yonge.cooleshow.biz.dal.wrapper;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.dayaedu.cbs.common.enums.EClientType;
 import com.dayaedu.cbs.common.enums.music.*;
 import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -15,8 +21,13 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 
 /**
@@ -117,182 +128,320 @@ public class MusicSheetWrapper {
     @NoArgsConstructor
     @AllArgsConstructor
 	@ApiModel(" MusicSheet-曲谱表")
-    public static class MusicSheet {
+    public static class MusicSheet implements Serializable {
 
-        @ApiModelProperty("主键")
-        private Long id;
+        @TableId(value = "id_", type = IdType.AUTO)
+        @ApiModelProperty(value = "主键id")
+        private String id;  //主键ID
 
-        @ApiModelProperty("曲谱分类")
-        private Integer musicSheetCategoriesId;
+        @TableField(value = "cbs_music_sheet_id_")
+        @ApiModelProperty(value = "内容平台曲目ID")
+        private String cbsMusicSheetId;  //主键ID
 
-        @ApiModelProperty("曲谱名称")
-        private String musicSheetName;
+        @NotBlank(message = "曲谱名称不能为空!")
+        @Size(max = 64, message = "曲谱名称长度不能超过64位!")
+        @TableField("music_sheet_name_")
+        @ApiModelProperty(value = "曲谱名称")
+        private String musicSheetName;  //曲谱名称
 
-        @ApiModelProperty("可用途径 ORG 机构 PLATFORM 平台")
-        private String availableType;
 
-        //曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
-        @ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
-        private EMusicSheetType musicSheetType;
+        @NotBlank(message = "曲谱封面图不能为空!")
+        @TableField("title_img_")
+        @ApiModelProperty(value = "封面图")
+        private String titleImg;  //曲谱名称
 
-        @ApiModelProperty("封面图")
-        private String titleImg;
+        @TableField("user_id_")
+        @ApiModelProperty(value = "曲谱来源(平台用户ID或者是老师ID)")
+        private Long userId;  //曲谱来源(平台用户ID或者是老师ID)
 
+        @TableField("notation_")
+        @ApiModelProperty("是否可以转简谱(0:否,1:是)")
+        private YesOrNoEnum notation;
 
-        @ApiModelProperty("曲谱来源id")
-        private Long userId;
+        @TableField("music_img_")
+        @ApiModelProperty("曲目图片")
+        private String musicImg;
 
+        @TableField("source_type_")
+        @ApiModelProperty(value = "曲目来源类型 TEACHER 老师 PLATFORM 平台")
+        private SourceTypeEnum sourceType;
 
-        @ApiModelProperty("曲目来源类型 TEACHER 老师 PLATFORM 平台")
-        private String sourceType;
 
+        @TableField("provider_type_")
+        @ApiModelProperty(value = "提供方 TENANT 机构 PLATFORM 平台")
+        private SourceTypeEnum providerType;
 
-        @ApiModelProperty("作曲人")
-        private String composer;
+        @NotBlank(message = "艺术家不能为空!")
+        @Size(max = 32, message = "艺术家长度不能超过32位!")
+        @TableField("composer_")
+        @ApiModelProperty(value = "艺术家")
+        private String composer;  //音乐家
 
+        @TableField("music_subject_")
+        @ApiModelProperty(value = "曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
+        private String musicSubject;  //曲谱声部(适用的乐器,可能是多个,用逗号分隔)
 
-        @ApiModelProperty("曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
-        private String musicSubject;
+        @NotNull(message = "曲谱音频文件类型不能为空!")
+        @TableField("audio_type_")
+        @ApiModelProperty(value = "曲目音频类型 MP3:mp3, MIDI:midi,")
+        private AudioTypeEnum audioType;
 
+        @TableField("mp3_type_")
+        @ApiModelProperty(value = "mp3类型 MP3:mp3, MP3_METRONOME:MP3_METRONOME,")
+        private AudioTypeEnum mp3Type;
 
-        @ApiModelProperty("mp3曲谱类型  MP3;MP3_METRONOME")
-        private String mp3Type;
 
+        @TableField("favorite_count_")
+        @ApiModelProperty(value = "收藏数")
+        private Integer favoriteCount;
 
-        @ApiModelProperty("曲目图片")
-        private String musicImg;
 
+        @ApiModelProperty("虚拟人数 ")
+        @TableField(value = "virtual_number_")
+        private Integer virtualNumber;
 
-        @ApiModelProperty("曲谱音频文件类型(midi;mp3)")
-        private String audioType;
+        @NotBlank(message = "曲谱标签不能为空!")
+        @TableField("music_tag_")
+        @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
+        private String musicTag;  //曲谱标签(多个标签用逗号分隔)
 
+        @NotNull(message = "伴奏类型不能为空!")
+        @TableField("accompaniment_type_")
+        @ApiModelProperty(value = "伴奏类型 HOMEMODE:自制伴奏  COMMON:普通伴奏")
+        private AccompanimentTypeEnum accompanimentType;
 
-        @ApiModelProperty("是否可以转简谱(0:否,1:是)")
-        private Integer notation;
+        @TableField("play_speed_")
+        // @NotNull(message = "默认播放速度不能为空!")
+        @ApiModelProperty(value = "默认播放速度")
+        private String playSpeed;  //默认播放速度
 
+        @TableField("can_evaluate_")
+        @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
+        private YesOrNoEnum canEvaluate;  //是否可以评测(0:否;1:是)
 
-        @ApiModelProperty("曲谱标签(多个标签用逗号分隔)")
-        private String musicTag;
+        @TableField("show_fingering_")
+        @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
+        private YesOrNoEnum showFingering;  //是否展示指法(0:否;1:是)
 
+        // @NotNull(message = "收费类型不能为空!")
+        @TableField("charge_type_")
+        @ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
+        private ChargeTypeEnum chargeType;  //收费类型(0:免费;1:会员;2:单曲收费)
 
-        @ApiModelProperty("默认播放速度")
-        private String playSpeed;
+        @NotNull(message = "收费类型不能为空!")
+        @TableField("payment_type_")
+        @ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
+        private String paymentType;
 
 
-        @ApiModelProperty("是否可以评测(0:否;1:是)")
-        private Boolean canEvaluate;
+        @TableField("state_")
+        @ApiModelProperty(value = "曲目状态(0:停用,1:启用)")
+        private YesOrNoEnum state;
 
+        @TableField("reason_")
+        @ApiModelProperty(value = "曲目停用原因")
+        private String reason;
 
-        @ApiModelProperty("伴奏类型  HOMEMODE:自制 COMMON:普通")
-        private String accompanimentType;
+        @TableField("audit_status_")
+        @ApiModelProperty(value = "审核状态(DOING:待审核;PASS:通过;UNPASS:未通过)")
+        private AuthStatusEnum auditStatus;
 
+        @TableField("submit_audit_time_")
+        @ApiModelProperty(value = "提交审核时间")
+        private Date submitAuditTime;
 
-        @ApiModelProperty("是否展示指法(0:否;1:是)")
-        private Boolean showFingering;
+        @TableField("first_pass_audit_time_")
+        @ApiModelProperty(value = "第一次通过审核时间")
+        private Date firstPassAuditTime;
 
+        @TableField("sort_number_")
+        @ApiModelProperty(value = "排序号")
+        private Integer sortNumber;  //排序号
 
-        @ApiModelProperty("曲目状态(0:停用,1:启用)")
-        private Boolean status;
+        @TableField("top_flag_")
+        @ApiModelProperty(value = "是否置顶(0:否;1:是)")
+        private YesOrNoEnum topFlag;  //是否置顶(0:否;1:是)
 
+        @TableField("hot_flag_")
+        @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
+        private YesOrNoEnum hotFlag;  //是否热门曲谱(0:否;1:是)
 
-        @ApiModelProperty("曲目停用原因")
-        private String reason;
+        @TableField("exquisite_flag_")
+        @ApiModelProperty(value = "精品标志(0:否;1:是)")
+        private YesOrNoEnum exquisiteFlag;
 
+        @TableField("music_price_")
+        @ApiModelProperty(value = "曲谱价格")
+        private java.math.BigDecimal musicPrice;  //曲谱价格
 
-        @ApiModelProperty("排序号")
-        private Integer sortNumber;
+        @TableField("audio_file_url_")
+        @ApiModelProperty(value = "音频文件存储路径")
+        private String audioFileUrl;  //音频文件存储路径
 
+        @NotBlank(message = "XML文件存储路径不能为空!")
+        @TableField("xml_file_url_")
+        @ApiModelProperty(value = "XML文件存储路径")
+        private String xmlFileUrl;  //XML文件存储路径
 
-        @ApiModelProperty("midi路径")
-        private String midiUrl;
 
+        @TableField("midi_url_")
+        @ApiModelProperty(value = "midi路径")
+        private String midiUrl;  //XML文件存储路径
 
-        @ApiModelProperty("伴奏含节拍器路径")
-        private String metronomeUrl;
 
+        @TableField("metronome_url_")
+        @ApiModelProperty(value = "伴奏含节拍器路径")
+        private String metronomeUrl;  //XML文件存储路径
 
-        @ApiModelProperty("伴奏(不含节拍器)路径")
-        private String url;
 
+        @TableField("url_")
+        @ApiModelProperty(value = "伴奏(不含节拍器)路径")
+        private String url;  //XML文件存储路径
 
-        @ApiModelProperty("音频文件存储路径")
-        private String audioFileUrl;
+        @TableField("has_beat_")
+        @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
+        private YesOrNoEnum hasBeat;  //是否自带节拍器(0:否;1:是)
 
+        @TableField("audit_version_")
+        @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)")
+        private YesOrNoEnum auditVersion;
 
-        @ApiModelProperty("XML文件存储路径")
-        private String xmlFileUrl;
+        @TableField("create_time_")
+        @ApiModelProperty(value = "创建时间")
+        private java.util.Date createTime;  //创建时间
 
+        @TableField("create_by_")
+        @ApiModelProperty(value = "创建人(老师或者是后台平台用户)")
+        private Long createBy;  //创建人(老师或者是后台平台用户)
 
-        @ApiModelProperty("是否自带节拍器(0:否;1:是)")
-        private Boolean hasBeat;
+        @TableField("update_time_")
+        @ApiModelProperty(value = "更新时间")
+        private java.util.Date updateTime;  //更新时间
 
+        @TableField("update_by_")
+        @ApiModelProperty(value = "更新人(老师或者是后台平台用户)")
+        private Long updateBy;  //更新人(老师或者是后台平台用户)
 
-        @ApiModelProperty("曲目配置")
-        private String extConfigJson;
+        @TableField("remark_")
+        @ApiModelProperty(value = "备注")
+        private String remark;  //备注,填写未通过审核的原因
 
 
-        @ApiModelProperty("创建时间")
-        private Date createTime;
+        @TableField("ext_config_json_")
+        @ApiModelProperty("曲目配置信息")
+        private String extConfigJson;
 
-        @ApiModelProperty("创建人(老师或者是后台平台用户)")
-        private Long createBy;
+        @TableField("music_json_")
+        private String musicJSON;
 
-        @ApiModelProperty("创建用户")
-        private String createUser;
+        @TableField("music_svg_")
+        private String musicSvg;
 
-        @ApiModelProperty("更新时间")
-        private Date updateTime;
+        @TableField("music_jian_svg_")
+        private String musicJianSvg;
 
-        @ApiModelProperty("更新人(老师或者是后台平台用户)")
-        private Long updateBy;
+        @TableField("music_first_svg_")
+        private String musicFirstSvg;
 
-        @ApiModelProperty("更新用户")
-        private String updateUser;
+        @TableField("first_tone_")
+        @ApiModelProperty("首调")
+        private String firstTone;
 
-        @ApiModelProperty("备注")
-        private String remark;
+        @TableField("fixed_tone_")
+        @ApiModelProperty("固定调")
+        private String fixedTone;
 
-        @ApiModelProperty("假删除标识 0:未删除 1:已删除")
+        @TableField("del_flag_")
+        @ApiModelProperty(value = "假删除标识 0:未删除 1:已删除")
         private Boolean delFlag;
 
-        @ApiModelProperty("伴奏")
-        private List<MusicSheetAccompanimentWrapper.MusicSheetAccompaniment> background;
+        @TableField("correct_time_")
+        @ApiModelProperty(value = "数据修复时间")
+        private Date correctTime;
 
-        @ApiModelProperty("曲目缓存")
-        private String musicJSON;
+        //曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
+        @TableField("music_sheet_type_")
+        @ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
+        private MusicSheetTypeEnum musicSheetType;
 
-        @ApiModelProperty("曲目缓存svg")
-        private String musicSvg;
+        public ChargeTypeEnum getChargeType() {
+            if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
 
-        @ApiModelProperty("曲目缓存简谱svg")
-        private String musicJianSvg;
+                return ChargeTypeEnum.valueOf(getPaymentType().split(",")[0]);
+            }
+            return chargeType;
+        }
+    }
 
-        @ApiModelProperty("曲目缓存首调svg")
-        private String musicFirstSvg;
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class MusicSheetDetailVo extends MusicSheet {
 
-        @ApiModelProperty("是否节奏音乐")
-        private Boolean rhythmFlag;
+        @ApiModelProperty("曲谱伴奏")
+        private List<MusicSheetAccompaniment> background;
 
-        @ApiModelProperty("内容平台曲目ID")
-        private Long cbsMusicSheetId;
+        @ApiModelProperty("是否能播放(0:否,1:是) 学生端进入小酷Ai判断 试用/完整 播放")
+        private YesOrNoEnum play;
 
-        @ApiModelProperty("内容平台声部ID")
-        private String cbsSubjectId;
 
-        @ApiModelProperty("所属学校ID")
-        private String schoolIds;
+        @ApiModelProperty("收藏0:否,1:是")
+        private YesOrNoEnum favorite;
 
-        @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)")
-        private YesOrNoEnum auditVersion;
+        @ApiModelProperty("订单状态(WAIT_PAY:待支付;PAYING:支付中,PAID:已付款)")
+        private OrderStatusEnum orderStatus;
 
-        public String jsonString() {
-            return JSON.toJSONString(this);
-        }
+        @ApiModelProperty("支付订单号")
+        private String orderNo;
 
-        public static MusicSheet from(String json) {
-            return JSON.parseObject(json, MusicSheet.class);
-        }
-	}
+        @ApiModelProperty("上传老师名称")
+        private String userName;
+
+        @ApiModelProperty("上传用户头像")
+        private String userAvatar;
+
+        @ApiModelProperty("标签名")
+        private String musicTagNames;
+
+        @ApiModelProperty("声部名")
+        private String subjectNames;
+
+        @ApiModelProperty("声部code")
+        private String code;
+
+        @ApiModelProperty("声部频率")
+        private Integer aiDefaultFrequency;
+
+        @ApiModelProperty("审核理由")
+        private String reason;
+
+        @ApiModelProperty("是否使用节拍器")
+        private Boolean isPlayBeat;
+
+//    @ApiModelProperty("上一次审核的曲目信息")
+//    private MusicSheetDetailVo lastMusicSheet;
+
+        @ApiModelProperty("真实姓名")
+        private String realName;
+
+        @ApiModelProperty("审核时间")
+        private Date auditTime;
+
+        @ApiModelProperty("审核人")
+        private String  auditName;
+
+        @ApiModelProperty("审核理由")
+        private String auditReason;
+
+        @ApiModelProperty("是否为课件")
+        private YesOrNoEnum coursewareStatus = YesOrNoEnum.NO;
+
+        @ApiModelProperty("课件id")
+        private Long coursewareId;
+
+        @ApiModelProperty("曲目json文件")
+        private String musicSheetJson;
+    }
 
     @Data
     @ApiModel(" MusicSheet-曲目表")

+ 3 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -765,7 +765,7 @@
         </where>
     </select>
 
-    <select id="auditDetailList" resultMap="DetailResultMap">
+    <select id="auditDetailList" resultType="com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper$MusicSheetDetailVo">
         SELECT
         su.username_ as userName
         ,su.avatar_ as userAvatar
@@ -779,6 +779,8 @@
         ,su2.username_ as auditName
         ,msar.reason_ as auditReason
         ,msar.music_sheet_json_ as musicSheetJson
+        ,msar.batch_no_ as batchNo
+        ,msar.batch_no_ as id
         from music_sheet_auth_record  msar
         left join music_sheet t on t.id_ = msar.music_sheet_id_
         left join sys_user su on su.id_ = t.create_by_