Prechádzať zdrojové kódy

官网-客户案列

jichaobo 2 rokov pred
rodič
commit
b36da23e41

+ 32 - 8
service-website/service-website-biz/src/main/java/com/usky/website/service/impl/SiteArticleServiceImpl.java

@@ -1,5 +1,6 @@
 package com.usky.website.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -7,11 +8,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.website.domain.SiteArticle;
+import com.usky.website.domain.SiteCategory;
 import com.usky.website.mapper.SiteArticleMapper;
 import com.usky.website.service.SiteArticleService;
+import com.usky.website.service.SiteCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -24,31 +30,49 @@ import java.time.LocalDateTime;
 @Service
 public class SiteArticleServiceImpl extends AbstractCrudService<SiteArticleMapper, SiteArticle> implements SiteArticleService {
 
+    @Autowired
+    private SiteCategoryService siteCategoryService;
+
     @Override
     public CommonPage<SiteArticle> siteArticleList(Integer categoryid, Integer id, Integer pageNum, Integer pageSize) {
         IPage<SiteArticle> page = new Page<>(pageNum, pageSize);
-        LambdaQueryWrapper<SiteArticle> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SiteArticle::getCategoryid, categoryid)
-                .eq(id != null, SiteArticle::getId, id)
-                .orderByDesc(SiteArticle::getIstop, SiteArticle::getId);
-        page = this.page(page, queryWrapper);
+        List<Integer> categoryidList = new ArrayList<>();
+        if (categoryid == 18) {
+            LambdaQueryWrapper<SiteCategory> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.select(SiteCategory::getId)
+                    .eq(SiteCategory::getPid, categoryid)
+                    .eq(SiteCategory::getStatus, 1);
+            List<SiteCategory> list = siteCategoryService.list(queryWrapper1);
+            for (int i = 0; i < list.size(); i++) {
+                categoryidList.add(list.get(i).getId());
+            }
+        } else {
+            categoryidList.add(categoryid);
+        }
+        if (CollectionUtil.isNotEmpty(categoryidList)) {
+            LambdaQueryWrapper<SiteArticle> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.in(SiteArticle::getCategoryid, categoryidList)
+                    .eq(id != null, SiteArticle::getId, id)
+                    .orderByDesc(SiteArticle::getIstop, SiteArticle::getId);
+            page = this.page(page, queryWrapper);
+        }
         return new CommonPage<>(page.getRecords(), page.getTotal(), pageSize, pageNum);
     }
 
     @Override
-    public void addSiteArticle(SiteArticle siteArticle){
+    public void addSiteArticle(SiteArticle siteArticle) {
         siteArticle.setCreatedate(LocalDateTime.now());
         this.save(siteArticle);
     }
 
     @Override
-    public void updateSiteArticle(SiteArticle siteArticle){
+    public void updateSiteArticle(SiteArticle siteArticle) {
         siteArticle.setModifydate(LocalDateTime.now());
         this.updateById(siteArticle);
     }
 
     @Override
-    public void delSiteArticle(Integer id){
+    public void delSiteArticle(Integer id) {
         this.removeById(id);
     }
 }