新增文章内容表

This commit is contained in:
gxwebsoft
2024-03-13 20:40:15 +08:00
parent f7038dea41
commit 1f005aa1b0
12 changed files with 360 additions and 5 deletions
@@ -0,0 +1,109 @@
package com.gxwebsoft.cms.controller;
import com.gxwebsoft.cms.entity.ArticleContent;
import com.gxwebsoft.cms.param.ArticleContentParam;
import com.gxwebsoft.cms.service.ArticleContentService;
import com.gxwebsoft.common.core.web.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 文章记录表控制器
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
@Api(tags = "文章记录表管理")
@RestController
@RequestMapping("/api/cms/article-content")
public class ArticleContentController extends BaseController {
@Resource
private ArticleContentService articleContentService;
@ApiOperation("分页查询文章记录表")
@GetMapping("/page")
public ApiResult<PageResult<ArticleContent>> page(ArticleContentParam param) {
PageParam<ArticleContent, ArticleContentParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(articleContentService.page(page, page.getWrapper()));
// 使用关联查询
//return success(articleContentService.pageRel(param));
}
@ApiOperation("查询全部文章记录表")
@GetMapping()
public ApiResult<List<ArticleContent>> list(ArticleContentParam param) {
PageParam<ArticleContent, ArticleContentParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(articleContentService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(articleContentService.listRel(param));
}
@ApiOperation("根据id查询文章记录表")
@GetMapping("/{id}")
public ApiResult<ArticleContent> get(@PathVariable("id") Integer id) {
return success(articleContentService.getById(id));
// 使用关联查询
//return success(articleContentService.getByIdRel(id));
}
@ApiOperation("添加文章记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody ArticleContent articleContent) {
if (articleContentService.save(articleContent)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改文章记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody ArticleContent articleContent) {
if (articleContentService.updateById(articleContent)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除文章记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (articleContentService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加文章记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<ArticleContent> list) {
if (articleContentService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改文章记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<ArticleContent> batchParam) {
if (batchParam.update(articleContentService, "")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除文章记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (articleContentService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -4,8 +4,10 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.cms.entity.Article; import com.gxwebsoft.cms.entity.Article;
import com.gxwebsoft.cms.entity.ArticleCategory; import com.gxwebsoft.cms.entity.ArticleCategory;
import com.gxwebsoft.cms.entity.ArticleContent;
import com.gxwebsoft.cms.param.ArticleParam; import com.gxwebsoft.cms.param.ArticleParam;
import com.gxwebsoft.cms.service.ArticleCategoryService; import com.gxwebsoft.cms.service.ArticleCategoryService;
import com.gxwebsoft.cms.service.ArticleContentService;
import com.gxwebsoft.cms.service.ArticleService; import com.gxwebsoft.cms.service.ArticleService;
import com.gxwebsoft.common.core.web.*; import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.User; import com.gxwebsoft.common.system.entity.User;
@@ -30,6 +32,8 @@ public class ArticleController extends BaseController {
private ArticleService articleService; private ArticleService articleService;
@Resource @Resource
private ArticleCategoryService articleCategoryService; private ArticleCategoryService articleCategoryService;
@Resource
private ArticleContentService articleContentService;
@ApiOperation("分页查询文章记录表") @ApiOperation("分页查询文章记录表")
@GetMapping("/page") @GetMapping("/page")
@@ -53,6 +57,9 @@ public class ArticleController extends BaseController {
// 更新阅读数量 // 更新阅读数量
article.setActualViews(article.getActualViews() + 1); article.setActualViews(article.getActualViews() + 1);
articleService.updateById(article); articleService.updateById(article);
// 附加文字内容
final ArticleContent content = articleContentService.getById(article.getArticleId());
article.setContent(content.getContent());
return success(article); return success(article);
} }
@@ -94,6 +101,11 @@ public class ArticleController extends BaseController {
final ArticleCategory category = articleCategoryService.getById(article.getCategoryId()); final ArticleCategory category = articleCategoryService.getById(article.getCategoryId());
article.setType(category.getType()); article.setType(category.getType());
if (articleService.save(article)) { if (articleService.save(article)) {
// 保存文章内容
final ArticleContent content = new ArticleContent();
content.setArticleId(article.getArticleId());
content.setContent(article.getContent());
articleContentService.save(content);
return success("添加成功"); return success("添加成功");
} }
return fail("添加失败"); return fail("添加失败");
@@ -105,6 +117,9 @@ public class ArticleController extends BaseController {
if (articleService.updateById(article)) { if (articleService.updateById(article)) {
article.setUpdateTime(DateUtil.date()); article.setUpdateTime(DateUtil.date());
articleService.updateById(article); articleService.updateById(article);
// 更新文章内容
ArticleContent content = articleContentService.getById(article.getArticleId());
content.setContent(article.getContent());
return success("修改成功"); return success("修改成功");
} }
return fail("修改失败"); return fail("修改失败");
@@ -48,6 +48,7 @@ public class Article implements Serializable {
private String source; private String source;
@ApiModelProperty(value = "文章内容") @ApiModelProperty(value = "文章内容")
@TableField(exist = false)
private String content; private String content;
@ApiModelProperty(value = "虚拟阅读量(仅用作展示)") @ApiModelProperty(value = "虚拟阅读量(仅用作展示)")
@@ -0,0 +1,37 @@
package com.gxwebsoft.cms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* 文章记录表
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "ArticleContent对象", description = "文章记录表")
@TableName("cms_article_content")
public class ArticleContent implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章ID")
private Integer articleId;
@ApiModelProperty(value = "文章内容")
private String content;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
}
@@ -0,0 +1,37 @@
package com.gxwebsoft.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.cms.entity.ArticleContent;
import com.gxwebsoft.cms.param.ArticleContentParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章记录表Mapper
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
public interface ArticleContentMapper extends BaseMapper<ArticleContent> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<ArticleContent>
*/
List<ArticleContent> selectPageRel(@Param("page") IPage<ArticleContent> page,
@Param("param") ArticleContentParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<ArticleContent> selectListRel(@Param("param") ArticleContentParam param);
}
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxwebsoft.cms.mapper.ArticleContentMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM cms_article_content a
<where>
<if test="param.articleId != null">
AND a.article_id = #{param.articleId}
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.cms.entity.ArticleContent">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.cms.entity.ArticleContent">
<include refid="selectSql"></include>
</select>
</mapper>
@@ -0,0 +1,32 @@
package com.gxwebsoft.cms.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文章记录表查询参数
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ArticleContentParam对象", description = "文章记录表查询参数")
public class ArticleContentParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章ID")
@QueryField(type = QueryType.EQ)
private Integer articleId;
@ApiModelProperty(value = "文章内容")
private String content;
}
@@ -0,0 +1,42 @@
package com.gxwebsoft.cms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.cms.entity.ArticleContent;
import com.gxwebsoft.cms.param.ArticleContentParam;
import java.util.List;
/**
* 文章记录表Service
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
public interface ArticleContentService extends IService<ArticleContent> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<ArticleContent>
*/
PageResult<ArticleContent> pageRel(ArticleContentParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<ArticleContent>
*/
List<ArticleContent> listRel(ArticleContentParam param);
/**
* 根据id查询
*
* @param
* @return ArticleContent
*/
ArticleContent getByIdRel(Integer id);
}
@@ -0,0 +1,47 @@
package com.gxwebsoft.cms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.cms.mapper.ArticleContentMapper;
import com.gxwebsoft.cms.service.ArticleContentService;
import com.gxwebsoft.cms.entity.ArticleContent;
import com.gxwebsoft.cms.param.ArticleContentParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 文章记录表Service实现
*
* @author 科技小王子
* @since 2024-03-13 20:28:29
*/
@Service
public class ArticleContentServiceImpl extends ServiceImpl<ArticleContentMapper, ArticleContent> implements ArticleContentService {
@Override
public PageResult<ArticleContent> pageRel(ArticleContentParam param) {
PageParam<ArticleContent, ArticleContentParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<ArticleContent> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<ArticleContent> listRel(ArticleContentParam param) {
List<ArticleContent> list = baseMapper.selectListRel(param);
// 排序
PageParam<ArticleContent, ArticleContentParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public ArticleContent getByIdRel(Integer id) {
ArticleContentParam param = new ArticleContentParam();
param.setArticleId(id);
return param.getOne(baseMapper.selectListRel(param));
}
}
@@ -23,7 +23,7 @@ public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> impl
@Override @Override
public PageResult<Article> pageRel(ArticleParam param) { public PageResult<Article> pageRel(ArticleParam param) {
PageParam<Article, ArticleParam> page = new PageParam<>(param); PageParam<Article, ArticleParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc"); page.setDefaultOrder("create_time desc");
List<Article> list = baseMapper.selectPageRel(page, param); List<Article> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }
@@ -33,7 +33,7 @@ public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> impl
List<Article> list = baseMapper.selectListRel(param); List<Article> list = baseMapper.selectListRel(param);
// 排序 // 排序
PageParam<Article, ArticleParam> page = new PageParam<>(); PageParam<Article, ArticleParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc"); page.setDefaultOrder("create_time desc");
return page.sortRecords(list); return page.sortRecords(list);
} }
@@ -42,9 +42,8 @@ public class LinkController extends BaseController {
@ApiOperation("根据id查询常用链接") @ApiOperation("根据id查询常用链接")
@GetMapping("/{id}") @GetMapping("/{id}")
public ApiResult<Link> get(@PathVariable("id") Integer id) { public ApiResult<Link> get(@PathVariable("id") Integer id) {
return success(linkService.getById(id));
// 使用关联查询 // 使用关联查询
//return success(linkService.getByIdRel(id)); return success(linkService.getByIdRel(id));
} }
@ApiOperation("添加常用链接") @ApiOperation("添加常用链接")
@@ -45,6 +45,7 @@ public class CmsGenerator {
// "cms_article_category", // "cms_article_category",
// "cms_article_like", // "cms_article_like",
// "cms_article_comment", // "cms_article_comment",
// "cms_article_content",
// "cms_docs", // "cms_docs",
// "cms_ad", // "cms_ad",
// "cms_ad_record", // "cms_ad_record",
@@ -52,7 +53,7 @@ public class CmsGenerator {
// "cms_design", // "cms_design",
// "cms_design_record", // "cms_design_record",
// "cms_website", // "cms_website",
"cms_website_field" // "cms_website_field",
}; };
// 需要去除的表前缀 // 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{ private static final String[] TABLE_PREFIX = new String[]{