Selaa lähdekoodia

1、厦门海嘉成-栏目菜单

41235 1 vuosi sitten
vanhempi
commit
1521798c3d

+ 58 - 9
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/open/OpenColumnController.java

@@ -1,6 +1,8 @@
 package com.fjhx.xmhjc.controller.open;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.xmhjc.entity.about.vo.AboutUsHonorVo;
+import com.fjhx.xmhjc.entity.column.dto.ColumnArticleDto;
 import com.fjhx.xmhjc.entity.column.dto.ColumnArticleSelectDto;
 import com.fjhx.xmhjc.entity.column.dto.ColumnMenuSelectDto;
 import com.fjhx.xmhjc.entity.column.dto.ColumnMenuSubSelectDto;
@@ -37,31 +39,78 @@ public class OpenColumnController {
     private ColumnArticleService columnArticleService;
 
     /**
-     * 门户菜单列表
+     * 菜单列表
      */
-    @PostMapping("/getMenuByOpen")
+    @PostMapping("/getMenuListByOpen")
     public List<ColumnMenuVo> getMenuListByOpen() {
         ColumnMenuSelectDto dto = new ColumnMenuSelectDto();
         dto.setStatus("1");
-        return columnMenuService.getList(dto);
+        return columnMenuService.getMenuListByOpen(dto);
     }
 
     /**
-     * 门户菜单列表
+     * 用于栏目类型图文 获取图文内容
+     * @param
+     * @return
      */
-    @PostMapping("/getMenuSubByOpen")
-    public List<ColumnMenuSubVo> getMenuListByOpen(@RequestBody ColumnMenuSubSelectDto dto ) {
+    @PostMapping("/getMenuDetailByOpen")
+    public ColumnMenuVo getMenuDetailByOpen(@RequestBody ColumnMenuSelectDto dto) {
+        dto.setStatus("1");
+        return columnMenuService.getMenuDetailByOpen(dto.getId());
+    }
+
+
+    /**
+     * 用于栏目类型列表  获取子栏目
+     */
+    @PostMapping("/getMenuSubListByOpen")
+    public List<ColumnMenuSubVo> getMenuSubListByOpen(@RequestBody ColumnMenuSubSelectDto dto ) {
         dto.setStatus("1");
         return columnMenuSubService.getList(dto);
     }
 
     /**
-     * 门户菜单列表
+     * 文章列表
      */
     @PostMapping("/getArticleByOpen")
-    public List<ColumnArticleVo> getArticleByOpen(@RequestBody ColumnArticleSelectDto dto ) {
+    public Page<ColumnArticleVo> getArticleByOpen(@RequestBody ColumnArticleSelectDto dto ) {
+        dto.setStatus("1");
+        return columnArticleService.getArticleByOpen(dto);
+    }
+
+
+    /**
+     * 获取文章详情
+     * @param
+     * @return
+     */
+    @PostMapping("/getArticleDetailByOpen")
+    public ColumnArticleVo getArticleDetailByOpen(@RequestBody ColumnArticleSelectDto dto) {
+        dto.setStatus("1");
+        return columnArticleService.getArticleDetailByOpen(dto.getId());
+    }
+
+    /**
+     * 点击阅读量
+     * @param
+     * @return
+     */
+    @PostMapping("/saveReadArticleNum")
+    public void saveReadyArticleNum(@RequestBody ColumnArticleSelectDto dto) {
+       columnArticleService.saveReadyArticleNum(dto.getId());
+    }
+
+
+    /**
+     * 相关文章
+     * 根据点击量排序
+     * @param
+     * @return
+     */
+    @PostMapping("/relatedArticles")
+    public Page<ColumnArticleVo> relatedArticles(@RequestBody ColumnArticleSelectDto dto) {
         dto.setStatus("1");
-        return columnArticleService.getList(dto);
+        return columnArticleService.relatedArticles(dto);
     }
 
 }

+ 12 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/dto/ColumnArticleSelectDto.java

@@ -13,10 +13,22 @@ import lombok.Setter;
 @Getter
 @Setter
 public class ColumnArticleSelectDto extends BaseSelectDto {
+    /**
+     * 状态
+     */
     private String status;
+    /**
+     * 菜单Id
+     */
     private Long columnId;
+    /**
+     * 子栏目Id
+     */
     private Long subId;
 
+    /**
+     * 标题
+     */
     private String title;
 
 }

+ 5 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/po/ColumnMenu.java

@@ -50,4 +50,9 @@ public class ColumnMenu extends BaseIdPo {
      */
     private String listType;
 
+    /**
+     * 是否开启相关文章
+     */
+    private String isRelated;
+
 }

+ 7 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/ColumnArticleService.java

@@ -49,4 +49,11 @@ public interface ColumnArticleService extends BaseService<ColumnArticle> {
      */
     void delete(Long id);
 
+    Page<ColumnArticleVo> getArticleByOpen(ColumnArticleSelectDto dto);
+
+    ColumnArticleVo getArticleDetailByOpen(Long id);
+
+    void saveReadyArticleNum(Long id);
+
+    Page<ColumnArticleVo> relatedArticles(ColumnArticleSelectDto dto);
 }

+ 4 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/ColumnMenuService.java

@@ -49,4 +49,8 @@ public interface ColumnMenuService extends BaseService<ColumnMenu> {
     void delete(Long id);
 
 
+    List<ColumnMenuVo> getMenuListByOpen(ColumnMenuSelectDto dto);
+
+    ColumnMenuVo getMenuDetailByOpen(Long id);
+
 }

+ 63 - 2
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnArticleServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.xmhjc.service.column.impl;
 
 import cn.hutool.core.util.StrUtil;
+import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.xmhjc.entity.about.po.AboutUsCulture;
 import com.fjhx.xmhjc.entity.column.dto.ColumnMenuSelectDto;
@@ -24,6 +25,7 @@ import com.fjhx.xmhjc.entity.column.dto.ColumnArticleDto;
 import cn.hutool.core.bean.BeanUtil;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -69,7 +71,7 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
     @Override
     public Page<ColumnArticleVo> getPage(ColumnArticleSelectDto dto) {
         IWrapper<ColumnArticle> wrapper = getWrapper();
-        wrapper.keyword(dto, new SqlField("ca", ColumnArticle::getSort));
+        wrapper.keyword(dto, new SqlField("ca", ColumnArticle::getTitle));
         if(StrUtil.isNotBlank(dto.getStatus())){
             wrapper.eq("ca", ColumnArticle::getStatus, dto.getStatus());
         }
@@ -79,7 +81,7 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
         if(Objects.nonNull(dto.getSubId())){
             wrapper.eq("ca", ColumnArticle::getSubId, dto.getSubId());
         }
-        wrapper.orderByDesc("ca", ColumnArticle::getId);
+        wrapper.orderByAsc("ca", ColumnArticle::getSort);
         Page<ColumnArticleVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
         Map<Long, String> map = columnMenuService.getList(new ColumnMenuSelectDto()).stream().collect(Collectors.toMap(ColumnMenuVo::getId, ColumnMenuVo::getName));
@@ -123,4 +125,63 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
         this.removeById(id);
     }
 
+    @Override
+    public Page<ColumnArticleVo> getArticleByOpen(ColumnArticleSelectDto dto) {
+        IWrapper<ColumnArticle> wrapper = getWrapper();
+        if(StrUtil.isNotBlank(dto.getStatus())){
+            wrapper.eq("ca", ColumnArticle::getStatus, dto.getStatus());
+        }
+        if(Objects.nonNull(dto.getColumnId())){
+            wrapper.eq("ca", ColumnArticle::getColumnId, dto.getColumnId());
+        }
+        if(Objects.nonNull(dto.getSubId())){
+            wrapper.eq("ca", ColumnArticle::getSubId, dto.getSubId());
+        }
+        wrapper.orderByAsc("ca", ColumnArticle::getSort);
+        Page<ColumnArticleVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+
+        page.getRecords().forEach(x->{
+            //获取封面图片
+            List<Long> businessIdList = new ArrayList<>();
+            businessIdList.add(x.getId());
+            Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 1);
+            x.setCoverList(fileMap.get(x.getId()));
+        });
+        return page;
+    }
+
+    @Override
+    public ColumnArticleVo getArticleDetailByOpen(Long id) {
+        ColumnArticle ColumnArticle = this.getById(id);
+        ColumnArticleVo result = BeanUtil.toBean(ColumnArticle, ColumnArticleVo.class);
+        return result;
+    }
+
+    @Override
+    public void saveReadyArticleNum(Long id) {
+        ColumnArticle columnArticle = this.getById(id);
+        columnArticle.setReadNum(Math.addExact(columnArticle.getReadNum(),1L));
+        updateById(columnArticle);
+    }
+
+    /**
+     * 相关文章
+     * 根据点击量排序
+     * @param dto
+     * @return
+     */
+    @Override
+    public Page<ColumnArticleVo> relatedArticles(ColumnArticleSelectDto dto) {
+        IWrapper<ColumnArticle> wrapper = getWrapper();
+        wrapper.keyword(dto, new SqlField("ca", ColumnArticle::getTitle));
+        if(StrUtil.isNotBlank(dto.getStatus())){
+            wrapper.eq("ca", ColumnArticle::getStatus, dto.getStatus());
+        }
+        if(Objects.nonNull(dto.getSubId())){
+            wrapper.eq("ca", ColumnArticle::getSubId, dto.getSubId());
+        }
+        wrapper.orderByDesc("ca", ColumnArticle::getReadNum);
+        Page<ColumnArticleVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
 }

+ 36 - 4
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnMenuServiceImpl.java

@@ -1,7 +1,6 @@
 package com.fjhx.xmhjc.service.column.impl;
 
 import cn.hutool.core.util.StrUtil;
-import com.fjhx.xmhjc.entity.about.po.AboutUsCulture;
 import com.fjhx.xmhjc.entity.column.dto.ColumnMenuSubSelectDto;
 import com.fjhx.xmhjc.entity.column.po.ColumnMenu;
 import com.fjhx.xmhjc.entity.column.po.ColumnMenuSub;
@@ -9,7 +8,6 @@ import com.fjhx.xmhjc.entity.column.vo.ColumnMenuSubVo;
 import com.fjhx.xmhjc.mapper.column.ColumnMenuMapper;
 import com.fjhx.xmhjc.service.column.ColumnMenuService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -49,8 +47,8 @@ public class ColumnMenuServiceImpl extends ServiceImpl<ColumnMenuMapper, ColumnM
             wrapper.eq("cm", ColumnMenu::getType, dto.getType());
         }
         wrapper.orderByAsc("cm", ColumnMenu::getSort);
-        List<ColumnMenuVo> page = this.baseMapper.getList(wrapper);
-        return page;
+        List<ColumnMenuVo> list = this.baseMapper.getList(wrapper);
+        return list;
     }
 
     @Override
@@ -135,4 +133,38 @@ public class ColumnMenuServiceImpl extends ServiceImpl<ColumnMenuMapper, ColumnM
             this.removeById(id);
         }
     }
+
+    @Override
+    public List<ColumnMenuVo> getMenuListByOpen(ColumnMenuSelectDto dto) {
+
+        List<ColumnMenuVo> list = getList(dto);
+
+        list.forEach(x->{
+            //栏目类型1=列表;2=图文;3=外链
+            if ("1".equals(x.getType())){
+                x.setUrl(null);
+                x.setContent(null);
+            }else if ("2".equals(x.getType())){
+                x.setUrl(null);
+                x.setContent(null);
+            }else if ("3".equals(x.getType())){
+                x.setContent(null);
+            }
+        });
+        return list;
+    }
+
+
+    /**
+     * 用于栏目类型-图文 获取图文内容
+     * @param id
+     * @return
+     */
+    @Override
+    public ColumnMenuVo getMenuDetailByOpen(Long id) {
+        ColumnMenu ColumnMenu = this.getById(id);
+        ColumnMenuVo result = BeanUtil.toBean(ColumnMenu, ColumnMenuVo.class);
+        return result;
+    }
+
 }

+ 2 - 0
hx-xmhjc/src/main/resources/mapper/column/ColumnMenuMapper.xml

@@ -10,6 +10,7 @@
             cm.url,
             cm.sort,
             cm.status,
+            cm.is_related,
             cm.list_type
         from column_menu cm
             ${ew.customSqlSegment}
@@ -23,6 +24,7 @@
             cm.url,
             cm.sort,
             cm.status,
+            cm.is_related,
             cm.list_type
         from column_menu cm
             ${ew.customSqlSegment}