ResAlbumServiceImpl.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package cn.efunbox.audio.impl.res;
  2. import cn.efunbox.audio.entity.BaseOrderEnum;
  3. import cn.efunbox.audio.entity.res.ResAlbum;
  4. import cn.efunbox.audio.helper.SortHelper;
  5. import cn.efunbox.audio.page.ResOnePage;
  6. import cn.efunbox.audio.repository.res.ResAlbumRepository;
  7. import cn.efunbox.audio.service.res.ResAlbumService;
  8. import cn.efunbox.audio.utils.ResApiCode;
  9. import cn.efunbox.audio.utils.ResApiResult;
  10. import org.apache.commons.lang3.StringUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.util.LinkedHashMap;
  14. import java.util.List;
  15. @Service
  16. public class ResAlbumServiceImpl implements ResAlbumService {
  17. @Autowired
  18. ResAlbumRepository resAlbumRepository;
  19. /**
  20. * 获取分类下的专辑列表-分页
  21. * @param typeId 分类 Id
  22. * @param pageNum 页码
  23. * @param pageSize 页面大小
  24. * @return
  25. */
  26. @Override
  27. public ResApiResult<ResOnePage<ResAlbum>> getResAlbumList(String typeId, Integer pageNum, Integer pageSize) {
  28. //查询条件
  29. ResAlbum resAlbum = new ResAlbum();
  30. if(StringUtils.isNotBlank(typeId)){
  31. resAlbum.setTypeId(typeId);
  32. }
  33. resAlbum.setTypeId(typeId);
  34. Long count = resAlbumRepository.count(resAlbum);
  35. if(count == 0){
  36. return ResApiResult.error(ResApiCode.NOT_FOUND);
  37. }
  38. ResOnePage onePage = new ResOnePage(count);
  39. if(pageNum != null){
  40. onePage.setPageNum(pageNum);
  41. }
  42. if(pageSize != null){
  43. onePage.setPageSize(pageSize);
  44. }
  45. //数据查询
  46. List<ResAlbum> resAlbumList = resAlbumRepository.find(
  47. resAlbum,
  48. onePage.getStart(),
  49. onePage.getPageSize(),
  50. SortHelper.sortMap2Sort(
  51. new LinkedHashMap<String, BaseOrderEnum>() {{
  52. put("sort", BaseOrderEnum.ASC);
  53. }}
  54. )
  55. );
  56. if(resAlbumList == null || resAlbumList.size() == 0){
  57. return ResApiResult.error(ResApiCode.NOT_FOUND);
  58. }
  59. onePage.setContentList(resAlbumList);
  60. //响应
  61. return ResApiResult.ok(onePage);
  62. }
  63. /**
  64. * 获取专辑详情信息
  65. * @param contentId 专辑 id
  66. * @return
  67. * @throws Exception
  68. */
  69. @Override
  70. public ResApiResult<ResAlbum> getResAlbumById(String contentId) throws Exception {
  71. if(StringUtils.isBlank(contentId)){
  72. return ResApiResult.error(ResApiCode.PARAMETER_NULL,ResApiCode.PARAMETER_NULL.getMessage()+"contentId");//错误提示语格式=》请求参数为空:contentId
  73. }
  74. //查询
  75. ResAlbum resAlbum = resAlbumRepository.find(contentId);
  76. if(resAlbum == null){
  77. return ResApiResult.error(ResApiCode.NOT_FOUND);
  78. }
  79. return ResApiResult.ok(resAlbum);
  80. }
  81. }