完善c端接口

This commit is contained in:
menxipeng
2025-07-19 14:20:38 +08:00
parent 40f49732a6
commit 028ccf4408
34 changed files with 1278 additions and 126 deletions

View File

@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.client;
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.MusicCollect;
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.IMusicCollectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 【请填写功能名称】Controller
*
* @author ruoyi
* @date 2025-07-18
*/
@RestController
@RequestMapping("/system/collect")
public class MusicCollectController extends BaseController
{
@Autowired
private IMusicCollectService musicCollectService;
/**
* 查询【请填写功能名称】列表
*/
@PreAuthorize("@ss.hasPermi('system:collect:list')")
@GetMapping("/list")
public TableDataInfo list(MusicCollect musicCollect)
{
startPage();
List<MusicCollect> list = musicCollectService.selectMusicCollectList(musicCollect);
return getDataTable(list);
}
/**
* 导出【请填写功能名称】列表
*/
@PreAuthorize("@ss.hasPermi('system:collect:export')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MusicCollect musicCollect)
{
List<MusicCollect> list = musicCollectService.selectMusicCollectList(musicCollect);
ExcelUtil<MusicCollect> util = new ExcelUtil<MusicCollect>(MusicCollect.class);
util.exportExcel(response, list, "【请填写功能名称】数据");
}
/**
* 获取【请填写功能名称】详细信息
*/
@PreAuthorize("@ss.hasPermi('system:collect:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
return success(musicCollectService.selectMusicCollectById(id));
}
/**
* 新增【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:collect:add')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MusicCollect musicCollect)
{
return toAjax(musicCollectService.insertMusicCollect(musicCollect));
}
/**
* 修改【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:collect:edit')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MusicCollect musicCollect)
{
return toAjax(musicCollectService.updateMusicCollect(musicCollect));
}
/**
* 删除【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:collect:remove')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
return toAjax(musicCollectService.deleteMusicCollectByIds(ids));
}
}

View File

@@ -1,16 +1,24 @@
package com.ruoyi.web.controller.client;
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.page.TableDataInfo;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.IMusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RequestMapping("/client/music")
@RestController
public class MusicController {
public class MusicController extends BaseController {
@Autowired
private IMusicInfoService musicService;
@@ -21,4 +29,56 @@ public class MusicController {
musicService.findMusicByCate(categoryInfo);
}
// 创建歌单
@RequestMapping("/collect/music/{collectId}")
public TableDataInfo createPlaylist(@PathVariable String collectId){
startPage();
List<MusicInfo> list = musicService.findMusicByCollectId(collectId);
//musicService.createPlaylist();
return getDataTable(list);
}
// 添加我喜欢的音乐
@RequestMapping("/like/music/{musicId}")
public AjaxResult addLikeMusic(@PathVariable String musicId){
musicService.addLikeMusic(musicId);
return AjaxResult.success();
}
// 获取我喜欢的音乐
@RequestMapping("/like/music")
public TableDataInfo likeMusic(){
startPage();
Long userId = SecurityUtils.getUserId();
List<MusicInfo> list = musicService.findLikeMusicByUser(userId);
//musicService.createPlaylist();
return getDataTable(list);
}
// 删除我喜欢的音乐 cancel/like
@RequestMapping("/cancel/like/{musicId}")
public AjaxResult cancelLikeMusic(@PathVariable String musicId){
musicService.cancelLikeMusic(musicId);
return AjaxResult.success();
}
// // 新增历史
// @RequestMapping("/history/add/{musicId}")
// public AjaxResult addHistory(@PathVariable String musicId){
// musicService.addHistoryMusic(musicId);
// return AjaxResult.success();
// }
// 查询历史
@RequestMapping("/history/music")
public TableDataInfo historyMusic(){
startPage();
Long userId = SecurityUtils.getUserId();
List<MusicInfo> list = musicService.findHistoryMusicByUser(userId);
//musicService.createPlaylist();
return getDataTable(list);
}
}

View File

@@ -0,0 +1,96 @@
package com.ruoyi.web.controller.client;
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.ShareInfo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.IShareInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 【请填写功能名称】Controller
*
* @author ruoyi
* @date 2025-07-19
*/
@RestController
@RequestMapping("/client/share")
public class ShareInfoController extends BaseController
{
@Autowired
private IShareInfoService shareInfoService;
/**
* 查询【请填写功能名称】列表
*/
@GetMapping("/list")
public TableDataInfo list(ShareInfo shareInfo)
{
startPage();
List<ShareInfo> list = shareInfoService.findShareInfoListPage(shareInfo);
return getDataTable(list);
}
/**
* 导出【请填写功能名称】列表
*/
@PostMapping("/export")
public void export(HttpServletResponse response, ShareInfo shareInfo)
{
List<ShareInfo> list = shareInfoService.selectShareInfoList(shareInfo);
ExcelUtil<ShareInfo> util = new ExcelUtil<ShareInfo>(ShareInfo.class);
util.exportExcel(response, list, "【请填写功能名称】数据");
}
/**
* 获取【请填写功能名称】详细信息
*/
@PreAuthorize("@ss.hasPermi('system:info:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
return success(shareInfoService.selectShareInfoById(id));
}
/**
* 新增【请填写功能名称】
*/
@PostMapping("/add")
public AjaxResult add(@RequestBody ShareInfo shareInfo)
{
Long userId = SecurityUtils.getUserId();
shareInfo.setUserId(userId);
return toAjax(shareInfoService.insertShareInfo(shareInfo));
}
/**
* 修改【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:info:edit')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ShareInfo shareInfo)
{
return toAjax(shareInfoService.updateShareInfo(shareInfo));
}
/**
* 删除【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:info:remove')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
return toAjax(shareInfoService.deleteShareInfoByIds(ids));
}
}

View File

@@ -1,16 +1,20 @@
package com.ruoyi.web.controller.back;
package com.ruoyi.web.controller.client;
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.MusicCollect;
import com.ruoyi.common.core.domain.entity.UserCollect;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.IMusicCollectService;
import com.ruoyi.system.service.IUserCollectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import oshi.util.platform.mac.SysctlUtil;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -22,20 +26,23 @@ import java.util.List;
* @date 2025-07-15
*/
@RestController
@RequestMapping("/back/collect")
@RequestMapping("/client/collect")
public class UserCollectController extends BaseController
{
@Autowired
private IUserCollectService userCollectService;
@Autowired
private IMusicCollectService musicCollectService;
/**
* 查询用户收藏音乐列表
*/
@PreAuthorize("@ss.hasPermi('system:collect:list')")
@GetMapping("/list")
public TableDataInfo list(UserCollect userCollect)
{
startPage();
Long userId = SecurityUtils.getUserId();
userCollect.setUserId(userId);
List<UserCollect> list = userCollectService.selectUserCollectList(userCollect);
return getDataTable(list);
}
@@ -66,14 +73,49 @@ public class UserCollectController extends BaseController
/**
* 新增用户收藏音乐
*/
@PreAuthorize("@ss.hasPermi('system:collect:add')")
@Log(title = "用户收藏音乐", businessType = BusinessType.INSERT)
@PostMapping
@PostMapping("/create")
public AjaxResult add(@RequestBody UserCollect userCollect)
{
return toAjax(userCollectService.insertUserCollect(userCollect));
userCollectService.insertUserCollect(userCollect);
return AjaxResult.success();
}
/**
* 新增用户收藏音乐
*/
@PostMapping("/bind")
public AjaxResult bind(@RequestBody MusicCollect musicCollect)
{
musicCollectService.insertMusicCollect(musicCollect);
return AjaxResult.success();
}
/**
* 删除歌单
*/
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
int del = userCollectService.deleteUserCollectByIds(ids);
return AjaxResult.success();
}
/**
* 取消收藏歌单
*/
@PostMapping("/cancel/bind")
public AjaxResult cancel(@RequestBody MusicCollect musicCollect)
{
userCollectService.cancelBindMusic(musicCollect);
return AjaxResult.success();
}
/**
* 修改用户收藏音乐
*/
@@ -85,14 +127,5 @@ public class UserCollectController extends BaseController
return toAjax(userCollectService.updateUserCollect(userCollect));
}
/**
* 删除用户收藏音乐
*/
@PreAuthorize("@ss.hasPermi('system:collect:remove')")
@Log(title = "用户收藏音乐", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(userCollectService.deleteUserCollectByIds(ids));
}
}

View File

@@ -1,4 +1,4 @@
package com.ruoyi.web.controller.back;
package com.ruoyi.web.controller.client;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.UserHistory;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.IUserHistoryService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,7 +23,7 @@ import java.util.List;
* @date 2025-07-15
*/
@RestController
@RequestMapping("/back/history")
@RequestMapping("/client/history")
public class UserHistoryController extends BaseController
{
@Autowired
@@ -31,7 +32,6 @@ public class UserHistoryController extends BaseController
/**
* 查询用户播放历史列表
*/
@PreAuthorize("@ss.hasPermi('system:history:list')")
@GetMapping("/list")
public TableDataInfo list(UserHistory userHistory)
{
@@ -63,17 +63,6 @@ public class UserHistoryController extends BaseController
return success(userHistoryService.selectUserHistoryById(id));
}
/**
* 新增用户播放历史
*/
@PreAuthorize("@ss.hasPermi('system:history:add')")
@Log(title = "用户播放历史", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody UserHistory userHistory)
{
return toAjax(userHistoryService.insertUserHistory(userHistory));
}
/**
* 修改用户播放历史
*/
@@ -85,11 +74,32 @@ public class UserHistoryController extends BaseController
return toAjax(userHistoryService.updateUserHistory(userHistory));
}
/**
* 新增用户播放历史
*/
@GetMapping("/add/{musicId}")
public AjaxResult add(@PathVariable String musicId)
{
Long userId = SecurityUtils.getUserId();
UserHistory userHistory = new UserHistory();
userHistory.setMusicId(Long.parseLong(musicId));
userHistory.setUserId(userId);
return toAjax(userHistoryService.insertUserHistory(userHistory));
}
/**
* 删除用户播放历史
*/
@DeleteMapping("/del/history/{musicId}")
public AjaxResult removeHistory(@PathVariable String[] musicId)
{
userHistoryService.deleteUserHistoryByMusicId(musicId);
return AjaxResult.success();
}
/**
* 删除用户播放历史
*/
@PreAuthorize("@ss.hasPermi('system:history:remove')")
@Log(title = "用户播放历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{