diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/BackIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/BackIndexController.java index 37e73a3..ff28bf4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/BackIndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/BackIndexController.java @@ -8,12 +8,10 @@ import com.ruoyi.common.core.domain.entity.BannerInfo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.config.AliConfig; import com.ruoyi.system.service.IBannerInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -66,24 +64,9 @@ public class BackIndexController extends BaseController { //@PreAuthorize("@ss.hasPermi('system:info:add')") //@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) @PostMapping("/add") - public AjaxResult add( - @RequestParam("name") String name, - @RequestParam("sort") int sort, - @RequestParam("jumpUrl") String jumpUrl, - @RequestParam("file") MultipartFile file - ) { + public AjaxResult add(@RequestBody BannerInfo bannerInfo) { // 1. 处理文件上传 - if (file != null && !file.isEmpty()) { - // 保存文件逻辑 - // String url = fileService.save(file); - // bannerInfo.setImageUrl(url); - } - // 2. 保存bannerInfo - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setSort(sort); - bannerInfo.setJumpUrl(jumpUrl); - bannerInfo.setName(name); - return toAjax(bannerInfoService.insertBannerInfo(bannerInfo,file)); + return toAjax(bannerInfoService.insertBannerInfo(bannerInfo)); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java index 4cd4530..350e70b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java @@ -84,12 +84,11 @@ public class CategoryInfoController extends BaseController // @PreAuthorize("@ss.hasPermi('system:info:add')") // @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestParam("file") MultipartFile file, - @RequestParam("name") String name) throws IOException { - String imgAddr = AliConfig.ossUp("config/", file.getOriginalFilename(), file.getInputStream()); - CategoryInfo categoryInfo = new CategoryInfo(); - categoryInfo.setBackImg(imgAddr); - categoryInfo.setName(name); + public AjaxResult add(@RequestBody CategoryInfo categoryInfo) throws IOException { +// String imgAddr = AliConfig.ossUp("config/", file.getOriginalFilename(), file.getInputStream()); +// CategoryInfo categoryInfo = new CategoryInfo(); +// categoryInfo.setBackImg(imgAddr); +// categoryInfo.setName(name); return toAjax(categoryInfoService.insertCategoryInfo(categoryInfo)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java index 43ac682..a334314 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java @@ -1,62 +1,103 @@ package com.ruoyi.web.controller.back; +import cn.hutool.core.util.StrUtil; +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.ShopUser; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.MusicUtil; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.config.AliConfig; import com.ruoyi.system.mapper.MusicInfoMapper; import com.ruoyi.system.mapper.ShopUserMapper; -import com.ruoyi.system.service.ShopUserService; +import com.ruoyi.system.mapper.SysUserPostMapper; 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.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @RequestMapping("/file") @RestController -public class FileController { +public class FileController extends BaseController { @Autowired private ShopUserMapper shopUserMapper; @Autowired + private SysUserPostMapper sysUserPostMapper; + @Autowired private MusicInfoMapper musicInfoMapper; /** * 下载OSS文件 */ - @GetMapping("/download/{objectName}") - public void downloadOssFile(@PathVariable String objectName, HttpServletResponse response) { + @GetMapping("/download/{objectName}/{fileName}") + public void downloadOssFile(@RequestParam(value = "musicId",required = false) String musicId, @PathVariable("objectName") String objectName, @PathVariable("fileName") String fileName, HttpServletResponse response) { try { - String ossPath = objectName.split("file/download")[1]; + String ossPath = objectName + "/" + fileName; + // 检查用户登录状态 + // 获取文件字节 if (objectName.equals("musicFile")) { - //TODO:// 获取是否是vip 音乐,检查用户登录状态 - Long userId = SecurityUtils.getUserId(); - ShopUser shopUser = shopUserMapper.selectShopUserByUserId(userId); - MusicInfo musicInfo = musicInfoMapper.selectByPath(objectName); - if (musicInfo.getVip() != null && musicInfo.getVip() == 1) { - // 判断用户vip - if (!MusicUtil.getShopIsVip(shopUser)) { - return; - } - } + LoginUser userInfo = SecurityUtils.getLoginUser(); + SysUser sysUser = userInfo.getUser(); + if (sysUser == null) { + if (StrUtil.isBlank(musicId)) { + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"code\":400,\"msg\":\"音乐ID不能为空\"}"); + return; + } + ShopUser shopUser = userInfo.getShopUser(); + if (shopUser == null) { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"code\":401,\"msg\":\"用户未登录\"}"); + return; + } + //shopUser = shopUserMapper.selectShopUserByUserId(userId); + MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId); + + if (musicInfo == null) { + response.setStatus(HttpServletResponse.SC_NOT_FOUND); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"code\":404,\"msg\":\"音乐信息不存在\"}"); + return; + } + + if (musicInfo.getVip() != null && musicInfo.getVip() == 1) { + // 判断用户vip + if (!MusicUtil.getShopIsVip(shopUser)) { + response.setStatus(HttpServletResponse.SC_FORBIDDEN); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"code\":403,\"msg\":\"该音乐为VIP专享,请升级VIP后下载\"}"); + return; + } + } + } } - String fileName = ossPath.substring(objectName.lastIndexOf("/") + 1); + byte[] data = AliConfig.ossDown(ossPath); + if (data == null || data.length == 0) { + response.setStatus(HttpServletResponse.SC_NOT_FOUND); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"code\":404,\"msg\":\"文件不存在或下载失败\"}"); + return; + } + // 设置响应头,支持中文文件名 response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8")); - assert data != null; response.getOutputStream().write(data); response.getOutputStream().flush(); + } catch (Exception e) { try { + e.printStackTrace(); + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.setContentType("application/json;charset=UTF-8"); - response.getWriter().write("{\"msg\":\"下载失败: " + e.getMessage() + "\"}"); + response.getWriter().write("{\"code\":500,\"msg\":\"下载失败: " + e.getMessage() + "\"}"); } catch (Exception ignored) { } } 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 1acc24b..2f2b164 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,6 +4,7 @@ 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.MusicMaxReq; import com.ruoyi.common.core.domain.entity.MusicScene; import com.ruoyi.common.core.domain.entity.MusicSceneRelate; import com.ruoyi.common.core.page.TableDataInfo; @@ -151,11 +152,21 @@ public class MusicInfoController extends BaseController } @RequestMapping("/add/mixMusic") - public AjaxResult addMixMusicInfo(@RequestBody Map param){ + public AjaxResult addMixMusicInfo(@RequestBody MusicMaxReq param){ MusicInfo newMusic = musicInfoService.addMixMusicInfo(param); if (newMusic != null){ return AjaxResult.success(newMusic); } return AjaxResult.error("混音错误"); } + + // 编辑混音歌曲 + @RequestMapping("/edit/mixMusic") + public AjaxResult editMixMusicInfo(@RequestBody MusicMaxReq param){ + MusicInfo newMusic = musicInfoService.editMixMusicInfo(param); + if (newMusic != null){ + return AjaxResult.success(newMusic); + } + return AjaxResult.error("混音错误"); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java index 70a30c1..239b0e7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java @@ -3,10 +3,12 @@ package com.ruoyi.web.controller.back; 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.RecommendInfo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.IMusicInfoService; import com.ruoyi.system.service.IRecommendInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -27,6 +29,8 @@ public class RecommendInfoController extends BaseController { @Autowired private IRecommendInfoService recommendInfoService; + @Autowired + private IMusicInfoService musicInfoService; /** * 查询推荐列表 @@ -105,4 +109,13 @@ public class RecommendInfoController extends BaseController } return AjaxResult.error(); } + + // 根据推荐获取分类音乐 + @GetMapping("/music/{reId}") + public TableDataInfo geReIdMusic(@PathVariable String reId){ + startPage(); + List list = musicInfoService.selectMusicInfoByReId(reId); + return getDataTable(list); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UploadOSSController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UploadOSSController.java index 710808e..9454431 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UploadOSSController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UploadOSSController.java @@ -15,7 +15,7 @@ import java.io.IOException; @RestController @RequestMapping("/back/upload") -public class UploadOSSController extends BaseController { +public class UploadOSSController extends BaseController { @PostMapping("/music/file") @@ -25,10 +25,10 @@ public class UploadOSSController extends BaseController { // 1. 处理文件上传 if (file != null && !file.isEmpty()) { // 保存文件逻辑 - return AjaxResult.error("文件不能为空"); + return AjaxResult.success("请求成功",AliConfig.ossUp("musicFile/", file.getOriginalFilename(), file.getInputStream())); } - return AjaxResult.success(AliConfig.ossUp("musicFile/" , file.getOriginalFilename(), file.getInputStream())); + return AjaxResult.error("文件不能为空"); } @@ -38,10 +38,10 @@ public class UploadOSSController extends BaseController { ) throws IOException { // 1. 处理文件上传 if (file != null && !file.isEmpty()) { - // 保存文件逻辑 - return AjaxResult.error("文件不能为空"); + return AjaxResult.success("请求成功",AliConfig.ossUp("musicImg/", file.getOriginalFilename(), file.getInputStream())); } - return AjaxResult.success(AliConfig.ossUp("musicImg/" , file.getOriginalFilename(), file.getInputStream())); + // 保存文件逻辑 + return AjaxResult.error("文件不能为空"); } @PostMapping("/config/file") @@ -51,9 +51,9 @@ public class UploadOSSController extends BaseController { // 1. 处理文件上传 if (file != null && !file.isEmpty()) { // 保存文件逻辑 - return AjaxResult.error("文件不能为空"); + return AjaxResult.success("请求成功",AliConfig.ossUp("config/", file.getOriginalFilename(), file.getInputStream())); } - return AjaxResult.success(AliConfig.ossUp("config/" , file.getOriginalFilename(), file.getInputStream())); + return AjaxResult.error("文件不能为空"); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java index 89a17e3..c16bcda 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.CategoryInfo; import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.MusicMaxReq; import com.ruoyi.common.core.domain.entity.MusicScene; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.SecurityUtils; @@ -97,7 +98,7 @@ public class MusicController extends BaseController { // 新增用户混音 @RequestMapping("/add/mixMusic") - public AjaxResult addMixMusicInfo(@RequestBody Map param){ + public AjaxResult addMixMusicInfo(@RequestBody MusicMaxReq param){ MusicInfo newMusic = musicService.addMixMusicInfo(param); if (newMusic != null){ return AjaxResult.success(newMusic); diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 02ae3e5..7f6178c 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -16,7 +16,7 @@ ruoyi: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 8081 servlet: # 应用的访问路径 context-path: / diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java new file mode 100644 index 0000000..86737e5 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java @@ -0,0 +1,17 @@ +package com.ruoyi.common.core.domain.entity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class MusicMaxReq extends MusicInfo{ + + private String sceneIds; + + private String sceneJson; + + private String sourceMusicId; + + +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java index 0ca8b54..189f183 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java @@ -42,6 +42,9 @@ public class RecommendInfo extends BaseEntity @Excel(name = "描述") private String desc; + + private String backImg; + private List musics; public void setId(Long id) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java index fb44b94..203e33b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java @@ -112,8 +112,8 @@ public class LoginUser implements UserDetails public Long getUserId() { - if (userId != null){ - return userId; + if (user != null){ + return user.getUserId(); }else if(shopUser != null){ return shopUser.getUserId(); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java index eb2f2bf..737b010 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java @@ -32,6 +32,7 @@ public class SecurityUtils } catch (Exception e) { + e.printStackTrace(); throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED); } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 6f3d6f2..25597b9 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -78,7 +78,7 @@ public class SecurityConfig /** * 身份验证实现 */ - @Bean + @Bean("authenticationManager") @Primary public AuthenticationManager authenticationManager() { diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index 7c294cf..b9da28f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -42,6 +42,7 @@ public class SysLoginService private TokenService tokenService; @Resource + @Qualifier("authenticationManager") private AuthenticationManager authenticationManager; @Autowired diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CategoryInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CategoryInfoMapper.java index 9490691..78d45e3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CategoryInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CategoryInfoMapper.java @@ -67,4 +67,5 @@ public interface CategoryInfoMapper int bindMusic(@Param("categoryId") String categoryId,@Param("ids") String[] ids); + int deleteCategoryInfoBycategoryId(String categoryId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java index 40f9a2a..13f562f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java @@ -89,4 +89,6 @@ public interface MusicInfoMapper List selectRecommendMusicByReId(String reId); MusicInfo selectByPath(String path); + + List selectMusicInfoByReId(String reId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicSceneRelateMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicSceneRelateMapper.java index c7daf03..0bcf84e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicSceneRelateMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicSceneRelateMapper.java @@ -16,4 +16,6 @@ public interface MusicSceneRelateMapper int insertMusicSceneRelate(MusicSceneRelate musicSceneRelate); MusicSceneRelate selectByMusicId(String musicId); + + int deleteByMusicId(Long musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java index 5f41f29..b7c6f7c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java @@ -66,4 +66,6 @@ public interface RecommendInfoMapper List selectMusicRecommend(); + + int deleteRecommendInfoByReId(String reId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java index 2a6a720..5f7f0d4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; + +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.domain.SysUserPost; /** @@ -41,4 +43,6 @@ public interface SysUserPostMapper * @return 结果 */ public int batchUserPost(List userPostList); + + SysUser selectShopUserByUserId(Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBannerInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBannerInfoService.java index 114aeeb..d996174 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBannerInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBannerInfoService.java @@ -36,7 +36,7 @@ public interface IBannerInfoService * @param bannerInfo 【请填写功能名称】 * @return 结果 */ - public int insertBannerInfo(BannerInfo bannerInfo, MultipartFile file); + public int insertBannerInfo(BannerInfo bannerInfo); /** * 修改【请填写功能名称】 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java index 16fb203..3346de9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service; import com.ruoyi.common.core.domain.entity.CategoryInfo; import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.MusicMaxReq; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -81,5 +82,9 @@ public interface IMusicInfoService MusicInfo getMusicInfo(Long userId, String musicId); - MusicInfo addMixMusicInfo(Map param); + MusicInfo addMixMusicInfo(MusicMaxReq param); + + MusicInfo editMixMusicInfo(MusicMaxReq param); + + List selectMusicInfoByReId(String reId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java index 3e1a9c4..f47147a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java @@ -55,14 +55,7 @@ public class BannerInfoServiceImpl implements IBannerInfoService * @return 结果 */ @Override - public int insertBannerInfo(BannerInfo bannerInfo, MultipartFile file){ - bannerInfo.setCreateTime(DateUtils.getNowDate()); - try { - String addr = AliConfig.ossUp("config/" , file.getOriginalFilename(), file.getInputStream()); - bannerInfo.setBannerAddr(addr); - } catch (IOException e) { - throw new RuntimeException(e); - } + public int insertBannerInfo(BannerInfo bannerInfo){ //上传文件 return bannerInfoMapper.insertBannerInfo(bannerInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CategoryInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CategoryInfoServiceImpl.java index 4633c3e..280021e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CategoryInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CategoryInfoServiceImpl.java @@ -105,6 +105,8 @@ public class CategoryInfoServiceImpl implements ICategoryInfoService @Override public int bindMusic(String categoryId,String[] ids) { + // 先删除再绑定 + categoryInfoMapper.deleteCategoryInfoBycategoryId(categoryId); return categoryInfoMapper.bindMusic(categoryId,ids); } 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 ff25a39..22958a9 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 @@ -202,20 +202,21 @@ public class MusicInfoServiceImpl implements IMusicInfoService } @Override - public MusicInfo addMixMusicInfo(Map param) { + public MusicInfo addMixMusicInfo(MusicMaxReq param) { //TODO: // Long userId = SecurityUtils.getUserId(); Long userId = 10000L; - String musicId = param.get("musicId"); - String sceneIds = param.get("sceneIds"); - String sceneJson = param.get("sceneJson"); + String musicId = String.valueOf(param.getMusicId()); + String sceneIds = param.getSceneIds(); + String sceneJson = param.getSceneJson(); // 新增混音音乐标签 MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId); if (musicInfo != null){ long newMusicId = IdUtil.getSnowflakeNextId(); - musicInfo.setMusicId(newMusicId); - musicInfo.setMusicType(MusicType.MIXING.getMusicType()); - musicInfoMapper.insertMusicInfo(musicInfo); + param.setMusicId(newMusicId); + param.setMusicType(MusicType.MIXING.getMusicType()); + param.setMusicAddr(musicInfo.getMusicAddr()); + musicInfoMapper.insertMusicInfo(param); MusicSceneRelate musicSceneRelate = new MusicSceneRelate(); musicSceneRelate.setMusicId(String.valueOf(newMusicId)); musicSceneRelate.setSceneIds(sceneIds); @@ -228,6 +229,37 @@ public class MusicInfoServiceImpl implements IMusicInfoService return null; } + @Override + public MusicInfo editMixMusicInfo(MusicMaxReq param) { + Long userId = 10000L; + Long musicId = param.getMusicId(); + String sceneIds = param.getSceneIds(); + String sceneJson = param.getSceneJson(); + String sourceMusicId = param.getSourceMusicId(); + // 查询混音音乐 + MusicInfo musicInfo = musicInfoMapper.selectByMusicId(String.valueOf(musicId)); + if (musicInfo != null){ + // 先删除在新增 + relateMapper.deleteByMusicId(musicId); + //musicSceneMapper.selectMusicSceneById() + MusicSceneRelate musicSceneRelate = new MusicSceneRelate(); + musicInfoMapper.updateMusicInfo(param); + musicSceneRelate.setMusicId(String.valueOf(musicId)); + musicSceneRelate.setSceneIds(sceneIds); + musicSceneRelate.setUserId(userId); + musicSceneRelate.setSceneInfo(sceneJson); + musicSceneRelate.setSourceMusicId(sourceMusicId); + relateMapper.insertMusicSceneRelate(musicSceneRelate); + return musicInfo; + } + return null; + } + + @Override + public List selectMusicInfoByReId(String reId) { + return musicInfoMapper.selectMusicInfoByReId(reId); + } + //TODO: 待完善 public Map getMixMusicInfo(String musicId){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java index 0320a5e..245026e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java @@ -110,6 +110,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService @Override public int bindMusic(String reId, String[] musicIds) { + recommendInfoMapper.deleteRecommendInfoByReId(reId); return recommendInfoMapper.bindMusic(reId,musicIds); } diff --git a/ruoyi-system/src/main/resources/mapper/system/BannerInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BannerInfoMapper.xml index 7d16ca9..2292b78 100644 --- a/ruoyi-system/src/main/resources/mapper/system/BannerInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/BannerInfoMapper.xml @@ -23,6 +23,7 @@ and sort = #{sort} and jump_url = #{jumpUrl} + order by id desc where music_addr=#{path} and is_del=0 + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml index 7c6b626..35dfad4 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicSceneRelateMapper.xml @@ -24,4 +24,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + delete from music_scene_relate where music_id=#{musicId} + diff --git a/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml index 2a5d37d..73d99ec 100644 --- a/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml @@ -13,10 +13,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, name, creator, modify, create_time, update_time, is_del, `desc` from recommend_info + select id, name, creator, modify, create_time, update_time, is_del,back_img, `desc` from recommend_info SELECT ri.* FROM music_recommend mr LEFT JOIN recommend_info ri on mr.recommend_id = ri.id and ri.is_del=0 + + + DELETE FROM music_recommend where recommend_id=#{reId} + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml index 2b90bc4..80288f6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml @@ -30,5 +30,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" (#{item.userId},#{item.postId}) - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml index 52971df..95675d6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml @@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and name like concat('%', #{name}, '%') + order by id desc