Browse Source

add:老师端乐谱接口

liujunchi 3 years ago
parent
commit
de19d576f5

+ 15 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -13,6 +13,7 @@ import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.support.Condition;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
@@ -20,7 +21,6 @@ import com.yonge.toolset.utils.string.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import jodd.util.CollectionUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -46,6 +46,16 @@ public class MusicSheetController extends BaseController {
 	@Autowired
 	private MusicSheetService musicSheetService;
 
+
+    /**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入musicTag")
+    public HttpResponseResult<MusicSheetVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id) {
+        return succeed(musicSheetService.detail(id));
+    }
+
 	@ApiOperation(value = "新增", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/create", consumes="application/json", produces="application/json")
     public HttpResponseResult<Object> create(@Valid @RequestBody MusicSheetDto musicSheetDto) {
@@ -58,7 +68,11 @@ public class MusicSheetController extends BaseController {
                 && musicSheetDto.getMusicPrice()==null){
             return failed("此曲谱为收费曲谱,需要提供价格");
         }
+        if (StringUtil.isEmpty(musicSheetDto.getMusicSubject())) {
+            return failed("曲目声部不能为空");
+        }
 
+        musicSheetDto.setUserId(0L);
         List<MusicSheetAccompaniment> list;
         if (!musicSheetDto.getAudioType().equalsIgnoreCase("midi")){
             list = musicSheetDto.getBackground();
@@ -71,7 +85,6 @@ public class MusicSheetController extends BaseController {
             BeanUtils.copyProperties(musicSheetDto, musicSheet);
             musicSheet.setAuditStatus(AuditEnum.AUDITING);
             musicSheet.setCreateBy(sysUser.getId());
-            musicSheet.setUserId(0L);
             musicSheet.setCreateTime(new Date());
             musicSheet.setState(StateEnum.STOP);
             musicSheetService.save(musicSheet);

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -34,4 +34,12 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      */
     List<MusicSheet> selectAlbumDetailPage(@Param("page") IPage<MusicSheet> page,
                                            @Param("param") MusicAlbumDetailSearch query);
+
+    /**
+     * 获取曲目详情
+     *
+     * @param id 曲目id
+     * @return 曲目信息
+     */
+    MusicSheetVo detail(Long id);
 }

+ 23 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicSheetSearch.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
+import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
 import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.support.Query;
 import com.yonge.toolset.utils.string.StringUtil;
@@ -36,6 +37,12 @@ public class MusicSheetSearch  extends Query {
     @ApiModelProperty("曲目状态(0:停用,1:启用))")
     private StateEnum state;
 
+    @ApiModelProperty("曲目审核状态(0:待审核;1:通过;2:未通过)")
+    private AuditEnum auditStatus;
+
+    @ApiModelProperty(value = "创建人id",hidden = true)
+    private Long createBy;
+
     public String getIdAndName() {
         return idAndName;
     }
@@ -89,4 +96,20 @@ public class MusicSheetSearch  extends Query {
     public void setState(StateEnum state) {
         this.state = state;
     }
+
+    public AuditEnum getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(AuditEnum auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public Long getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
 }

+ 0 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -46,7 +46,6 @@ public class MusicSheet implements Serializable {
     @ApiModelProperty(value = "作曲人")
     private String composer;  //作曲人
 
-    @NotBlank(message = "曲谱声部不能为空!")
     @TableField("music_subject_")
     @ApiModelProperty(value = "曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
     private String musicSubject;  //曲谱声部(适用的乐器,可能是多个,用逗号分隔)

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 
 /**
@@ -49,4 +50,20 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @return MusicSheet
      */
     IPage<MusicSheet> selectAlbumDetailPage(IPage<MusicSheet> page, MusicAlbumDetailSearch query);
+
+    /**
+     * 老师分享乐谱信息
+     *
+     * @param sysUser 老师登录信息
+     * @return 分享信息
+     */
+    MusicSheetShareVo shareMusicSheet(SysUser sysUser);
+
+    /**
+     * 查询详情
+     *
+     * @param id 曲谱id
+     * @return 曲谱信息
+     */
+    MusicSheetVo detail(Long id);
 }

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

@@ -23,6 +23,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -56,6 +57,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean state(Long id) {
         MusicAlbum musicAlbum = this.getById(id);
         if (musicAlbum == null) {
@@ -85,6 +87,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean delMusicSheet(Long albumId, String musicSheetIds) {
         MusicAlbum musicAlbum = this.getById(albumId);
         if (musicAlbum == null) {
@@ -95,6 +98,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean addMusicSheet(Long albumId, String musicSheetIds, Long userId) {
         MusicAlbum musicAlbum = this.getById(albumId);
         if (musicAlbum == null) {
@@ -105,6 +109,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void createMusicAlbum(MusicAlbum musicAlbum) {
         if (checkNameRepeat(musicAlbum.getAlbumName(),musicAlbum.getId())) {
             throw new BizException("专辑名称重复");
@@ -113,6 +118,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateMusicAlbum(MusicAlbum musicAlbum) {
         if (checkNameRepeat(musicAlbum.getAlbumName(),musicAlbum.getId())) {
             throw new BizException("专辑名称重复");

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

@@ -1,26 +1,27 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dao.MusicSheetAccompanimentDao;
+import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
 import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
 import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.support.Condition;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.common.exception.BizException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
@@ -48,15 +49,13 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     }
 
     @Override
-    @Transactional(readOnly = false)
+    @Transactional(rollbackFor = Exception.class)
     public boolean saveMp3AndAccompaniment(MusicSheetDto musicSheetDto, SysUser sysUser) {
         MusicSheet musicSheet = new MusicSheet();
         BeanUtils.copyProperties(musicSheetDto, musicSheet);
         //保存主表
         musicSheet.setAuditStatus(AuditEnum.AUDITING);
         musicSheet.setCreateBy(sysUser.getId());
-        musicSheet.setUserId(sysUser.getId());
-        musicSheet.setUserId(0L);
         musicSheet.setState(StateEnum.STOP);
         musicSheet.setCreateTime(new Date());
         int count = musicSheetDao.insert(musicSheet);
@@ -77,6 +76,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean state(Long id) {
         MusicSheet musicSheet = this.getById(id);
         if (musicSheet == null) {
@@ -95,4 +95,27 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     public IPage<MusicSheet> selectAlbumDetailPage(IPage<MusicSheet> page, MusicAlbumDetailSearch query) {
         return page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
     }
+
+    @Override
+    public MusicSheetShareVo shareMusicSheet(SysUser sysUser) {
+        MusicSheetSearch query = new MusicSheetSearch();
+        // 设置只查老师用户
+        query.setCreateBy(sysUser.getId());
+        query.setAuditStatus(AuditEnum.OPEN);
+        query.setState(StateEnum.ENABLE);
+        // 只查3条
+        query.setRows(3);
+        IPage<MusicSheetVo> musicSheetVoIPage = selectPage(Condition.getPage(query), query);
+        MusicSheetShareVo musicSheetShareVo = new MusicSheetShareVo();
+        musicSheetShareVo.setMusicSheetCount(musicSheetVoIPage.getTotal());
+        musicSheetShareVo.setMusicSheetVoList(musicSheetVoIPage.getRecords());
+        musicSheetShareVo.setName(sysUser.getUsername());
+        musicSheetShareVo.setAvatar(sysUser.getAvatar());
+        return musicSheetShareVo;
+    }
+
+    @Override
+    public MusicSheetVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
 }

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicTagServiceImpl.java

@@ -19,6 +19,7 @@ import jodd.util.StringUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -76,6 +77,7 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
      }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean del(Long musicTagId) {
         MusicTag musicTag = new MusicTag();
         musicTag.setId(musicTagId);
@@ -84,6 +86,7 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean state(Long musicTagId) {
         MusicTag tag = this.getById(musicTagId);
         if (Objects.isNull(tag)) {
@@ -100,6 +103,7 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void createMusicTag(MusicTagSaveDto musicTagSaveDto) {
 
         if (checkNameRepeat(musicTagSaveDto.getName(), musicTagSaveDto.getId())) {
@@ -139,6 +143,7 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateMusicTag(MusicTagSaveDto musicTagSaveDto) {
 
         if (checkNameRepeat(musicTagSaveDto.getName(), musicTagSaveDto.getId())) {

+ 60 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetShareVo.java

@@ -0,0 +1,60 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * Description 老师乐谱分享信息
+ *
+ * @author liujunchi
+ * @date 2022-04-01
+ */
+@ApiModel(value = "MusicSheetShareVo对象", description = "老师乐谱分享信息")
+public class MusicSheetShareVo {
+
+    @ApiModelProperty("老师姓名")
+    private String name;
+
+    @ApiModelProperty("老师头像")
+    private String avatar;
+
+    @ApiModelProperty("乐谱数量")
+    private Long musicSheetCount;
+
+    @ApiModelProperty("乐谱信息")
+    private List<MusicSheetVo> musicSheetVoList;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public Long getMusicSheetCount() {
+        return musicSheetCount;
+    }
+
+    public void setMusicSheetCount(Long musicSheetCount) {
+        this.musicSheetCount = musicSheetCount;
+    }
+
+    public List<MusicSheetVo> getMusicSheetVoList() {
+        return musicSheetVoList;
+    }
+
+    public void setMusicSheetVoList(List<MusicSheetVo> musicSheetVoList) {
+        this.musicSheetVoList = musicSheetVoList;
+    }
+}

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -16,6 +16,9 @@ public class MusicSheetVo extends MusicSheet {
     @ApiModelProperty("添加人")
     private String addName;
 
+    @ApiModelProperty("添加头像(老师头像)")
+    private String addUserAvatar;
+
     @ApiModelProperty("标签名")
     private String musicTagNames;
 
@@ -45,4 +48,12 @@ public class MusicSheetVo extends MusicSheet {
     public void setSubjectNames(String subjectNames) {
         this.subjectNames = subjectNames;
     }
+
+    public String getAddUserAvatar() {
+        return addUserAvatar;
+    }
+
+    public void setAddUserAvatar(String addUserAvatar) {
+        this.addUserAvatar = addUserAvatar;
+    }
 }

+ 14 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -60,6 +60,7 @@
     <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) as musicTagNames
         ,(select group_concat(s.name_) from subject s where find_in_set(s.id_,t.music_subject_) ) as subjectNames
@@ -85,6 +86,12 @@
             <if test="param.state != null">
                 and t.state_ = #{param.state}
             </if>
+            <if test="param.auditStatus != null">
+                and t.audit_status_ = #{param.auditStatus}
+            </if>
+            <if test="param.createBy != null">
+                and t.create_by_ = #{param.createBy}
+            </if>
         </where>
     </select>
 
@@ -123,4 +130,11 @@
             </if>
         </where>
     </select>
+
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM music_sheet t
+        where t.id_ = #{id}
+    </select>
 </mapper>

+ 116 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -0,0 +1,116 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
+import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.StateEnum;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.support.Condition;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.page.PageInfo;
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 曲谱表 web 控制层
+ * @author yzp
+ * @date 2022-03-26 00:21:46
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("/music/sheet")
+@Api(tags = "曲谱表 API接口")
+public class MusicSheetController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private MusicSheetService musicSheetService;
+
+
+    /**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入musicTag")
+    public HttpResponseResult<MusicSheetVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id) {
+        return succeed(musicSheetService.detail(id));
+    }
+
+	@ApiOperation(value = "新增", httpMethod="POST", consumes="application/json", produces="application/json")
+    @PostMapping(value="/create", consumes="application/json", produces="application/json")
+    public HttpResponseResult<Object> create(@Valid @RequestBody MusicSheetDto musicSheetDto) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        if (ChargeTypeEnum.CHARGE.getCode().equals(musicSheetDto.getChargeType().getCode())
+                && musicSheetDto.getMusicPrice()==null){
+            return failed("此曲谱为收费曲谱,需要提供价格");
+        }
+
+        musicSheetDto.setUserId(sysUser.getId());
+        List<MusicSheetAccompaniment> list;
+        if (!musicSheetDto.getAudioType().equalsIgnoreCase("midi")){
+            list = musicSheetDto.getBackground();
+            if (CollectionUtils.isEmpty(list)){
+                return failed("mp3音频文件对应的主音或者伴奏文件没有提供");
+            }
+            musicSheetService.saveMp3AndAccompaniment(musicSheetDto,sysUser);
+        } else {
+            MusicSheet musicSheet = new MusicSheet();
+            BeanUtils.copyProperties(musicSheetDto, musicSheet);
+            musicSheet.setAuditStatus(AuditEnum.AUDITING);
+            musicSheet.setCreateBy(sysUser.getId());
+            musicSheet.setCreateTime(new Date());
+            musicSheet.setState(StateEnum.STOP);
+            musicSheetService.save(musicSheet);
+        }
+        return succeed("新增曲谱成功");
+    }
+
+    @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 MusicSheetSearch query) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        // 设置只查老师用户 状态为启用
+        query.setCreateBy(sysUser.getId());
+        query.setState(StateEnum.ENABLE);
+
+        IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(Condition.getPage(query), query);
+        return succeed(Condition.pageInfo(musicSheetVoIPage));
+    }
+
+    @ApiOperation(value = "乐谱分享")
+    @GetMapping(value="/share")
+    public HttpResponseResult<MusicSheetShareVo> shareMusicSheet() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        return succeed(musicSheetService.shareMusicSheet(sysUser));
+    }
+}

+ 40 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicTagController.java

@@ -0,0 +1,40 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.MusicTagSaveDto;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicTagSearch;
+import com.yonge.cooleshow.biz.dal.service.MusicTagService;
+import com.yonge.cooleshow.biz.dal.support.Condition;
+import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.page.PageInfo;
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/MusicTag")
+@Api(value = "音乐标签表", tags = "音乐标签表")
+public class MusicTagController extends BaseController {
+
+    @Autowired
+    private MusicTagService musicTagService;
+
+	/**
+	 * 查询分页tree
+	 */
+	@GetMapping("/tree")
+	@ApiOperation(value = "查询标签树列表", notes = "传入musicTag")
+	public HttpResponseResult<List<MusicTagVo>> tree() {
+		List<MusicTagVo> treeList = musicTagService.selectMusicTagTree();
+		return succeed(treeList);
+	}
+
+}