2311061111-lyt/initial_interface.txt

63 lines
3.0 KiB
Plaintext
Raw Normal View History

2025-12-14 16:13:55 +08:00
<EFBFBD><EFBFBD>package com.vibevault.service;
import com.vibevault.dto.PlaylistDTO;
import com.vibevault.dto.SongCreateDTO;
import java.util.List;
/**
* <00>Y}\<>]<5D>Y<EFBFBD><59><EFBFBD>0[_
* 9p+l<>{<7B>Y}\])<29>?z<>S(<28><>R{T<>!7dcm? */
public interface PlaylistService {
/**
* ~<7E><>\G_<47><5F><EFBFBD> ȓ Y<>tW<74>? */
List<PlaylistDTO> getAllPlaylists();
/**
* ͓ĉA] ID ~<7E><>\G_<47>Y}\]
* @throws com.vibevault.exception.ResourceNotFoundException <00>o<EFBFBD>PIp<49>Y}\]<5D>m<EFBFBD>]<5D>tf<74>? */
PlaylistDTO getPlaylistById(Long id);
/**
* R<><52>m“Hr<48>tW<74>? * @param name <00>Y}\]Z<><5A>]
* @param ownerUsername <00><><EFBFBD> ȓY<> oTde<64><65><EFBFBD>\<5C>`
*/
PlaylistDTO createPlaylist(String name, String ownerUsername);
/**
* Z<>b<>tW<74><57>fJWT<57><54>r<EFBFBD>tǓ? * @param playlistId <00>Y}\] ID
* @param song <00>Y~\8m<38>m!O
* @param username 0<><30>d<EFBFBD>X"<22>&1<>WZ<57><5A>]}"<22>$1,|ɓ<>Q<EFBFBD>j<EFBFBD>Y<EFBFBD> ̓<>0}
*/
PlaylistDTO addSongToPlaylist(Long playlistId, SongCreateDTO song, String username);
/**
* `m<>^<5E>tW<74><57>f)ĕ<>0<EFBFBD>tǓ? * @param playlistId <00>Y}\] ID
* @param songId <00>Y~\8m ID
* @param username 0<><30>d<EFBFBD>X"<22>&1<>WZ<57><5A>]}"<22>$1,|ɓ<>Q<EFBFBD>j<EFBFBD>Y<EFBFBD> ̓<>0}
*/
void removeSongFromPlaylist(Long playlistId, Long songId, String username);
/**
* R<><52>r<EFBFBD>j<EFBFBD>Y}\]
* @param playlistId <00>Y}\] ID
* @param username 0<><30>d<EFBFBD>X"<22>&1<>WZ<57><5A>]}"<22>$1,|ɓ<>Q<EFBFBD>j<EFBFBD>Y<EFBFBD> ̓<>0}
*/
void deletePlaylist(Long playlistId, String username);
// ========== Advanced “ĉvx<1B>%X<>
Y<EFBFBD>N<1B>?=========
/**
* [Advanced] <00><>
Y<EFBFBD>S<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>P<EFBFBD>Y}\]
*/
List<PlaylistDTO> searchPlaylists(String keyword);
/**
* [Advanced] <00>o<EFBFBD>]<5D>W<EFBFBD>Y}\]
*/
PlaylistDTO copyPlaylist(Long playlistId, String newName, String username);
}