文章新增是否公开字段

This commit is contained in:
不做码农 2023-05-28 14:35:22 +08:00
parent 791d967723
commit 58d8f7a3a7
8 changed files with 93 additions and 30 deletions

View File

@ -44,6 +44,19 @@ namespace ZR.Admin.WebApi.Controllers
return SUCCESS(response);
}
/// <summary>
/// 查询我的文章列表
/// </summary>
/// <returns></returns>
[HttpGet("mylist")]
public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm)
{
parm.UserId = HttpContext.GetUId();
var response = _ArticleService.GetMyList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询最新文章列表
/// </summary>
@ -53,6 +66,7 @@ namespace ZR.Admin.WebApi.Controllers
{
var predicate = Expressionable.Create<Article>();
predicate = predicate.And(m => m.Status == "1");
predicate = predicate.And(m => m.IsPublic == 1);
var response = _ArticleService.Queryable()
.Where(predicate.ToExpression())
@ -72,8 +86,13 @@ namespace ZR.Admin.WebApi.Controllers
[AllowAnonymous]
public IActionResult Get(int id)
{
long userId = HttpContext.GetUId();
var response = _ArticleService.GetId(id);
var model = response.Adapt<ArticleDto>();
if (model.IsPublic == 0 && userId != model.UserId)
{
return ToResponse(Infrastructure.ResultCode.CUSTOM_ERROR, "访问失败");
}
if (model != null)
{
model.ArticleCategoryNav = _ArticleCategoryService.GetById(model.CategoryId);

View File

@ -53,6 +53,9 @@ namespace ZR.Model.System
/// 文章标签egNet5,java
/// </summary>
public string Tags { get; set; }
/// <summary>
/// 点击量
/// </summary>
public int Hits { get; set; }
[SugarColumn(ColumnName = "category_Id")]
public int CategoryId { get; set; }
@ -60,6 +63,10 @@ namespace ZR.Model.System
/// 封面地址
/// </summary>
public string CoverUrl { get; set; }
/// <summary>
/// 是否公开 1、公开 0、不公开
/// </summary>
public int IsPublic { get; set; }
[Navigate(NavigateType.OneToOne, nameof(CategoryId), nameof(ArticleCategory.CategoryId))] //自定义关系映射
public ArticleCategory ArticleCategoryNav { get; set; }

View File

@ -5,11 +5,11 @@ namespace ZR.Model.System.Dto
{
public class ArticleQueryDto : PagerInfo
{
public long? UserId { get; set; }
public string Status { get; set; }
public string Title { get; set; }
public DateTime BeginTime { get; set; }
public DateTime EndTime { get; set; }
public DateTime? BeginTime { get; set; }
public DateTime? EndTime { get; set; }
}
/// <summary>
@ -46,6 +46,6 @@ namespace ZR.Model.System.Dto
public ArticleCategory ArticleCategoryNav { get; set; }
public string[] TagList { get; set; }
public int IsPublic { get; set; }
}
}

View File

@ -37,6 +37,29 @@ namespace ZR.Service.System
return response;
}
/// <summary>
/// 查询我的文章列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<ArticleDto> GetMyList(ArticleQueryDto parm)
{
var predicate = Expressionable.Create<Article>();
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Title), m => m.Title.Contains(parm.Title));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Status), m => m.Status == parm.Status);
predicate = predicate.AndIF(parm.BeginTime != null, m => m.CreateTime >= parm.BeginTime);
predicate = predicate.AndIF(parm.EndTime != null, m => m.CreateTime <= parm.EndTime);
predicate = predicate.And(m => m.UserId == parm.UserId);
var response = Queryable()
.Includes(x => x.ArticleCategoryNav)
.Where(predicate.ToExpression())
.ToPage<Article, ArticleDto>(parm);
return response;
}
/// <summary>
/// 修改文章管理
/// </summary>
@ -54,6 +77,7 @@ namespace ZR.Service.System
CoverUrl = model.CoverUrl,
CategoryId = model.CategoryId,
FmtType = model.FmtType,
IsPublic = model.IsPublic,
});
return response;
}

View File

@ -7,6 +7,7 @@ namespace ZR.Service.System.IService
public interface IArticleService : IBaseService<Article>
{
PagedInfo<ArticleDto> GetList(ArticleQueryDto parm);
PagedInfo<ArticleDto> GetMyList(ArticleQueryDto parm);
/// <summary>
/// 修改文章管理
/// </summary>

View File

@ -333,6 +333,7 @@ CREATE TABLE `article` (
`updateTime` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
`authorName` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者名',
`coverUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面',
`isPublic` int(4) NULL DEFAULT 0 COMMENT '是否公开',
PRIMARY KEY (`cid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
@ -368,34 +369,43 @@ create table sys_config (
primary key (configId)
) engine=innodb auto_increment=100 comment = '参数配置表';
-- ----------------------------
-- 18、代码生成业务表
-- ----------------------------
drop table if exists gen_table;
create table gen_table (
tableId bigint(20) not null auto_increment comment '编号',
tableName varchar(200) default '' comment '表名称',
tableComment varchar(500) default '' comment '表描述',
subTableName varchar(64) default null comment '关联子表的表名',
subTableFkName varchar(64) default null comment '子表关联的外键名',
className varchar(100) default '' comment '实体类名称',
tplCategory varchar(200) default 'crud' comment '使用的模板crud单表操作 tree树表操作',
baseNameSpace varchar(100) comment '生成命名空间前缀',
moduleName varchar(30) comment '生成模块名',
businessName varchar(30) comment '生成业务名',
functionName varchar(50) comment '生成功能名',
functionAuthor varchar(50) comment '生成功能作者',
genType char(1) default '0' comment '生成代码方式0zip压缩包 1自定义路径',
genPath varchar(200) default '/' comment '生成路径(不填默认项目路径)',
options varchar(1000) comment '其它生成选项',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
dbName VARCHAR(100) comment '数据库名',
PRIMARY key (tableId)
) engine=innodb auto_increment=1 comment = '代码生成业务表';
DROP TABLE
IF
EXISTS gen_table;
CREATE TABLE gen_table (
tableId BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
tableName VARCHAR ( 200 ) DEFAULT '' COMMENT '表名称',
tableComment VARCHAR ( 500 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表描述',
subTableName VARCHAR ( 64 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
subTableFkName VARCHAR ( 64 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
className VARCHAR ( 100 ) DEFAULT '' COMMENT '实体类名称',
tplCategory VARCHAR ( 200 ) DEFAULT 'crud' COMMENT '使用的模板crud单表操作 tree树表操作',
baseNameSpace VARCHAR ( 100 ) COMMENT '生成命名空间前缀',
moduleName VARCHAR ( 30 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '生成模块名',
businessName VARCHAR ( 30 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '生成业务名',
functionName VARCHAR ( 50 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '生成功能名',
functionAuthor VARCHAR ( 50 ) COMMENT '生成功能作者',
genType CHAR ( 1 ) DEFAULT '0' COMMENT '生成代码方式0zip压缩包 1自定义路径',
genPath VARCHAR ( 200 ) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
OPTIONS VARCHAR ( 1000 ) COMMENT '其它生成选项',
create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
create_time datetime COMMENT '创建时间',
update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
update_time datetime COMMENT '更新时间',
remark VARCHAR ( 500 ) DEFAULT NULL COMMENT '备注',
dbName VARCHAR ( 100 ) COMMENT '数据库名',
PRIMARY KEY ( tableId )
) ENGINE = INNODB auto_increment = 1 COMMENT = '代码生成业务表';
-- ----------------------------

View File

@ -217,7 +217,8 @@ CREATE TABLE "public"."article" (
"createtime" timestamp(6),
"updatetime" timestamp(6),
"authorname" varchar(20) COLLATE "pg_catalog"."default",
"coverurl" varchar(255) COLLATE "pg_catalog"."default"
"coverurl" varchar(255) COLLATE "pg_catalog"."default",
"isPublic" int4
)
;
COMMENT ON COLUMN "public"."article"."title" IS '文章标题';

View File

@ -337,6 +337,7 @@ CREATE TABLE article (
updateTime datetime NULL DEFAULT NULL , -- '修改时间',
authorName varchar(20) DEFAULT NULL , -- '作者名',
coverUrl varchar(300) NULL, --
isPublic int default(0) --
)
GO
-- ----------------------------