瀏覽代碼

Merge branch 'information-27' into dev

zoujiajian 2 年之前
父節點
當前提交
3dc54f2f9e

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/InformationView.java

@@ -15,7 +15,7 @@ import java.util.List;
  */
 @Getter
 @Setter
-@SearchBean(tables = "information i",where = "i.deleted is true")
+@SearchBean(tables = "information i",where = "i.deleted is true :ct:")
 public class InformationView {
     @DbField("i.id")
     private Long id;

+ 2 - 12
netflix-web/src/main/java/com/cyksj/web/controller/information/InformationController.java

@@ -1,12 +1,9 @@
 package com.cyksj.web.controller.information;
 
-import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
-import com.cyksj.model.entity.Information;
 import com.cyksj.model.entity.InformationCategory;
 import com.cyksj.model.views.GoodsFrontListView;
 import com.cyksj.model.views.InformationDetailView;
@@ -14,7 +11,6 @@ import com.cyksj.model.views.InformationListView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.information.InformationCategoryService;
 import com.cyksj.service.information.InformationService;
-import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.param.Operator;
 import com.ejlchina.searcher.util.MapUtils;
@@ -24,7 +20,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
-import java.util.Optional;
 
 /**
  * @author zwhui
@@ -49,13 +44,8 @@ public class InformationController {
      * 查询发现页文章列表
      */
     @GetMapping("/get")
-    public Result<IPage<InformationListView>> getInformation(Long categoryId, @RequestParam(defaultValue = "0") Integer start, @RequestParam(defaultValue = "5") Integer limit){
-        String key = RedisService.key.INFORMATION_KEY.getEnvName() + "categoryId:" + categoryId;
-        IPage<InformationListView> information = (IPage<InformationListView>) redisService.get(key);
-        if (information == null) {
-            information = informationService.getInformation(categoryId, start, limit);
-            redisService.setNx(key, information, RedisService.key.INFORMATION_KEY.getTimeout());
-        }
+    public Result<IPage<InformationListView>> getInformation(Long categoryId, @RequestParam(defaultValue = "0") Integer start, @RequestParam(defaultValue = "5") Integer limit) {
+        IPage<InformationListView> information = informationService.getInformation(categoryId, start, limit);
         return GatewayResponse.SUCCESS.newBuilder().toResult(information);
     }
 

+ 7 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/information/CmsInformationController.java

@@ -15,6 +15,7 @@ import com.cyksj.service.information.InformationCategoryService;
 import com.cyksj.service.information.InformationService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -102,8 +103,12 @@ public class CmsInformationController {
      * 获取文章
      */
     @GetMapping("/get")
-    public Result<SearchResult<InformationView>> getInformation() {
-        SearchResult<InformationView> list = beanSearcher.search(InformationView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+    public Result<SearchResult<InformationView>> getInformation(Long category) {
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        if (category != null) {
+            builder.put("ct", String.format(" and JSON_CONTAINS(i.category_ids,'\"%s\"')", category));
+        }
+        SearchResult<InformationView> list = beanSearcher.search(InformationView.class, builder.build());
         list.getDataList().forEach(data -> {
             try {
                 List<Long> goodsIds = Jsons.parseList(data.getGoodsIds(), Long.class);