From 75069d565344923383d62bf65b5dae21d6912fde Mon Sep 17 00:00:00 2001 From: menxipeng Date: Fri, 1 Aug 2025 17:35:08 +0800 Subject: [PATCH] =?UTF-8?q?p=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/back/MusicInfoController.java | 37 +- .../service/impl/MusicInfoServiceImpl.java | 21 +- .../mapper/system/MusicSceneRelateMapper.xml | 8 +- ruoyi-ui/src/api/playlist/normal.js | 13 +- ruoyi-ui/src/api/playlist/remix.js | 4 +- ruoyi-ui/src/views/playlist/normal/index.vue | 85 +++- ruoyi-ui/src/views/playlist/remix/index.vue | 373 +++++++++--------- ruoyi-ui/vue.config.js | 2 +- 8 files changed, 333 insertions(+), 210 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicInfoController.java index c4056c3..1acc24b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicInfoController.java @@ -4,9 +4,14 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.MusicScene; +import com.ruoyi.common.core.domain.entity.MusicSceneRelate; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.MusicType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.mapper.MusicSceneMapper; +import com.ruoyi.system.mapper.MusicSceneRelateMapper; import com.ruoyi.system.service.IMusicInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -14,10 +19,11 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * 音乐信息Controller - * + * * @author ruoyi * @date 2025-07-15 */ @@ -27,6 +33,10 @@ public class MusicInfoController extends BaseController { @Autowired private IMusicInfoService musicInfoService; + @Autowired + private MusicSceneRelateMapper relateMapper; + @Autowired + private MusicSceneMapper musicSceneMapper; /** * 查询音乐信息列表 @@ -37,6 +47,22 @@ public class MusicInfoController extends BaseController { startPage(); List list = musicInfoService.selectMusicInfoList(musicInfo); + // 如果是混音查询混音的信息 + if (musicInfo.getMusicType() != null && musicInfo.getMusicType().equals(MusicType.MIXING.getMusicType())){ + for (MusicInfo info : list) { + // 查询混音相关信息 + MusicSceneRelate relateInfo = relateMapper.selectByMusicId(String.valueOf(info.getMusicId())); + if (relateInfo != null) { + String sceneIds = relateInfo.getSceneIds(); + String[] sceneArray = sceneIds.split(","); + List musicScenes = musicSceneMapper.selectMusicSceneBySceneIds(sceneArray); + relateInfo.setMusicScenes(musicScenes); + info.setMusicScene(relateInfo); + } + } + //list = musicInfoService.findMusicByCate(musicInfo); + } + return getDataTable(list); } @@ -123,4 +149,13 @@ public class MusicInfoController extends BaseController public AjaxResult add(@RequestBody MusicInfo musicInfo) { return toAjax(musicInfoService.insertMusicInfo(musicInfo)); } + + @RequestMapping("/add/mixMusic") + public AjaxResult addMixMusicInfo(@RequestBody Map param){ + MusicInfo newMusic = musicInfoService.addMixMusicInfo(param); + if (newMusic != null){ + return AjaxResult.success(newMusic); + } + return AjaxResult.error("混音错误"); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java index 2f08754..ff25a39 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java @@ -21,12 +21,12 @@ import java.util.Map; /** * 音乐信息Service业务层处理 - * + * * @author ruoyi * @date 2025-07-15 */ @Service -public class MusicInfoServiceImpl implements IMusicInfoService +public class MusicInfoServiceImpl implements IMusicInfoService { @Autowired private MusicInfoMapper musicInfoMapper; @@ -45,7 +45,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 查询音乐信息 - * + * * @param id 音乐信息主键 * @return 音乐信息 */ @@ -57,7 +57,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 查询音乐信息列表 - * + * * @param musicInfo 音乐信息 * @return 音乐信息 */ @@ -69,7 +69,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 新增音乐信息 - * + * * @param musicInfo 音乐信息 * @return 结果 */ @@ -87,7 +87,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 修改音乐信息 - * + * * @param musicInfo 音乐信息 * @return 结果 */ @@ -100,7 +100,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 批量删除音乐信息 - * + * * @param ids 需要删除的音乐信息主键 * @return 结果 */ @@ -112,7 +112,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 删除音乐信息信息 - * + * * @param id 音乐信息主键 * @return 结果 */ @@ -203,7 +203,9 @@ public class MusicInfoServiceImpl implements IMusicInfoService @Override public MusicInfo addMixMusicInfo(Map param) { - Long userId = SecurityUtils.getUserId(); + //TODO: + // Long userId = SecurityUtils.getUserId(); + Long userId = 10000L; String musicId = param.get("musicId"); String sceneIds = param.get("sceneIds"); String sceneJson = param.get("sceneJson"); @@ -220,6 +222,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService musicSceneRelate.setUserId(userId); musicSceneRelate.setSceneInfo(sceneJson); musicSceneRelate.setSourceMusicId(musicId); + relateMapper.insertMusicSceneRelate(musicSceneRelate); return musicInfo; } return null; diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml index a61e38a..7c6b626 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" INSERT INTO music_scene_relate(music_id, scene_ids, user_id, scene_info,source_music_id) VALUE (#{musicId},#{sceneIds},#{userId},#{sceneInfo},#{sourceMusicId}) - + select * from music_scene_relate where music_id = #{musicId} - \ No newline at end of file + diff --git a/ruoyi-ui/src/api/playlist/normal.js b/ruoyi-ui/src/api/playlist/normal.js index b567f1d..3436575 100644 --- a/ruoyi-ui/src/api/playlist/normal.js +++ b/ruoyi-ui/src/api/playlist/normal.js @@ -12,7 +12,10 @@ export function listNormalSong(query) { // 查询普通歌曲详细 export function getNormalSong(id) { return request({ - url: '/back/normal/' + id, + url: '/back/music/list/', + params: { + musicId: id + }, method: 'get' }) } @@ -20,7 +23,7 @@ export function getNormalSong(id) { // 新增普通歌曲 export function addNormalSong(data) { return request({ - url: '/back/normal/add', + url: '/back/music/addMusic', method: 'post', data: data }) @@ -29,8 +32,8 @@ export function addNormalSong(data) { // 修改普通歌曲 export function updateNormalSong(data) { return request({ - url: '/back/normal/update', - method: 'post', + url: '/back/music/', + method: 'put', data: data }) } @@ -38,7 +41,7 @@ export function updateNormalSong(data) { // 删除普通歌曲 export function delNormalSong(id) { return request({ - url: '/back/normal/' + id, + url: '/back/music/' + id, method: 'delete' }) } diff --git a/ruoyi-ui/src/api/playlist/remix.js b/ruoyi-ui/src/api/playlist/remix.js index ec349b2..bf726e7 100644 --- a/ruoyi-ui/src/api/playlist/remix.js +++ b/ruoyi-ui/src/api/playlist/remix.js @@ -36,7 +36,7 @@ export function addRemixSong(data) { formData.append('status', data.status) formData.append('selectedSongs', JSON.stringify(data.selectedSongs)) return request({ - url: '/back/remix/add', + url: '/back/music/add/mixMusic', method: 'post', data: formData, headers: { @@ -69,7 +69,7 @@ export function updateRemixSong(data) { // 删除混音歌曲 export function delRemixSong(id) { return request({ - url: '/back/remix/' + id, + url: '/back/music/' + id, method: 'delete' }) } diff --git a/ruoyi-ui/src/views/playlist/normal/index.vue b/ruoyi-ui/src/views/playlist/normal/index.vue index 13d1abc..d3b2344 100644 --- a/ruoyi-ui/src/views/playlist/normal/index.vue +++ b/ruoyi-ui/src/views/playlist/normal/index.vue @@ -154,21 +154,34 @@ - + + + + - - @@ -183,6 +196,7 @@