parent
e1dceeb0b8
commit
c7fa98bd8e
@ -0,0 +1,35 @@
|
|||||||
|
package enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: enums
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 15:09
|
||||||
|
* @Filename: AlbumStateEnum
|
||||||
|
* @Describe: 专辑状态参数
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum AlbumStateEnum {
|
||||||
|
SAVE(0, "新建"),
|
||||||
|
|
||||||
|
IN_APPROVE(1, "待审核"),
|
||||||
|
|
||||||
|
BACK(2, "退回"),
|
||||||
|
|
||||||
|
WAIT_ARRIVE(3, "待上架"),
|
||||||
|
|
||||||
|
ARRIVED(4, "已上架")
|
||||||
|
;
|
||||||
|
|
||||||
|
private Integer code;
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
|
||||||
|
AlbumStateEnum(Integer code, String desc) {
|
||||||
|
this.code = code;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: enums
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 14:27
|
||||||
|
* @Filename: SongInfoStateEnum
|
||||||
|
* @Describe: 歌曲启用状态
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum SongInfoStateEnum {
|
||||||
|
NO_USE("0", "停用"),
|
||||||
|
|
||||||
|
IN_USE("1", "启用")
|
||||||
|
;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
|
||||||
|
SongInfoStateEnum(String code, String desc) {
|
||||||
|
this.code = code;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,94 @@
|
|||||||
|
package com.luoo.music.controller;
|
||||||
|
|
||||||
|
import api.PageResult;
|
||||||
|
import api.Result;
|
||||||
|
import com.luoo.music.dto.response.AlbumAddDTO;
|
||||||
|
import com.luoo.music.dto.response.AlbumSearchDTO;
|
||||||
|
import com.luoo.music.dto.response.AlbumSongAddDTO;
|
||||||
|
import com.luoo.music.dto.response.AlbumUpdateDTO;
|
||||||
|
import com.luoo.music.pojo.ArtistAlbum;
|
||||||
|
import com.luoo.music.service.AlbumService;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: com.luoo.music.controller
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 14:45
|
||||||
|
* @Filename: AlbumController
|
||||||
|
* @Describe: 专辑接口入口
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@CrossOrigin
|
||||||
|
@Api(tags = "专辑")
|
||||||
|
@RequestMapping("/album")
|
||||||
|
public class AlbumController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AlbumService albumService;
|
||||||
|
|
||||||
|
@ApiOperation(value = "查询专辑", notes = "查询专辑")
|
||||||
|
@RequestMapping(value = "/list/{page}/{size}", method = RequestMethod.POST)
|
||||||
|
public Result<PageResult<ArtistAlbum>> search(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑查询对象", required = true) @RequestBody AlbumSearchDTO albumSearchDTO,
|
||||||
|
@ApiParam(value = "页码", required = true) @PathVariable Integer page,
|
||||||
|
@ApiParam(value = "每页条数", required = true) @PathVariable Integer size
|
||||||
|
) {
|
||||||
|
return Result.success(albumService.getList(albumSearchDTO, page, size));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "查询专辑详情", notes = "查询专辑详情")
|
||||||
|
@RequestMapping(value = "/one/{id}", method = RequestMethod.POST)
|
||||||
|
public Result<ArtistAlbum> getOne(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑id", required = true) @PathVariable String id) {
|
||||||
|
|
||||||
|
return Result.success(albumService.getOne(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "新增专辑", notes = "新增专辑")
|
||||||
|
@RequestMapping(value = "/add", method = RequestMethod.POST)
|
||||||
|
public Result<Void> add(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑信息", required = true) @RequestBody AlbumAddDTO addModel) {
|
||||||
|
albumService.addAlbum(token, addModel);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "修改专辑", notes = "修改专辑")
|
||||||
|
@RequestMapping(value = "/update", method = RequestMethod.POST)
|
||||||
|
public Result<Void> update(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑信息", required = true) @RequestBody AlbumUpdateDTO updateDTO) {
|
||||||
|
albumService.updateAlbum(token, updateDTO);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "删除专辑", notes = "删除专辑")
|
||||||
|
@RequestMapping(value = "/delete", method = RequestMethod.POST)
|
||||||
|
public Result<Void> delete(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑id", required = true) String id) {
|
||||||
|
albumService.deleteAlbum(id);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "删除专辑中的歌曲", notes = "删除专辑中的歌曲")
|
||||||
|
@RequestMapping(value = "/delete/song", method = RequestMethod.POST)
|
||||||
|
public Result<Void> deleteAlbumSong(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑歌曲绑定的id", required = true) String id) {
|
||||||
|
albumService.deleteAlbumSong(id);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "为专辑新增歌曲", notes = "为专辑新增歌曲")
|
||||||
|
@RequestMapping(value = "/add/Song/{id}", method = RequestMethod.POST)
|
||||||
|
public Result<Void> addNewSong(@ApiParam(value = "Header中的token信息", required = true) @RequestHeader("Authorization") String token,
|
||||||
|
@ApiParam(value = "专辑id") @PathVariable String id,
|
||||||
|
@ApiParam(value = "歌曲信息", required = true) @RequestBody AlbumSongAddDTO albumSongAddDTO) {
|
||||||
|
albumService.addNewSong(token, id, albumSongAddDTO);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package com.luoo.music.dto.response;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: com.luoo.music.dto.response
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 13:00
|
||||||
|
* @Filename: AlbumAddDTO
|
||||||
|
* @Describe: 新增专辑对象
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AlbumAddDTO implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专辑名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑名称")
|
||||||
|
@NotNull(message = "专辑名称不能为空")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 专辑封面
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑封面")
|
||||||
|
@NotNull(message = "专辑封面不能为空")
|
||||||
|
private String image;
|
||||||
|
/**
|
||||||
|
* 专辑版本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑版本")
|
||||||
|
private Integer version;
|
||||||
|
/**
|
||||||
|
* 发行日期
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("发行日期")
|
||||||
|
private Date publishDate;
|
||||||
|
/**
|
||||||
|
* 主要风格
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("主要风格")
|
||||||
|
@NotNull(message = "主要风格不能为空")
|
||||||
|
private String mainStyle;
|
||||||
|
/**
|
||||||
|
* 次要风格
|
||||||
|
*/
|
||||||
|
@NotNull(message = "次要风格不能为空")
|
||||||
|
@ApiModelProperty("次要风格")
|
||||||
|
private String subStyle;
|
||||||
|
/**
|
||||||
|
* 专辑条码
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑条码")
|
||||||
|
private String barcode;
|
||||||
|
/**
|
||||||
|
* 专辑描述
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 音乐人id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("音乐人id")
|
||||||
|
private String artistId;
|
||||||
|
/**
|
||||||
|
* 音乐人昵称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("音乐人昵称")
|
||||||
|
private String artistName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 歌曲新增对象
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("歌曲新增对象")
|
||||||
|
private List<AlbumSongAddDTO> songAddList;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,57 @@
|
|||||||
|
package com.luoo.music.dto.response;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: com.luoo.music.dto.response
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 13:25
|
||||||
|
* @Filename: AlbumSongAddDTO
|
||||||
|
* @Describe: 专辑歌曲发布实体类
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AlbumSongAddDTO implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty("歌曲名称")
|
||||||
|
@NotNull(message = "歌曲名称不能为空")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty("语种")
|
||||||
|
@NotNull(message = "语种不能为空")
|
||||||
|
private Integer language;
|
||||||
|
|
||||||
|
@ApiModelProperty("曲风")
|
||||||
|
@NotNull(message = "曲风不能为空")
|
||||||
|
private List<String> tags;
|
||||||
|
|
||||||
|
@ApiModelProperty("售价")
|
||||||
|
@NotNull(message = "售价不能为空")
|
||||||
|
private float price;
|
||||||
|
|
||||||
|
@ApiModelProperty("作词")
|
||||||
|
private String lyricName;
|
||||||
|
|
||||||
|
@ApiModelProperty("作曲")
|
||||||
|
private String compositionName;
|
||||||
|
|
||||||
|
@ApiModelProperty("编曲")
|
||||||
|
private String arrangementName;
|
||||||
|
|
||||||
|
@ApiModelProperty("歌词")
|
||||||
|
private String lyric;
|
||||||
|
|
||||||
|
@ApiModelProperty("歌曲url")
|
||||||
|
@NotNull(message = "歌曲不能为空")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
@ApiModelProperty("mv")
|
||||||
|
private String mvUrl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package com.luoo.music.dto.response;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: yawei.huang
|
||||||
|
* @Package: com.luoo.music.dto.response
|
||||||
|
* @Project: luoo_parent
|
||||||
|
* @Date: 2024/4/28 13:00
|
||||||
|
* @Filename: AlbumAddDTO
|
||||||
|
* @Describe: 新增专辑对象
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AlbumUpdateDTO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@ApiModelProperty("id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专辑名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑名称")
|
||||||
|
@NotNull(message = "专辑名称不能为空")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 专辑封面
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑封面")
|
||||||
|
@NotNull(message = "专辑封面不能为空")
|
||||||
|
private String image;
|
||||||
|
/**
|
||||||
|
* 专辑版本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑版本")
|
||||||
|
private Integer version;
|
||||||
|
/**
|
||||||
|
* 发行日期
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("发行日期")
|
||||||
|
private Date publishDate;
|
||||||
|
/**
|
||||||
|
* 主要风格
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("主要风格")
|
||||||
|
@NotNull(message = "主要风格不能为空")
|
||||||
|
private String mainStyle;
|
||||||
|
/**
|
||||||
|
* 次要风格
|
||||||
|
*/
|
||||||
|
@NotNull(message = "次要风格不能为空")
|
||||||
|
@ApiModelProperty("次要风格")
|
||||||
|
private String subStyle;
|
||||||
|
/**
|
||||||
|
* 专辑条码
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑条码")
|
||||||
|
private String barcode;
|
||||||
|
/**
|
||||||
|
* 专辑描述
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专辑描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 音乐人id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("音乐人id")
|
||||||
|
private String artistId;
|
||||||
|
/**
|
||||||
|
* 音乐人昵称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("音乐人昵称")
|
||||||
|
private String artistName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue