|
@@ -0,0 +1,115 @@
|
|
|
+package com.yonge.cooleshow.website.controller.open;
|
|
|
+
|
|
|
+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.MusicAlbumSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
|
|
|
+import com.yonge.cooleshow.biz.dal.support.PageUtil;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.AlbumAndSheetVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetWebsiteDetailVo;
|
|
|
+import com.yonge.cooleshow.common.controller.BaseController;
|
|
|
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
+import com.yonge.toolset.base.page.PageInfo;
|
|
|
+import com.yonge.toolset.base.page.QueryInfo;
|
|
|
+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.web.bind.annotation.*;
|
|
|
+
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 曲谱表 web 控制层
|
|
|
+ * @author yzp
|
|
|
+ * @date 2022-03-26 00:21:46
|
|
|
+ * @version v1.0
|
|
|
+ **/
|
|
|
+@RestController
|
|
|
+@RequestMapping("/open/music/sheet")
|
|
|
+@Api(tags = "开放曲谱接口")
|
|
|
+public class OpenMusicSheetController extends BaseController {
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MusicSheetService musicSheetService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MusicAlbumService musicAlbumService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询单条
|
|
|
+ */
|
|
|
+ @GetMapping("/detail/{id}")
|
|
|
+ @ApiOperation(value = "曲目详情", notes = "传入musicTag")
|
|
|
+ public HttpResponseResult<MusicSheetWebsiteDetailVo> detail(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ MusicSheetWebsiteDetailVo detail = musicSheetService.websiteDetail(id,sysUser);
|
|
|
+
|
|
|
+ return succeed(detail);
|
|
|
+ }
|
|
|
+
|
|
|
+ @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();
|
|
|
+
|
|
|
+ // 检查app版本
|
|
|
+ query.setAuditVersion(YesOrNoEnum.NO);
|
|
|
+
|
|
|
+
|
|
|
+ // 学生 只能看通过审核 并且 启用的 曲目
|
|
|
+ query.setState(YesOrNoEnum.YES);
|
|
|
+ query.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ if (sysUser != null) {
|
|
|
+ query.setStudentId(sysUser.getId());
|
|
|
+ }
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectStudentPage(PageUtil.getPage(query), query);
|
|
|
+ return succeed(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "乐谱(专辑和曲目同时查询)分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
|
|
|
+ @PostMapping(value="/albumAndSheetList", consumes="application/json", produces="application/json")
|
|
|
+ public HttpResponseResult<AlbumAndSheetVo> albumAndSheetList(@RequestBody StudentMusicSheetSearch query) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+
|
|
|
+ // 学生 只能看通过审核 并且 启用的 曲目
|
|
|
+ query.setState(YesOrNoEnum.YES);
|
|
|
+ query.setAuditVersion(YesOrNoEnum.NO);
|
|
|
+ query.setAuditStatus(AuthStatusEnum.PASS);
|
|
|
+ if (sysUser != null) {
|
|
|
+ query.setStudentId(sysUser.getId());
|
|
|
+ }
|
|
|
+ query.setRows(query.getSheetRow());
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectStudentPage(PageUtil.getPage(query), query);
|
|
|
+
|
|
|
+ MusicAlbumSearch musicAlbumSearch = new MusicAlbumSearch();
|
|
|
+ musicAlbumSearch.setAlbumStatus(YesOrNoEnum.YES);
|
|
|
+ musicAlbumSearch.setSortBy(1);
|
|
|
+ musicAlbumSearch.setIdAndName(query.getIdAndName());
|
|
|
+ musicAlbumSearch.setAuditVersion(YesOrNoEnum.NO);
|
|
|
+ musicAlbumSearch.setAlbumTagIds(query.getMusicTagIds());
|
|
|
+ musicAlbumSearch.setPage(query.getPage());
|
|
|
+ musicAlbumSearch.setRows(query.getAlbumRow());
|
|
|
+ IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(musicAlbumSearch), musicAlbumSearch);
|
|
|
+
|
|
|
+ AlbumAndSheetVo albumAndSheetVo = new AlbumAndSheetVo();
|
|
|
+ albumAndSheetVo.setMusicSheetList(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
+ albumAndSheetVo.setMusicAlbumList(PageUtil.pageInfo(musicAlbumVoIPage));
|
|
|
+ return succeed(albumAndSheetVo);
|
|
|
+ }
|
|
|
+}
|