|
@@ -0,0 +1,401 @@
|
|
|
+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.AppMusicSheetVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.MusicSheetRenderDto;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetRelatedQueryInfo;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MusicSortType;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
|
|
|
+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.enums.EStatus;
|
|
|
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
|
|
|
+import com.yonge.toolset.base.page.PageInfo;
|
|
|
+import com.yonge.toolset.base.page.QueryInfo;
|
|
|
+import com.yonge.toolset.base.util.StringUtil;
|
|
|
+import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PathVariable;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Optional;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 曲谱表 web 控制层
|
|
|
+ * @author yzp
|
|
|
+ * @date 2022-03-26 00:21:46
|
|
|
+ * @version v1.0
|
|
|
+ **/
|
|
|
+@RestController
|
|
|
+@RequestMapping("${app-config.url.teacher:}/music/sheet")
|
|
|
+@Api(tags = "曲谱表 API接口")
|
|
|
+public class MusicSheetController extends BaseController {
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MusicSheetService musicSheetService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AppVersionInfoService appVersionInfoService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TeacherService teacherService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询单条
|
|
|
+ */
|
|
|
+ @GetMapping("/detail/{id}")
|
|
|
+ @ApiOperation(value = "详情", notes = "传入musicTag")
|
|
|
+ public HttpResponseResult<MusicSheetDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ MusicSheetDetailVo detail = musicSheetService.detail(id, sysUser, ClientEnum.TEACHER);
|
|
|
+
|
|
|
+ // 设置返回默认值
|
|
|
+ if (StringUtil.isEmpty(detail.getAudioFileUrl())) {
|
|
|
+ detail.setAudioFileUrl("");
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(detail.getMusicImg())) {
|
|
|
+ detail.setMusicImg("");
|
|
|
+ }
|
|
|
+ return succeed(detail);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "修改", httpMethod="POST", consumes="application/json", produces="application/json")
|
|
|
+ @PostMapping(value="/updateRenderFile", consumes="application/json", produces="application/json")
|
|
|
+ public HttpResponseResult<Object> updateRenderFile(@Valid @RequestBody MusicSheetRenderDto musicSheetRenderDto) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ if (musicSheetRenderDto.getMusicSheetId()==null){
|
|
|
+ return failed("缺少ID");
|
|
|
+ }
|
|
|
+ MusicSheet musicSheet = musicSheetService.getById(musicSheetRenderDto.getMusicSheetId());
|
|
|
+
|
|
|
+ if(musicSheet == null){
|
|
|
+ return failed("参数异常");
|
|
|
+ }
|
|
|
+ musicSheet.setMusicFirstSvg(musicSheetRenderDto.getMusicFirstSvg());
|
|
|
+ musicSheet.setMusicJianSvg(musicSheetRenderDto.getMusicJianSvg());
|
|
|
+ musicSheet.setMusicJSON(musicSheetRenderDto.getMusicJSON());
|
|
|
+ musicSheet.setMusicSvg(musicSheetRenderDto.getMusicSvg());
|
|
|
+
|
|
|
+ musicSheet.setUpdateBy(sysUser.getId());
|
|
|
+ musicSheet.setUpdateTime(new Date());
|
|
|
+ if ( musicSheetService.updateById(musicSheet)){
|
|
|
+ return succeed("修改成功");
|
|
|
+ } else {
|
|
|
+ return failed("修改失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @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 || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ChargeTypeEnum.CHARGE.getCode().equals(musicSheetDto.getChargeType().getCode())
|
|
|
+ && musicSheetDto.getMusicPrice()==null){
|
|
|
+ return failed("此曲谱为收费曲谱,需要提供价格");
|
|
|
+ }
|
|
|
+ if (musicSheetDto.getNotation() == null) {
|
|
|
+ musicSheetDto.setNotation(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+
|
|
|
+ musicSheetDto.setUserId(sysUser.getId());
|
|
|
+ musicSheetDto.setAuditStatus(AuthStatusEnum.DOING);
|
|
|
+ musicSheetDto.setSubmitAuditTime(new Date());
|
|
|
+ musicSheetDto.setSourceType(SourceTypeEnum.TEACHER);
|
|
|
+
|
|
|
+ musicSheetDto.setFavoriteCount(0);
|
|
|
+ musicSheetDto.setCreateBy(sysUser.getId());
|
|
|
+ musicSheetDto.setCreateTime(new Date());
|
|
|
+ musicSheetService.saveMusicSheet(musicSheetDto,sysUser.getId());
|
|
|
+ return succeed("新增曲谱成功");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "修改", httpMethod="POST", consumes="application/json", produces="application/json")
|
|
|
+ @PostMapping(value="/update", consumes="application/json", produces="application/json")
|
|
|
+ public HttpResponseResult<Object> update(@Valid @RequestBody MusicSheetDto musicSheet) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ if (musicSheet.getId()==null){
|
|
|
+ return failed("缺少ID");
|
|
|
+ }
|
|
|
+ if (musicSheet.getNotation() == null) {
|
|
|
+ musicSheet.setNotation(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ musicSheet.setUserId(sysUser.getId());
|
|
|
+ musicSheet.setSubmitAuditTime(new Date());
|
|
|
+ musicSheet.setCreateTime(new Date());
|
|
|
+ musicSheet.setCreateBy(sysUser.getId());
|
|
|
+ musicSheet.setUpdateBy(sysUser.getId());
|
|
|
+ musicSheet.setUpdateTime(new Date());
|
|
|
+ musicSheet.setSubmitAuditTime(new Date());
|
|
|
+ musicSheet.setAuditStatus(AuthStatusEnum.DOING);
|
|
|
+ if ( musicSheetService.saveMusicSheet(musicSheet,sysUser.getId())){
|
|
|
+ return succeed("修改成功");
|
|
|
+ } else {
|
|
|
+ return failed("修改失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @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) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 老师课查看所有曲目
|
|
|
+ if (query.getMyself() == null || query.getMyself()) {
|
|
|
+ // 设置只查老师用户 状态为启用
|
|
|
+ query.setCreateBy(sysUser.getId());
|
|
|
+ if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
|
|
|
+ query.setState(YesOrNoEnum.YES);
|
|
|
+ } else if (query.getAuditStatus() != null && AuthStatusEnum.OUT_SALE.getCode().equals(query.getAuditStatus().getCode())) {
|
|
|
+ query.setState(YesOrNoEnum.NO);
|
|
|
+ query.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ }
|
|
|
+ query.setSourceType(SourceTypeEnum.TEACHER);
|
|
|
+ query.setMyself(true);
|
|
|
+ } else {
|
|
|
+ Teacher teacher = teacherService.getById(sysUser.getId());
|
|
|
+ if (teacher == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(query.getSubjectIds())){
|
|
|
+ query.setSubjectIds(teacher.getSubjectId());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检查app版本
|
|
|
+ query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
|
|
|
+
|
|
|
+ // 只能看通过审核 并且 启用的 曲目
|
|
|
+ query.setState(YesOrNoEnum.YES);
|
|
|
+ query.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ query.setStudentId(sysUser.getId());
|
|
|
+ query.setMyself(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER);
|
|
|
+ return succeed(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 启用/停用
|
|
|
+ */
|
|
|
+ @PostMapping("/state/{id}")
|
|
|
+ @ApiOperation(value = "启用/停用", notes = "传入id")
|
|
|
+ public HttpResponseResult<Boolean> state(@ApiParam(value = "曲目编号", required = true) @PathVariable Long id) {
|
|
|
+ if (StringUtil.isEmpty(id)) {
|
|
|
+ return failed("参数不能为空");
|
|
|
+ }
|
|
|
+ MusicSheet musicSheet = musicSheetService.getById(id);
|
|
|
+ if (musicSheet == null) {
|
|
|
+ return failed("未找到曲目");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (musicSheet.getState().equals(YesOrNoEnum.NO)) {
|
|
|
+ return failed("曲目已被下架");
|
|
|
+ }
|
|
|
+ return status(musicSheetService.state(id, "", ClientEnum.TEACHER));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 曲目收藏
|
|
|
+ */
|
|
|
+ @PostMapping("/favorite/{id}")
|
|
|
+ @ApiOperation(value = "曲目收藏/取消收藏")
|
|
|
+ public HttpResponseResult<Boolean> favorite(@ApiParam(value = "曲目编号", required = true) @PathVariable("id") Long id,
|
|
|
+ @ApiParam(value = "客户端类型") @RequestParam(value = "clientType", required = false, defaultValue = "TEACHER") String clientType) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ClientEnum.invalid(clientType)) {
|
|
|
+ return failed("无效的客户端类型");
|
|
|
+ }
|
|
|
+
|
|
|
+ return succeed(musicSheetService.setFavorite(sysUser.getId(),id, ClientEnum.valueOf(clientType)));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 我的单曲
|
|
|
+ */
|
|
|
+ @PostMapping("/my")
|
|
|
+ @ApiOperation(value = "我的单曲")
|
|
|
+ public HttpResponseResult<PageInfo<MusicSheetVo>> myMusic(@RequestBody StudentMusicSheetSearch search) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ search.setStudentId(sysUser.getId());
|
|
|
+ // search.setState(YesOrNoEnum.YES);
|
|
|
+ search.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ search.setUserType(ClientEnum.TEACHER);
|
|
|
+ search.setPurchaseType(PurchaseRecordTypeEnum.MUSIC);
|
|
|
+ search.setCourseGift(Optional.ofNullable(search.getCourseGift()).orElse(EStatus.DISABLE.getValue()));
|
|
|
+
|
|
|
+ IPage<MusicSheetVo> sheetVoIPage = musicSheetService.myMusic(PageUtil.getPage(search),search);
|
|
|
+ return succeed(PageUtil.pageInfo(sheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 收藏单曲
|
|
|
+ */
|
|
|
+ @GetMapping("/favorite")
|
|
|
+ @ApiOperation(value = "收藏单曲")
|
|
|
+ public HttpResponseResult<PageInfo<MusicSheetVo>> favoriteMusic(QueryInfo query) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ StudentMusicSheetSearch search = new StudentMusicSheetSearch();
|
|
|
+ search.setStudentId(sysUser.getId());
|
|
|
+ search.setState(YesOrNoEnum.YES);
|
|
|
+ search.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ IPage<MusicSheetVo> sheetVoIPage = musicSheetService.favoriteMusic(PageUtil.getPage(query),search, ClientEnum.TEACHER);
|
|
|
+ return succeed(PageUtil.pageInfo(sheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "乐谱分享")
|
|
|
+ @GetMapping(value="/share")
|
|
|
+ public HttpResponseResult<MusicSheetShareVo> shareMusicSheet() {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ return succeed(musicSheetService.shareMusicSheet(sysUser));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "我的乐谱数量")
|
|
|
+ @GetMapping(value="/count")
|
|
|
+ public HttpResponseResult<Integer> countTeacherMusicSheet() {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ return succeed(musicSheetService.countTeacherMusicSheet(sysUser));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "关联的曲目列表")
|
|
|
+ @GetMapping(value="/queryRelatedList")
|
|
|
+ public HttpResponseResult<PageInfo<MusicSheetVo>> queryRelatedList(MusicSheetRelatedQueryInfo queryInfo) {
|
|
|
+
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.queryRelatedList(PageUtil.getPage(queryInfo),queryInfo.getAlbumId(), queryInfo.getMusicSheetId());
|
|
|
+ return succeed(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "app首页曲目数据", httpMethod="POST", consumes="application/json", produces="application/json")
|
|
|
+ @PostMapping(value="/appMusicSheet", consumes="application/json", produces="application/json")
|
|
|
+ public HttpResponseResult<AppMusicSheetVo> appMusicSheet(@RequestBody StudentMusicSheetSearch query) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ Teacher teacher = teacherService.getById(sysUser.getId());
|
|
|
+ if (teacher == null) {
|
|
|
+ return failed("用户信息获取失败");
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(query.getSubjectIds())){
|
|
|
+ query.setSubjectIds(teacher.getSubjectId());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检查app版本
|
|
|
+ query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
|
|
|
+
|
|
|
+ // 只能看通过审核 并且 启用的 曲目
|
|
|
+ query.setState(YesOrNoEnum.YES);
|
|
|
+ query.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ query.setStudentId(sysUser.getId());
|
|
|
+ query.setMyself(false);
|
|
|
+ query.setRows(20);
|
|
|
+
|
|
|
+ AppMusicSheetVo appMusicSheetVo = new AppMusicSheetVo();
|
|
|
+ // 推荐曲目
|
|
|
+ query.setMusicSortType(MusicSortType.TOP);
|
|
|
+ appMusicSheetVo.setTopMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER).getRecords());
|
|
|
+
|
|
|
+ // 审核版本只返回一列
|
|
|
+ if (query.getAuditVersion().equals(YesOrNoEnum.YES)) {
|
|
|
+ appMusicSheetVo.setHotMusicSheet(new ArrayList<>());
|
|
|
+ appMusicSheetVo.setNewMusicSheet(new ArrayList<>());
|
|
|
+ } else {
|
|
|
+ // 最热曲目
|
|
|
+ query.setMusicSortType(MusicSortType.HOT);
|
|
|
+ appMusicSheetVo.setHotMusicSheet(
|
|
|
+ musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
|
|
|
+
|
|
|
+ // 最新曲目
|
|
|
+ query.setMusicSortType(MusicSortType.NEW);
|
|
|
+ appMusicSheetVo.setNewMusicSheet(
|
|
|
+ musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
|
|
|
+ }
|
|
|
+ return succeed(appMusicSheetVo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 最近练习
|
|
|
+ */
|
|
|
+ @GetMapping("/user/practice")
|
|
|
+ @ApiOperation(value = "老师查看学生最近练习")
|
|
|
+ public HttpResponseResult<PageInfo<MusicSheetVo>> practiceMusic(@RequestParam Long userId) {
|
|
|
+
|
|
|
+ if (userId == null) {
|
|
|
+ return failed("用户信息不存在");
|
|
|
+ }
|
|
|
+ StudentMusicSheetSearch search = new StudentMusicSheetSearch();
|
|
|
+ search.setStudentId(userId);
|
|
|
+ search.setState(YesOrNoEnum.YES);
|
|
|
+ search.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ search.setRows(3);
|
|
|
+ IPage<MusicSheetVo> sheetVoIPage = musicSheetService.practiceMusic(PageUtil.getPage(search),search);
|
|
|
+ return succeed(PageUtil.pageInfo(sheetVoIPage));
|
|
|
+ }
|
|
|
+}
|