From 767203410b2e03ad179357c483f7e0b7442cdcd0 Mon Sep 17 00:00:00 2001 From: sdif <xiaoping_0000@163.com> Date: Fri, 24 Nov 2023 16:56:07 +0800 Subject: [PATCH] 新增官网新闻资讯接口 --- pz-applet/src/main/java/com/pz/applet/AppletInformationController.java | 12 ++++++++++++ pz-system/src/main/java/com/pz/system/domain/vo/InformationVo.java | 18 ++++++++++++++++++ pz-system/src/main/java/com/pz/system/domain/vo/OsArticleVo.java | 25 +++++++++++++++++++++++++ pz-system/src/main/java/com/pz/system/service/IInformationService.java | 6 ++++++ pz-system/src/main/java/com/pz/system/service/impl/InformationServiceImpl.java | 40 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+) create mode 100644 pz-system/src/main/java/com/pz/system/domain/vo/OsArticleVo.java diff --git a/pz-applet/src/main/java/com/pz/applet/AppletInformationController.java b/pz-applet/src/main/java/com/pz/applet/AppletInformationController.java index be85bdf..0991fa6 100644 --- a/pz-applet/src/main/java/com/pz/applet/AppletInformationController.java +++ b/pz-applet/src/main/java/com/pz/applet/AppletInformationController.java @@ -15,6 +15,7 @@ import com.pz.common.enums.BusinessType; import com.pz.common.utils.poi.ExcelUtil; import com.pz.system.domain.bo.InformationBo; import com.pz.system.domain.vo.InformationVo; +import com.pz.system.domain.vo.OsArticleVo; import com.pz.system.service.IInformationService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -52,10 +53,21 @@ public class AppletInformationController extends BaseController { } /** + * 查询新闻资讯列表官网 + */ + @SaIgnore + @GetMapping("/listgw") + public R<InformationVo> listgw(@RequestParam("id") String id) { + //bo.setCityId(CityIdUtils.setCityIdPasLong(reques)); + return R.ok(iInformationService.listgw(id)); + } + + /** * 获取新闻资讯详细信息 * * @param id 主键 */ + @SaIgnore @GetMapping("/{id}") public R<InformationVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Integer id) { diff --git a/pz-system/src/main/java/com/pz/system/domain/vo/InformationVo.java b/pz-system/src/main/java/com/pz/system/domain/vo/InformationVo.java index 4a1812d..35b5395 100644 --- a/pz-system/src/main/java/com/pz/system/domain/vo/InformationVo.java +++ b/pz-system/src/main/java/com/pz/system/domain/vo/InformationVo.java @@ -65,4 +65,22 @@ public class InformationVo { private Date createTime; private Date updateTime; + + + /* + * 上一篇文章id + */ + private String beforeId; + /** + * 上一篇文章标题 + */ + private String beforeTitle; + /** + * 下一篇文章id + */ + private String afterId; + /** + * 下一篇文章标题 + */ + private String afterTitle; } diff --git a/pz-system/src/main/java/com/pz/system/domain/vo/OsArticleVo.java b/pz-system/src/main/java/com/pz/system/domain/vo/OsArticleVo.java new file mode 100644 index 0000000..df55c9f --- /dev/null +++ b/pz-system/src/main/java/com/pz/system/domain/vo/OsArticleVo.java @@ -0,0 +1,25 @@ +package com.pz.system.domain.vo; + +import lombok.Data; + +@Data +public class OsArticleVo extends InformationVo{ + /** */ + private static final long serialVersionUID = 1L; + /* + * 上一篇文章id + */ + private String beforeId; + /** + * 上一篇文章标题 + */ + private String beforeTitle; + /** + * 下一篇文章id + */ + private String afterId; + /** + * 下一篇文章标题 + */ + private String afterTitle; +} diff --git a/pz-system/src/main/java/com/pz/system/service/IInformationService.java b/pz-system/src/main/java/com/pz/system/service/IInformationService.java index 8e43f99..9ffd623 100644 --- a/pz-system/src/main/java/com/pz/system/service/IInformationService.java +++ b/pz-system/src/main/java/com/pz/system/service/IInformationService.java @@ -5,6 +5,7 @@ import com.pz.system.domain.vo.InformationVo; import com.pz.system.domain.bo.InformationBo; import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.domain.PageQuery; +import com.pz.system.domain.vo.OsArticleVo; import java.util.Collection; import java.util.List; @@ -33,6 +34,11 @@ public interface IInformationService { List<InformationVo> queryList(InformationBo bo); /** + * 查询新闻资讯列表官网 + */ + InformationVo listgw(String id); + + /** * 新增新闻资讯 */ Boolean insertByBo(InformationBo bo); diff --git a/pz-system/src/main/java/com/pz/system/service/impl/InformationServiceImpl.java b/pz-system/src/main/java/com/pz/system/service/impl/InformationServiceImpl.java index d0d4072..e3a720e 100644 --- a/pz-system/src/main/java/com/pz/system/service/impl/InformationServiceImpl.java +++ b/pz-system/src/main/java/com/pz/system/service/impl/InformationServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.pz.system.domain.City; +import com.pz.system.domain.vo.OsArticleVo; import com.pz.system.mapper.CityMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -71,6 +72,45 @@ public class InformationServiceImpl implements IInformationService { return baseMapper.selectVoList(lqw); } + @Override + public InformationVo listgw(String id) { + InformationVo informationVo = baseMapper.selectVoById(id); + // 根据当前文章类型查询相关文章 + List<InformationVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<>()); + Optional.ofNullable(list).ifPresent(informationVos -> { + informationVos.forEach(informationVo1 -> { + Optional.ofNullable(cityMapper.selectVoById(informationVo1.getCityId())) + .ifPresent(cityVo -> { + informationVo1.setCityName(cityVo.getName()); + }); + }); + }); + // list长度减一(索引值从0开始) + int count = list.size() - 1; + list.forEach(a -> { + if (a.getId().equals(informationVo.getId())) { + // 当前文章所在索引位置 + int index = list.indexOf(a); + // 索引为0时且list长度大于0,直接获取索引下一个值 + if (index == 0 && count > 0) { + informationVo.setAfterId(list.get(1).getId().toString()); + informationVo.setAfterTitle(list.get(1).getTitle()); + // 索引为最后一个且list长度大于0,,赋值上一篇文章 + } else if (index == count && count > 0) { + informationVo.setBeforeId(list.get(index - 1).getId().toString()); + informationVo.setBeforeTitle(list.get(index - 1).getTitle()); + } else { + // 索引为中间值时,分别给上下文章赋值 + informationVo.setBeforeId(list.get(index - 1).getId().toString()); + informationVo.setBeforeTitle(list.get(index - 1).getTitle()); + informationVo.setAfterId(list.get(index + 1).getId().toString()); + informationVo.setAfterTitle(list.get(index + 1).getTitle()); + } + } + }); + return informationVo; + } + private LambdaQueryWrapper<Information> buildQueryWrapper(InformationBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<Information> lqw = Wrappers.lambdaQuery(); -- libgit2 0.26.0