Procházet zdrojové kódy

官网相关接口开发

jichaobo před 2 roky
rodič
revize
d9a85b1e38

+ 19 - 2
service-website/service-website-biz/src/main/java/com/usky/website/controller/web/SiteCategoryController.java

@@ -1,11 +1,16 @@
 package com.usky.website.controller.web;
 
 
+import com.usky.common.core.bean.ApiResult;
+import com.usky.website.domain.SiteCategory;
+import com.usky.website.service.SiteCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 官网_栏目管理 前端控制器
@@ -18,5 +23,17 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/siteCategory")
 public class SiteCategoryController {
 
+    @Autowired
+    private SiteCategoryService siteCategoryService;
+
+    /**
+     * 官网-栏目查询
+     *
+     * @return
+     */
+    @GetMapping("siteCategoryList")
+    public ApiResult<List<SiteCategory>> siteCategoryList() {
+        return ApiResult.success(siteCategoryService.siteCategoryList());
+    }
 }
 

+ 10 - 4
service-website/service-website-biz/src/main/java/com/usky/website/domain/SiteCategory.java

@@ -1,13 +1,15 @@
 package com.usky.website.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
 /**
  * <p>
  * 官网_栏目管理
@@ -87,5 +89,9 @@ public class SiteCategory implements Serializable {
      */
     private Integer status;
 
-
+    /**
+     * 子级
+     */
+    @TableField(exist = false)
+    private List<SiteCategory> children;
 }

+ 9 - 1
service-website/service-website-biz/src/main/java/com/usky/website/service/SiteCategoryService.java

@@ -1,7 +1,9 @@
 package com.usky.website.service;
 
-import com.usky.website.domain.SiteCategory;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.website.domain.SiteCategory;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +15,10 @@ import com.usky.common.mybatis.core.CrudService;
  */
 public interface SiteCategoryService extends CrudService<SiteCategory> {
 
+    /**
+     * 官网-栏目查询
+     *
+     * @return
+     */
+    List<SiteCategory> siteCategoryList();
 }

+ 19 - 7
service-website/service-website-biz/src/main/java/com/usky/website/service/impl/SiteCategoryServiceImpl.java

@@ -6,8 +6,6 @@ import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.website.domain.SiteCategory;
 import com.usky.website.mapper.SiteCategoryMapper;
 import com.usky.website.service.SiteCategoryService;
-import com.usky.website.service.vo.SiteCategoryVo;
-import org.apache.commons.beanutils.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -24,17 +22,31 @@ import java.util.stream.Collectors;
 @Service
 public class SiteCategoryServiceImpl extends AbstractCrudService<SiteCategoryMapper, SiteCategory> implements SiteCategoryService {
 
-    public void siteCategoryList() {
+    @Override
+    public List<SiteCategory> siteCategoryList() {
         LambdaQueryWrapper<SiteCategory> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(SiteCategory::getStatus, 1)
                 .orderByAsc(SiteCategory::getSortindex);
         List<SiteCategory> list = this.list(queryWrapper);
-        //把EduSubject的数组entities包装成SubjectVO数组
-        List<SiteCategoryVo> subjectVOS = list.stream().map(subject -> {
-            SiteCategoryVo subjectVO = new SiteCategoryVo();
-//            BeanUtils.copyProperties(subject, subjectVO);
+        //取得所有parentId为0的数据,也就是一级目录
+        //用于封装数据,取得他的孩子(也就是下级目录)的数据
+        List<SiteCategory> list1 = list.stream().filter(subjectVO ->
+                subjectVO.getPid() == 0
+        ).map((menu) -> {
+            menu.setChildren(getChildrenData(menu, list));
+            return menu;
+        }).collect(Collectors.toList());
+        return list1;
+    }
+
+    private List<SiteCategory> getChildrenData(SiteCategory root, List<SiteCategory> all) {
+        List<SiteCategory> children = all.stream().filter(subjectVO ->
+                subjectVO.getPid() == root.getId() && !root.getCategoryName().equals("产品服务")
+        ).map(subjectVO -> {
+            subjectVO.setChildren(getChildrenData(subjectVO, all));
             return subjectVO;
         }).collect(Collectors.toList());
+        return children;
     }
 
 }

+ 1 - 1
service-website/service-website-biz/src/main/java/com/usky/website/service/vo/SiteCategoryVo.java

@@ -92,7 +92,7 @@ public class SiteCategoryVo implements Serializable {
     /**
      * 子级
      */
-    private List<SiteCategoryVo> siteCategoryVoList;
+    private List<SiteCategoryVo> children;
 
 
 }