官网 修改新闻详情
This commit is contained in:
parent
97a246dcc1
commit
c051cc1d7b
|
@ -41,10 +41,8 @@ public class GwLableController extends BaseController {
|
|||
private final IGwLableService iGwLableService;
|
||||
|
||||
/**
|
||||
* 查询标签封面信息
|
||||
列表
|
||||
* 查询标签封面信息列表
|
||||
*/
|
||||
@SaCheckPermission("official:lable:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<GwLableVo> list(GwLableBo bo, PageQuery pageQuery) {
|
||||
return iGwLableService.queryPageList(bo, pageQuery);
|
||||
|
|
|
@ -41,8 +41,7 @@ public class GwSlideshowController extends BaseController {
|
|||
private final IGwSlideshowService iGwSlideshowService;
|
||||
|
||||
/**
|
||||
* 查询新闻信息
|
||||
列表
|
||||
* 查询新闻信息列表
|
||||
*/
|
||||
@SaCheckPermission("official:slideshow:list")
|
||||
@GetMapping("/list")
|
||||
|
@ -67,7 +66,7 @@ public class GwSlideshowController extends BaseController {
|
|||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("official:slideshow:query")
|
||||
/*@SaCheckPermission("official:slideshow:query")*/
|
||||
@GetMapping("/{id}")
|
||||
public R<GwSlideshowVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long 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 })
|
||||
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.service.IGwSlideshowService;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 新闻信息
|
||||
Service业务层处理
|
||||
* Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2024-06-19
|
||||
|
@ -39,25 +36,29 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
|||
|
||||
/**
|
||||
* 查询新闻信息
|
||||
|
||||
*/
|
||||
@Override
|
||||
public GwSlideshowVo queryById(Long id){
|
||||
public GwSlideshowVo queryById(Long id) {
|
||||
GwSlideshowVo gwSlideshowVo = baseMapper.selectVoById(id);
|
||||
//查询详情时返回上一篇,下一篇处理
|
||||
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);
|
||||
|
||||
if(CollUtil.isNotEmpty(list)&&list.size()>1){
|
||||
List<Long> collect = list.stream().map(GwSlideshow::getId).collect(Collectors.toList());
|
||||
if (collect.contains(id)){
|
||||
int currentSubscript = collect.indexOf(id);
|
||||
hashMap.put("previous",ObjectUtil.isNotEmpty(list.get(currentSubscript-1))?list.get(currentSubscript-1):null);
|
||||
hashMap.put("nextArticle",ObjectUtil.isNotEmpty(list.get(currentSubscript-1))?list.get(currentSubscript+1):null);
|
||||
gwSlideshowVo.setSlideshowMap(hashMap);
|
||||
}
|
||||
if (CollUtil.isEmpty(list)) return hashMap;
|
||||
Optional<GwSlideshow> first = list.stream().filter(itx -> Objects.equals(itx.getId(), id)).findFirst();
|
||||
if (first.isPresent()) {
|
||||
int index = list.indexOf(first.get());
|
||||
if (index > 0) hashMap.put("previous", list.get(index - 1));
|
||||
if (index < list.size() - 1) hashMap.put("nextArticle", list.get(index + 1));
|
||||
}
|
||||
return gwSlideshowVo;
|
||||
gwSlideshowVo.setSlideshowMap(hashMap);
|
||||
return hashMap;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -89,15 +90,12 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
|||
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.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);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增新闻信息
|
||||
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(GwSlideshowBo bo) {
|
||||
|
@ -112,7 +110,6 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
|||
|
||||
/**
|
||||
* 修改新闻信息
|
||||
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(GwSlideshowBo bo) {
|
||||
|
@ -124,28 +121,27 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService {
|
|||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(GwSlideshow entity){
|
||||
private void validEntityBeforeSave(GwSlideshow entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
//存在已置顶的数据不允许添加、编辑
|
||||
if (ObjectUtil.isNotEmpty(entity.getId())){
|
||||
if (ObjectUtil.isNotEmpty(entity.getId())) {
|
||||
//编辑
|
||||
boolean exists = baseMapper.exists(Wrappers.<GwSlideshow>lambdaQuery().eq(GwSlideshow::getIsTop, "1"));
|
||||
if (exists)throw new RuntimeException("已存在置顶的图片信息!");
|
||||
}else {
|
||||
if (exists && entity.getIsTop().equals("1")) throw new RuntimeException("已存在置顶的图片信息!");
|
||||
} else {
|
||||
//新增
|
||||
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
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
|
|
|
@ -1,14 +1,7 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<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-input
|
||||
v-model="queryParams.captionName"
|
||||
|
@ -33,38 +26,15 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="摘要" prop="abstract">
|
||||
<el-form-item label="摘要" prop="abstracts">
|
||||
<el-input
|
||||
v-model="queryParams.abstract"
|
||||
v-model="queryParams.abstracts"
|
||||
placeholder="请输入摘要"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</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-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>
|
||||
|
@ -119,7 +89,7 @@
|
|||
|
||||
<el-table v-loading="loading" :data="slideshowList" @selection-change="handleSelectionChange">
|
||||
<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="captionName" />
|
||||
<el-table-column label="发布时间" align="center" prop="releaseTime" width="180">
|
||||
|
@ -129,7 +99,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="集团名称" align="center" prop="groupName" />
|
||||
<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="创建者id" align="center" prop="createUserId" />
|
||||
<el-table-column label="更新者id" align="center" prop="updateUserId" />
|
||||
|
@ -185,18 +155,12 @@
|
|||
<el-form-item label="新闻内容">
|
||||
<editor v-model="form.newsContent" :min-height="192"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="摘要" prop="abstract">
|
||||
<el-input v-model="form.abstract" placeholder="请输入摘要" />
|
||||
<el-form-item label="摘要" prop="abstracts">
|
||||
<el-input v-model="form.abstracts" placeholder="请输入摘要" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否置顶 0:否 1:是" prop="isTop">
|
||||
<el-input v-model="form.isTop" placeholder="请输入是否置顶 0:否 1:是" />
|
||||
</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>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
|
@ -242,10 +206,8 @@ export default {
|
|||
releaseTime: undefined,
|
||||
groupName: undefined,
|
||||
newsContent: undefined,
|
||||
abstract: undefined,
|
||||
abstracts: undefined,
|
||||
isTop: undefined,
|
||||
createUserId: undefined,
|
||||
updateUserId: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
|
@ -269,18 +231,12 @@ export default {
|
|||
newsContent: [
|
||||
{ required: true, message: "新闻内容不能为空", trigger: "blur" }
|
||||
],
|
||||
abstract: [
|
||||
abstracts: [
|
||||
{ required: true, message: "摘要不能为空", trigger: "blur" }
|
||||
],
|
||||
isTop: [
|
||||
{ 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,
|
||||
groupName: undefined,
|
||||
newsContent: undefined,
|
||||
abstract: undefined,
|
||||
abstracts: undefined,
|
||||
isTop: undefined,
|
||||
createBy: undefined,
|
||||
createUserId: undefined,
|
||||
|
|
Loading…
Reference in New Issue
Block a user