Browse Source

新增返回 总记录数

wangdy 7 years ago
parent
commit
5c47f6eb85

+ 1 - 1
build.gradle

@@ -18,7 +18,7 @@ buildscript {
 }
 
 group 'com.uas.cloud.mall'
-version '0.0.6'
+version '0.0.7'
 
 apply plugin: 'java'
 apply plugin: "com.palantir.docker"

+ 2 - 2
src/main/java/com/uas/cloud/mall/shop/news/NewsApplication.java

@@ -5,8 +5,8 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 
 /**
- *  新闻资讯服务
- *
+ * 新闻资讯服务
+ * <p>
  * Created by dongbw on 17/02/25.
  */
 

+ 4 - 3
src/main/java/com/uas/cloud/mall/shop/news/api/NewsController.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 新闻服务api
@@ -51,10 +52,10 @@ public class NewsController {
      * @return
      */
     @RequestMapping(value="/created" ,method = RequestMethod.GET, produces = "application/json")
-    public List<News> getNewsByCreated(@RequestParam(defaultValue = "1") int pagenumber , @RequestParam(defaultValue = "10") int pagesize , @RequestParam(defaultValue = "B2C") String taxonomySlug) {
+    public Map<String,Object> getNewsByCreated(@RequestParam(defaultValue = "1") int pagenumber , @RequestParam(defaultValue = "10") int pagesize , @RequestParam(defaultValue = "B2C") String taxonomySlug) {
         ServiceInstance instance = client.getLocalServiceInstance();
         logger.info("/news, get, host:" + instance.getHost() + ", serviceId:" + instance.getServiceId() + "get news order by created time");
-        List<News> newsList = newsService.findBycreated(pagenumber,pagesize,taxonomySlug);
+        Map<String,Object> newsList = newsService.findBycreated(pagenumber,pagesize,taxonomySlug);
         return newsList;
     }
 
@@ -64,7 +65,7 @@ public class NewsController {
      * @return
      */
     @RequestMapping(value="/viewcount" ,method = RequestMethod.GET, produces = "application/json")
-    public List<News> getNewsByViewCount(@RequestParam(defaultValue = "1") int pagenumber , @RequestParam(defaultValue = "10") int pagesize , @RequestParam(defaultValue = "B2C") String taxonomySlug) {
+    public Map<String,Object> getNewsByViewCount(@RequestParam(defaultValue = "1") int pagenumber , @RequestParam(defaultValue = "10") int pagesize , @RequestParam(defaultValue = "B2C") String taxonomySlug) {
         ServiceInstance instance = client.getLocalServiceInstance();
         logger.info("/news, get, host:" + instance.getHost() + ", serviceId:" + instance.getServiceId() + "get news order by viewcount");
         return newsService.findByViewCount(pagenumber,pagesize,taxonomySlug);

+ 4 - 2
src/main/java/com/uas/cloud/mall/shop/news/service/NewsService.java

@@ -3,6 +3,7 @@ package com.uas.cloud.mall.shop.news.service;
 import com.uas.cloud.mall.shop.news.model.News;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by dongbw on 17/02/25 16:05.
@@ -16,7 +17,7 @@ public interface NewsService {
      *
      * @return
      */
-    List<News> findBycreated(int pagenumber , int pagesize , String taxonomySlug);
+    Map<String,Object> findBycreated(int pagenumber , int pagesize , String taxonomySlug);
 
 
     /**
@@ -24,5 +25,6 @@ public interface NewsService {
      *
      * @return
      */
-    List<News> findByViewCount(int pagenumber , int pagesize , String taxonomySlug);
+    Map<String,Object> findByViewCount(int pagenumber , int pagesize , String taxonomySlug);
+
 }

+ 22 - 6
src/main/java/com/uas/cloud/mall/shop/news/service/impl/NewsServiceImpl.java

@@ -5,6 +5,7 @@ import com.uas.cloud.mall.shop.news.model.News;
 import com.uas.cloud.mall.shop.news.service.NewsService;
 import com.uas.cloud.mall.shop.news.utils.NewsCloumnCutUtil;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.map.HashedMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -16,7 +17,9 @@ import org.springframework.util.StringUtils;
 
 import javax.persistence.criteria.Predicate;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by dongbw on 17/02/25 16:05.
@@ -39,9 +42,14 @@ public class NewsServiceImpl implements NewsService {
         return news;
     }
 
+
     @Override
-    public List<News> findBycreated(int pagenumber , int pagesize , String taxonomySlug) {
+    public Map<String,Object> findBycreated(int pagenumber , int pagesize , String taxonomySlug) {
+        Map<String,Object> result = new HashMap();
         List<Long> idByTaxonomySlug = newsRepository.findNewsIdByTaxonomySlug(taxonomySlug);
+        if (idByTaxonomySlug != null){
+            result.put("count",idByTaxonomySlug.size());
+        }
         Pageable pageable = new PageRequest(pagenumber-1 ,pagesize, new Sort(Sort.Direction.DESC, "modified"));
         Page<News> page = newsRepository.findAll((root, query, builder) -> {
             Predicate predicateId = root.get("id").in(idByTaxonomySlug);
@@ -50,15 +58,21 @@ public class NewsServiceImpl implements NewsService {
             return null;
         }, pageable);
         if (page != null && !CollectionUtils.isEmpty(page.getContent())) {
-            return NewsCloumnCutUtil.cutText(page.getContent());
+            result.put("content",NewsCloumnCutUtil.cutText(page.getContent()));
+            return result;
         }
-        return Collections.emptyList();
+        result.put("content",Collections.emptyList());
+        return result;
     }
 
 
     @Override
-    public List<News> findByViewCount(int pagenumber , int pagesize , String taxonomySlug) {
+    public Map<String,Object> findByViewCount(int pagenumber , int pagesize , String taxonomySlug) {
+        Map<String,Object> result = new HashMap();
         List<Long> idByTaxonomySlug = newsRepository.findNewsIdByTaxonomySlug(taxonomySlug);
+        if (idByTaxonomySlug != null){
+            result.put("count",idByTaxonomySlug.size());
+        }
         Pageable pageable = new PageRequest(pagenumber-1 ,pagesize, new Sort(Sort.Direction.DESC, "viewCount"));
         Page<News> page = newsRepository.findAll((root, query, builder) -> {
             Predicate predicateId = root.get("id").in(idByTaxonomySlug);
@@ -67,9 +81,11 @@ public class NewsServiceImpl implements NewsService {
             return null;
         }, pageable);
         if (page != null && !CollectionUtils.isEmpty(page.getContent())) {
-            return NewsCloumnCutUtil.cutText(page.getContent());
+            result.put("content",NewsCloumnCutUtil.cutText(page.getContent()));
+            return result;
         }
-        return Collections.emptyList();
+        result.put("content",Collections.emptyList());
+        return result;
     }
 
 }