官网 修改新闻详情
This commit is contained in:
parent
97a246dcc1
commit
c051cc1d7b
|
@ -41,10 +41,8 @@ public class GwLableController extends BaseController {
|
||||||
private final IGwLableService iGwLableService;
|
private final IGwLableService iGwLableService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询标签封面信息
|
* 查询标签封面信息列表
|
||||||
列表
|
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("official:lable:list")
|
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo<GwLableVo> list(GwLableBo bo, PageQuery pageQuery) {
|
public TableDataInfo<GwLableVo> list(GwLableBo bo, PageQuery pageQuery) {
|
||||||
return iGwLableService.queryPageList(bo, pageQuery);
|
return iGwLableService.queryPageList(bo, pageQuery);
|
||||||
|
|
|
@ -41,8 +41,7 @@ public class GwSlideshowController extends BaseController {
|
||||||
private final IGwSlideshowService iGwSlideshowService;
|
private final IGwSlideshowService iGwSlideshowService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新闻信息
|
* 查询新闻信息列表
|
||||||
列表
|
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("official:slideshow:list")
|
@SaCheckPermission("official:slideshow:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
|
@ -67,7 +66,7 @@ public class GwSlideshowController extends BaseController {
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("official:slideshow:query")
|
/*@SaCheckPermission("official:slideshow:query")*/
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<GwSlideshowVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) {
|
public R<GwSlideshowVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) {
|
||||||
return R.ok(iGwSlideshowService.queryById(id));
|
return R.ok(iGwSlideshowService.queryById(id));
|
||||||
|
|
|
@ -71,17 +71,4 @@ public class GwSlideshowBo extends BaseEntity {
|
||||||
@NotBlank(message = "是否置顶 0:否 1:是不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "是否置顶 0:否 1:是不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String isTop;
|
private String isTop;
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建者id
|
|
||||||
*/
|
|
||||||
@NotNull(message = "创建者id不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long createUserId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新者id
|
|
||||||
*/
|
|
||||||
@NotNull(message = "更新者id不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long updateUserId;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,16 +17,13 @@ import com.ruoyi.official.domain.GwSlideshow;
|
||||||
import com.ruoyi.official.mapper.GwSlideshowMapper;
|
import com.ruoyi.official.mapper.GwSlideshowMapper;
|
||||||
import com.ruoyi.official.service.IGwSlideshowService;
|
import com.ruoyi.official.service.IGwSlideshowService;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻信息
|
* 新闻信息
|
||||||
Service业务层处理
|
* Service业务层处理
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2024-06-19
|
* @date 2024-06-19
|
||||||
|
@ -39,25 +36,29 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新闻信息
|
* 查询新闻信息
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public GwSlideshowVo queryById(Long id) {
|
public GwSlideshowVo queryById(Long id) {
|
||||||
GwSlideshowVo gwSlideshowVo = baseMapper.selectVoById(id);
|
GwSlideshowVo gwSlideshowVo = baseMapper.selectVoById(id);
|
||||||
//查询详情时返回上一篇,下一篇处理
|
//查询详情时返回上一篇,下一篇处理
|
||||||
List<GwSlideshow> list = baseMapper.selectList(Wrappers.<GwSlideshow>lambdaQuery().orderByDesc(GwSlideshow::getCreateTime));
|
List<GwSlideshow> list = baseMapper.selectList(Wrappers.<GwSlideshow>lambdaQuery().orderByDesc(GwSlideshow::getCreateTime));
|
||||||
|
getPrevNextArticles(id, gwSlideshowVo, list);
|
||||||
|
return gwSlideshowVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Map<String, Object> getPrevNextArticles(Long id, GwSlideshowVo gwSlideshowVo, List<GwSlideshow> list) {
|
||||||
Map<String, Object> hashMap = new HashMap<>(16);
|
Map<String, Object> hashMap = new HashMap<>(16);
|
||||||
|
|
||||||
if(CollUtil.isNotEmpty(list)&&list.size()>1){
|
if (CollUtil.isEmpty(list)) return hashMap;
|
||||||
List<Long> collect = list.stream().map(GwSlideshow::getId).collect(Collectors.toList());
|
Optional<GwSlideshow> first = list.stream().filter(itx -> Objects.equals(itx.getId(), id)).findFirst();
|
||||||
if (collect.contains(id)){
|
if (first.isPresent()) {
|
||||||
int currentSubscript = collect.indexOf(id);
|
int index = list.indexOf(first.get());
|
||||||
hashMap.put("previous",ObjectUtil.isNotEmpty(list.get(currentSubscript-1))?list.get(currentSubscript-1):null);
|
if (index > 0) hashMap.put("previous", list.get(index - 1));
|
||||||
hashMap.put("nextArticle",ObjectUtil.isNotEmpty(list.get(currentSubscript-1))?list.get(currentSubscript+1):null);
|
if (index < list.size() - 1) hashMap.put("nextArticle", list.get(index + 1));
|
||||||
|
}
|
||||||
gwSlideshowVo.setSlideshowMap(hashMap);
|
gwSlideshowVo.setSlideshowMap(hashMap);
|
||||||
}
|
return hashMap;
|
||||||
}
|
|
||||||
return gwSlideshowVo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,15 +90,12 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getNewsContent()), GwSlideshow::getNewsContent, bo.getNewsContent());
|
lqw.eq(StringUtils.isNotBlank(bo.getNewsContent()), GwSlideshow::getNewsContent, bo.getNewsContent());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getAbstracts()), GwSlideshow::getAbstracts, bo.getAbstracts());
|
lqw.eq(StringUtils.isNotBlank(bo.getAbstracts()), GwSlideshow::getAbstracts, bo.getAbstracts());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getIsTop()), GwSlideshow::getIsTop, bo.getIsTop());
|
lqw.eq(StringUtils.isNotBlank(bo.getIsTop()), GwSlideshow::getIsTop, bo.getIsTop());
|
||||||
lqw.eq(bo.getCreateUserId() != null, GwSlideshow::getCreateUserId, bo.getCreateUserId());
|
|
||||||
lqw.eq(bo.getUpdateUserId() != null, GwSlideshow::getUpdateUserId, bo.getUpdateUserId());
|
|
||||||
lqw.orderByDesc(GwSlideshow::getCreateTime);
|
lqw.orderByDesc(GwSlideshow::getCreateTime);
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增新闻信息
|
* 新增新闻信息
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(GwSlideshowBo bo) {
|
public Boolean insertByBo(GwSlideshowBo bo) {
|
||||||
|
@ -112,7 +110,6 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改新闻信息
|
* 修改新闻信息
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean updateByBo(GwSlideshowBo bo) {
|
public Boolean updateByBo(GwSlideshowBo bo) {
|
||||||
|
@ -130,18 +127,17 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
||||||
if (ObjectUtil.isNotEmpty(entity.getId())) {
|
if (ObjectUtil.isNotEmpty(entity.getId())) {
|
||||||
//编辑
|
//编辑
|
||||||
boolean exists = baseMapper.exists(Wrappers.<GwSlideshow>lambdaQuery().eq(GwSlideshow::getIsTop, "1"));
|
boolean exists = baseMapper.exists(Wrappers.<GwSlideshow>lambdaQuery().eq(GwSlideshow::getIsTop, "1"));
|
||||||
if (exists)throw new RuntimeException("已存在置顶的图片信息!");
|
if (exists && entity.getIsTop().equals("1")) throw new RuntimeException("已存在置顶的图片信息!");
|
||||||
} else {
|
} else {
|
||||||
//新增
|
//新增
|
||||||
boolean exists = baseMapper.exists(Wrappers.<GwSlideshow>lambdaQuery().eq(GwSlideshow::getIsTop, "1"));
|
boolean exists = baseMapper.exists(Wrappers.<GwSlideshow>lambdaQuery().eq(GwSlideshow::getIsTop, "1"));
|
||||||
if (exists)throw new RuntimeException("已存在置顶的图片信息!");
|
if (exists && entity.getIsTop().equals("1")) throw new RuntimeException("已存在置顶的图片信息!");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除新闻信息
|
* 批量删除新闻信息
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
|
|
@ -1,14 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="封面" prop="cover">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.cover"
|
|
||||||
placeholder="请输入封面"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="标题名称" prop="captionName">
|
<el-form-item label="标题名称" prop="captionName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.captionName"
|
v-model="queryParams.captionName"
|
||||||
|
@ -33,38 +26,15 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="摘要" prop="abstract">
|
<el-form-item label="摘要" prop="abstracts">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.abstract"
|
v-model="queryParams.abstracts"
|
||||||
placeholder="请输入摘要"
|
placeholder="请输入摘要"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否置顶 0:否 1:是" prop="isTop">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.isTop"
|
|
||||||
placeholder="请输入是否置顶 0:否 1:是"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="创建者id" prop="createUserId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.createUserId"
|
|
||||||
placeholder="请输入创建者id"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="更新者id" prop="updateUserId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.updateUserId"
|
|
||||||
placeholder="请输入更新者id"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
@ -119,7 +89,7 @@
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="slideshowList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="slideshowList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="主键id" align="center" prop="id" v-if="true"/>
|
<el-table-column label="主键id" align="center" prop="id" v-if="false"/>
|
||||||
<el-table-column label="封面" align="center" prop="cover" />
|
<el-table-column label="封面" align="center" prop="cover" />
|
||||||
<el-table-column label="标题名称" align="center" prop="captionName" />
|
<el-table-column label="标题名称" align="center" prop="captionName" />
|
||||||
<el-table-column label="发布时间" align="center" prop="releaseTime" width="180">
|
<el-table-column label="发布时间" align="center" prop="releaseTime" width="180">
|
||||||
|
@ -129,7 +99,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="集团名称" align="center" prop="groupName" />
|
<el-table-column label="集团名称" align="center" prop="groupName" />
|
||||||
<el-table-column label="新闻内容" align="center" prop="newsContent" />
|
<el-table-column label="新闻内容" align="center" prop="newsContent" />
|
||||||
<el-table-column label="摘要" align="center" prop="abstract" />
|
<el-table-column label="摘要" align="center" prop="abstracts" />
|
||||||
<el-table-column label="是否置顶 0:否 1:是" align="center" prop="isTop" />
|
<el-table-column label="是否置顶 0:否 1:是" align="center" prop="isTop" />
|
||||||
<el-table-column label="创建者id" align="center" prop="createUserId" />
|
<el-table-column label="创建者id" align="center" prop="createUserId" />
|
||||||
<el-table-column label="更新者id" align="center" prop="updateUserId" />
|
<el-table-column label="更新者id" align="center" prop="updateUserId" />
|
||||||
|
@ -185,18 +155,12 @@
|
||||||
<el-form-item label="新闻内容">
|
<el-form-item label="新闻内容">
|
||||||
<editor v-model="form.newsContent" :min-height="192"/>
|
<editor v-model="form.newsContent" :min-height="192"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="摘要" prop="abstract">
|
<el-form-item label="摘要" prop="abstracts">
|
||||||
<el-input v-model="form.abstract" placeholder="请输入摘要" />
|
<el-input v-model="form.abstracts" placeholder="请输入摘要" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否置顶 0:否 1:是" prop="isTop">
|
<el-form-item label="是否置顶 0:否 1:是" prop="isTop">
|
||||||
<el-input v-model="form.isTop" placeholder="请输入是否置顶 0:否 1:是" />
|
<el-input v-model="form.isTop" placeholder="请输入是否置顶 0:否 1:是" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建者id" prop="createUserId">
|
|
||||||
<el-input v-model="form.createUserId" placeholder="请输入创建者id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="更新者id" prop="updateUserId">
|
|
||||||
<el-input v-model="form.updateUserId" placeholder="请输入更新者id" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
@ -242,10 +206,8 @@ export default {
|
||||||
releaseTime: undefined,
|
releaseTime: undefined,
|
||||||
groupName: undefined,
|
groupName: undefined,
|
||||||
newsContent: undefined,
|
newsContent: undefined,
|
||||||
abstract: undefined,
|
abstracts: undefined,
|
||||||
isTop: undefined,
|
isTop: undefined,
|
||||||
createUserId: undefined,
|
|
||||||
updateUserId: undefined,
|
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
|
@ -269,18 +231,12 @@ export default {
|
||||||
newsContent: [
|
newsContent: [
|
||||||
{ required: true, message: "新闻内容不能为空", trigger: "blur" }
|
{ required: true, message: "新闻内容不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
abstract: [
|
abstracts: [
|
||||||
{ required: true, message: "摘要不能为空", trigger: "blur" }
|
{ required: true, message: "摘要不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
isTop: [
|
isTop: [
|
||||||
{ required: true, message: "是否置顶 0:否 1:是不能为空", trigger: "blur" }
|
{ required: true, message: "是否置顶 0:否 1:是不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
createUserId: [
|
|
||||||
{ required: true, message: "创建者id不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
updateUserId: [
|
|
||||||
{ required: true, message: "更新者id不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -312,7 +268,7 @@ export default {
|
||||||
releaseTime: undefined,
|
releaseTime: undefined,
|
||||||
groupName: undefined,
|
groupName: undefined,
|
||||||
newsContent: undefined,
|
newsContent: undefined,
|
||||||
abstract: undefined,
|
abstracts: undefined,
|
||||||
isTop: undefined,
|
isTop: undefined,
|
||||||
createBy: undefined,
|
createBy: undefined,
|
||||||
createUserId: undefined,
|
createUserId: undefined,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user