1
0

2 Commits 4e1353cecd ... 5f032fbd9c

Autor SHA1 Mensagem Data
  songshuai 5f032fbd9c Commit. 5 years atrás
  songshuai f6dfaec610 Commit. 5 years atrás

+ 1 - 1
src/main/java/cn/efunbox/audio/config/Config.java

@@ -51,7 +51,7 @@ public class Config extends WebMvcConfigurerAdapter{
         registry.addInterceptor(adminInterceptor())
                 .addPathPatterns("/**", "/device/update", "/device/delete")
                 .excludePathPatterns("/device/**","/audio/info/{audioId}", "/error", "/admin/login", "/audio/search","/file/**","/audio/searchList","/statistics","/album","/album/{albumId}")
-                .excludePathPatterns("/getTypeList","/getTypeContentList");
+                .excludePathPatterns("/getTypeList","/getTypeContentList","/getContentDetail","/getContentChapterList","/getChapterDetail");
 
         registry.addInterceptor(ignoreOptionsInterceptor())
                 .addPathPatterns("/**");

+ 23 - 3
src/main/java/cn/efunbox/audio/controller/res/ResAlbumController.java

@@ -3,7 +3,9 @@ package cn.efunbox.audio.controller.res;
 import cn.efunbox.audio.entity.res.ResAlbum;
 import cn.efunbox.audio.page.ResOnePage;
 import cn.efunbox.audio.service.res.ResAlbumService;
+import cn.efunbox.audio.utils.ResApiCode;
 import cn.efunbox.audio.utils.ResApiResult;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping
+@Slf4j
 public class ResAlbumController {
 
     @Autowired
@@ -20,8 +23,25 @@ public class ResAlbumController {
     @RequestMapping(value = "/getTypeContentList")
     public ResApiResult<ResOnePage<ResAlbum>> getResCategoryList(@RequestHeader(value = "USERID",required = false) String USERID,
                                                                  @RequestParam(name="typeId",required = false) String typeId,
-                                                                 @RequestParam(name="pageNum",required = false) int pageNum,
-                                                                 @RequestParam(name="pageSize",required = false) int pageSize){
-        return resAlbumService.getResAlbumList(typeId,pageNum,pageSize);
+                                                                 @RequestParam(name="pageNum",required = false) Integer pageNum,
+                                                                 @RequestParam(name="pageSize",required = false) Integer pageSize){
+
+        try {
+            return resAlbumService.getResAlbumList(typeId,pageNum,pageSize);
+        } catch (Exception e) {
+            log.error("getTypeContentList接口异常:{}",e.getMessage());
+            return ResApiResult.error(ResApiCode.UNKNOWN_ERROR);
+        }
+    }
+
+    @RequestMapping(value = "/getContentDetail")
+    public ResApiResult<ResAlbum> getResCategoryList(@RequestHeader(value = "USERID",required = false) String USERID,
+                                                                 @RequestParam(name="contentId",required = false) String contentId) {
+        try {
+            return resAlbumService.getResAlbumById(contentId);
+        } catch (Exception e) {
+            log.error("getContentDetail接口异常:{}", e.getMessage());
+            return ResApiResult.error(ResApiCode.UNKNOWN_ERROR);
+        }
     }
 }

+ 9 - 2
src/main/java/cn/efunbox/audio/controller/res/ResCategoryController.java

@@ -2,7 +2,9 @@ package cn.efunbox.audio.controller.res;
 
 import cn.efunbox.audio.entity.res.ResCategory;
 import cn.efunbox.audio.service.res.ResCategoryService;
+import cn.efunbox.audio.utils.ResApiCode;
 import cn.efunbox.audio.utils.ResApiResult;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -10,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping
+@Slf4j
 public class ResCategoryController {
 
     @Autowired
@@ -17,8 +20,12 @@ public class ResCategoryController {
 
     @RequestMapping(value = "/getTypeList")
     public ResApiResult<ResCategory> getResCategoryList(@RequestHeader(value = "USERID",required = false) String USERID){
-       return resCategoryService.getResCategoryList();
+        try {
+            return resCategoryService.getResCategoryList();
+        } catch (Exception e) {
+            log.error("getTypeList接口异常:{}",e.getMessage());
+        }
+        return ResApiResult.error(ResApiCode.UNKNOWN_ERROR);
     }
 
-
 }

+ 48 - 0
src/main/java/cn/efunbox/audio/controller/res/ResWareController.java

@@ -0,0 +1,48 @@
+package cn.efunbox.audio.controller.res;
+
+import cn.efunbox.audio.entity.res.ResWare;
+import cn.efunbox.audio.page.ResOnePage;
+import cn.efunbox.audio.service.res.ResWareService;
+import cn.efunbox.audio.utils.ResApiCode;
+import cn.efunbox.audio.utils.ResApiResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping
+@Slf4j
+public class ResWareController {
+
+    @Autowired
+    ResWareService resWareService;
+
+    @RequestMapping(value = "/getContentChapterList")
+    public ResApiResult<ResOnePage<ResWare>> getResWareListByContentId(@RequestHeader(value = "USERID",required = false) String USERID,
+                                                                       @RequestParam(name="contentId",required = false) String contentId,
+                                                                       @RequestParam(name="order",required = false) String order,
+                                                                       @RequestParam(name="pageNum",required = false) Integer pageNum,
+                                                                       @RequestParam(name="pageSize",required = false) Integer pageSize){
+        try {
+            return resWareService.getResWareListByContentId(contentId,order,pageNum,pageSize);
+        } catch (Exception e) {
+            log.error("getContentChapterList接口异常:{}",e.getMessage());
+            return ResApiResult.error(ResApiCode.UNKNOWN_ERROR);
+        }
+    }
+
+    @RequestMapping(value = "/getChapterDetail")
+    public ResApiResult<ResWare> getResWareById(@RequestHeader(value = "USERID",required = false) String USERID,
+                                                @RequestParam(name="chapterId",required = false) String chapterId) {
+        try {
+            return resWareService.getResWareById(chapterId);
+        } catch (Exception e) {
+            log.error("getChapterDetail接口异常:{}", e.getMessage());
+            return ResApiResult.error(ResApiCode.UNKNOWN_ERROR);
+        }
+    }
+}

+ 7 - 4
src/main/java/cn/efunbox/audio/entity/res/ResWare.java

@@ -5,10 +5,7 @@ import lombok.ToString;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicUpdate;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.util.Date;
 
 @ToString
@@ -52,6 +49,12 @@ public class ResWare {
     @Column(name = "content_id")
     private String contentId;
 
+    @Transient
+    private String contentName;
+
+    @Transient
+    private String contentPicUrl;
+
     @Column(name = "price")
     private String price;
 

+ 41 - 6
src/main/java/cn/efunbox/audio/impl/res/ResAlbumServiceImpl.java

@@ -21,24 +21,34 @@ public class ResAlbumServiceImpl implements ResAlbumService {
     @Autowired
     ResAlbumRepository resAlbumRepository;
 
+    /**
+     * 获取分类下的专辑列表-分页
+     * @param typeId 分类 Id
+     * @param pageNum 页码
+     * @param pageSize 页面大小
+     * @return
+     */
     @Override
-    public ResApiResult<ResOnePage<ResAlbum>> getResAlbumList(String typeId, Integer pageNum, Integer pageSize) {
-        if(StringUtils.isBlank(typeId)){
-            return ResApiResult.error(ResApiCode.PARAMETER_NULL,ResApiCode.PARAMETER_NULL.getMessage()+"typeId");//错误提示语格式=》请求参数为空:typeId
-        }
+    public ResApiResult<ResOnePage<ResAlbum>> getResAlbumList(String typeId, Integer pageNum, Integer pageSize)  {
 
         //查询条件
         ResAlbum resAlbum = new ResAlbum();
+        if(StringUtils.isNotBlank(typeId)){
+            resAlbum.setTypeId(typeId);
+        }
         resAlbum.setTypeId(typeId);
 
         Long count = resAlbumRepository.count(resAlbum);
+        if(count == 0){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
 
 
         ResOnePage onePage = new ResOnePage(count);
-        if(pageNum > 0){
+        if(pageNum != null){
             onePage.setPageNum(pageNum);
         }
-        if(pageSize > 0){
+        if(pageSize != null){
             onePage.setPageSize(pageSize);
         }
 
@@ -53,9 +63,34 @@ public class ResAlbumServiceImpl implements ResAlbumService {
                         }}
                 )
         );
+        if(resAlbumList == null || resAlbumList.size() == 0){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
+
         onePage.setContentList(resAlbumList);
 
         //响应
         return ResApiResult.ok(onePage);
     }
+
+    /**
+     * 获取专辑详情信息
+     * @param contentId 专辑 id
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public ResApiResult<ResAlbum> getResAlbumById(String contentId) throws Exception {
+        if(StringUtils.isBlank(contentId)){
+            return ResApiResult.error(ResApiCode.PARAMETER_NULL,ResApiCode.PARAMETER_NULL.getMessage()+"contentId");//错误提示语格式=》请求参数为空:contentId
+        }
+
+        //查询
+        ResAlbum resAlbum = resAlbumRepository.find(contentId);
+        if(resAlbum == null){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
+
+        return ResApiResult.ok(resAlbum);
+    }
 }

+ 111 - 0
src/main/java/cn/efunbox/audio/impl/res/ResWareServiceImpl.java

@@ -0,0 +1,111 @@
+package cn.efunbox.audio.impl.res;
+
+import cn.efunbox.audio.entity.BaseOrderEnum;
+import cn.efunbox.audio.entity.res.ResAlbum;
+import cn.efunbox.audio.entity.res.ResWare;
+import cn.efunbox.audio.helper.SortHelper;
+import cn.efunbox.audio.page.ResOnePage;
+import cn.efunbox.audio.repository.res.ResAlbumRepository;
+import cn.efunbox.audio.repository.res.ResWareRepository;
+import cn.efunbox.audio.service.res.ResWareService;
+import cn.efunbox.audio.utils.ResApiCode;
+import cn.efunbox.audio.utils.ResApiResult;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+@Service
+public class ResWareServiceImpl implements ResWareService {
+
+    @Autowired
+    ResWareRepository resWareRepository;
+    @Autowired
+    ResAlbumRepository resAlbumRepository;
+
+    /**
+     * 根据专辑获取节目列表
+     * @param contentId 专辑编号
+     * @param pageNum   页码
+     * @param pageSize  页大小
+     * @return
+     */
+    @Override
+    public ResApiResult<ResOnePage<ResWare>> getResWareListByContentId(String contentId,String order, Integer pageNum, Integer pageSize) {
+        if(StringUtils.isBlank(contentId)){
+            return ResApiResult.error(ResApiCode.PARAMETER_NULL,ResApiCode.PARAMETER_NULL.getMessage()+"contentId");//错误提示语格式=》请求参数为空:contentId
+        }
+
+        ResWare resWare = new ResWare();
+        resWare.setContentId(contentId);
+
+
+        //总记录数
+        Long count = resWareRepository.count(resWare);
+        if(count == 0){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
+
+        ResOnePage onePage = new ResOnePage(count);
+        if(pageNum != null){
+            onePage.setPageNum(pageNum);
+        }
+        if(pageSize != null){
+            onePage.setPageSize(pageSize);
+        }
+
+        //查询
+        List<ResWare> wareList = resWareRepository.find(resWare,
+             onePage.getStart(),
+             onePage.getPageSize(),
+              SortHelper.sortMap2Sort(
+                    new LinkedHashMap<String, BaseOrderEnum>() {{
+                        if(StringUtils.isBlank(order) || "asc".equals(order)){
+                            put("sort", BaseOrderEnum.ASC);
+                        }else{
+                            put("sort",BaseOrderEnum.DESC);
+                        }
+                    }}
+              )
+        );
+
+        if(wareList == null || wareList.size() == 0){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
+        onePage.setChapterList(wareList);
+
+
+        //响应
+        return ResApiResult.ok(onePage);
+    }
+
+    /**
+     * 获取节目详情信息
+     * @param chapterId
+     * @return
+     */
+    @Override
+    public ResApiResult<ResWare> getResWareById(String chapterId) {
+        if(StringUtils.isBlank(chapterId)){
+            return ResApiResult.error(ResApiCode.PARAMETER_NULL,ResApiCode.PARAMETER_NULL.getMessage()+"contentId");//错误提示语格式=》请求参数为空:chapterId
+        }
+
+        //课件查询
+        ResWare resWare = resWareRepository.find(chapterId);
+        if(resWare == null){
+            return ResApiResult.error(ResApiCode.NOT_FOUND);
+        }
+
+        //课程
+        ResAlbum resAlbum = resAlbumRepository.find(resWare.getContentId());
+        if(resAlbum != null){
+            resWare.setContentName(resAlbum.getContentName());
+            resWare.setContentPicUrl(resAlbum.getContentPicUrl());
+        }
+
+        //响应
+        return ResApiResult.ok(resWare);
+    }
+}

+ 12 - 0
src/main/java/cn/efunbox/audio/page/ResOnePage.java

@@ -30,6 +30,10 @@ public class ResOnePage<E> implements ResPageable<List<E>> ,Serializable {
 
 	// 数据内容
 	private List<E> contentList;
+
+	//数据内容
+	private List<E> chapterList;
+
 	/**
 	 * 构造方法
 	 */
@@ -226,6 +230,14 @@ public class ResOnePage<E> implements ResPageable<List<E>> ,Serializable {
 		this.contentList = contentList;
 	}
 
+	public List<E> getChapterList() {
+		return null == chapterList ? Collections.emptyList() : chapterList;
+	}
+
+	public void setChapterList(List<E> chapterList) {
+		this.chapterList = chapterList;
+	}
+
 	/**
 	 * 功能: <br/>
 	 * 

+ 3 - 1
src/main/java/cn/efunbox/audio/service/res/ResAlbumService.java

@@ -6,5 +6,7 @@ import cn.efunbox.audio.utils.ResApiResult;
 
 public interface ResAlbumService {
 
-    ResApiResult<ResOnePage<ResAlbum>> getResAlbumList(String typeId, Integer pageNo, Integer pageSize);
+    ResApiResult<ResOnePage<ResAlbum>> getResAlbumList(String typeId, Integer pageNo, Integer pageSize) throws Exception;
+
+    ResApiResult<ResAlbum> getResAlbumById(String contentId) throws Exception;
 }

+ 1 - 1
src/main/java/cn/efunbox/audio/service/res/ResCategoryService.java

@@ -4,5 +4,5 @@ import cn.efunbox.audio.utils.ResApiResult;
 
 public interface ResCategoryService {
 
-    public ResApiResult getResCategoryList();
+    public ResApiResult getResCategoryList() throws Exception;
 }

+ 12 - 0
src/main/java/cn/efunbox/audio/service/res/ResWareService.java

@@ -0,0 +1,12 @@
+package cn.efunbox.audio.service.res;
+
+import cn.efunbox.audio.entity.res.ResWare;
+import cn.efunbox.audio.page.ResOnePage;
+import cn.efunbox.audio.utils.ResApiResult;
+
+public interface ResWareService {
+
+    public ResApiResult<ResOnePage<ResWare>> getResWareListByContentId(String contentId, String order, Integer pageNum, Integer pageSize);
+
+    public ResApiResult<ResWare> getResWareById(String chapterId);
+}

+ 0 - 2
src/main/java/cn/efunbox/audio/utils/BaseConstant.java

@@ -4,6 +4,4 @@ package cn.efunbox.audio.utils;
  * 常量类
  */
 public class BaseConstant {
-
-
 }