From 59411a551afeca8f627079a4224074617d38d875 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 30 May 2022 18:03:17 +0800
Subject: [PATCH] 20220527
---
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeArticleInfoVo.java | 45 +
src/main/java/com/xcong/farmer/cms/modules/system/service/INavigationBarService.java | 23
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminNavigationBarVo.java | 33 +
src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java | 30 +
src/main/java/com/xcong/farmer/cms/modules/system/service/IColumnService.java | 23
src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java | 60 ++
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminArticleVo.java | 51 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddColumnDto.java | 29 +
src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminNavigationBarController.java | 67 ++
src/main/java/com/xcong/farmer/cms/modules/system/mapper/ArticleMapper.java | 16
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java | 22
src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminColumnController.java | 66 ++
src/main/java/com/xcong/farmer/cms/modules/system/entity/NavigationBarEntity.java | 31 +
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeColumnInfoVo.java | 30 +
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/NavigationBarServiceImpl.java | 202 +++++++
src/main/resources/mapper/NavigationBarMapper.xml | 29 +
src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminArticleController.java | 56 ++
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeBarInfoVo.java | 30 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateBarDto.java | 29 +
src/main/resources/mapper/ArticleMapper.xml | 33 +
src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminColumnVo.java | 31 +
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java | 214 +++++++
src/main/resources/mapper/ColumnMapper.xml | 29 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateColumnDto.java | 31 +
src/main/java/com/xcong/farmer/cms/modules/system/service/IArticleService.java | 21
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminNavigationBarDto.java | 16
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MenuServiceImpl.java | 1
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateArticleDto.java | 47 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddArticleDto.java | 43 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java | 22
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddBarDto.java | 28 +
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminColumnDto.java | 16
src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java | 17
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java | 179 ++++++
src/main/java/com/xcong/farmer/cms/modules/system/mapper/NavigationBarMapper.java | 17
35 files changed, 1,608 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminArticleController.java b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminArticleController.java
new file mode 100644
index 0000000..427e3bb
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminArticleController.java
@@ -0,0 +1,56 @@
+package com.xcong.farmer.cms.modules.system.Controller;
+
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.*;
+import com.xcong.farmer.cms.modules.system.service.IArticleService;
+import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@RequestMapping(value = "/api/article")
+@Slf4j
+@Api(value = "文章", tags = "文章")
+public class AdminArticleController {
+
+ @Resource
+ private IArticleService iArticleService;
+
+ @ApiOperation(value = "文章分页列表", notes = "文章分页列表")
+ @ApiResponses({@ApiResponse(code = 200, message = "ok", response = AdminArticleVo.class)})
+ @PostMapping(value = "/articleInPage")
+ public Result getArticleInPage(@RequestBody @Valid AdminArticleDto adminArticleDto) {
+ return iArticleService.getArticleInPage(adminArticleDto);
+ }
+
+ @ApiOperation(value = "添加文章", notes = "添加文章")
+ @PostMapping(value = "/addArticle")
+ public Result addArticle(@RequestBody @Valid AdminAddArticleDto adminAddArticleDto) {
+ return iArticleService.addArticle(adminAddArticleDto);
+ }
+
+ @ApiOperation(value = "删除文章", notes = "删除文章")
+ @GetMapping(value = "/deleteArticle/{id}")
+ public Result deleteArticle(@PathVariable(value = "id") Long id) {
+ return iArticleService.deleteArticle(id);
+ }
+
+ @ApiOperation(value = "查看文章", notes = "查看文章")
+ @GetMapping(value = "/seeArticleInfo/{id}")
+ public Result seeArticleInfo(@PathVariable(value = "id") Long id) {
+ return iArticleService.seeArticleInfo(id);
+ }
+
+ @ApiOperation(value = "更新文章", notes = "更新文章")
+ @PostMapping(value = "/updateArticle")
+ public Result updateArticle(@RequestBody @Valid AdminUpdateArticleDto adminUpdateArticleDto) {
+ return iArticleService.updateArticle(adminUpdateArticleDto);
+ }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminColumnController.java b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminColumnController.java
new file mode 100644
index 0000000..1d87867
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminColumnController.java
@@ -0,0 +1,66 @@
+package com.xcong.farmer.cms.modules.system.Controller;
+
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.*;
+import com.xcong.farmer.cms.modules.system.service.IColumnService;
+import com.xcong.farmer.cms.modules.system.vo.AdminColumnVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@RequestMapping(value = "/api/column")
+@Slf4j
+@Api(value = "栏目", tags = "栏目")
+public class AdminColumnController {
+
+ @Resource
+ private IColumnService iColumnService;
+
+ @ApiOperation(value = "栏目分页列表", notes = "栏目分页列表")
+ @ApiResponses({@ApiResponse(code = 200, message = "ok", response = AdminColumnVo.class)})
+ @PostMapping(value = "/columnInPage")
+ public Result getColumnInPage(@RequestBody @Valid AdminColumnDto adminColumnDto) {
+ log.info("--->{}", SecurityContextHolder.getContext().getAuthentication());
+ return iColumnService.getColumnInPage(adminColumnDto);
+ }
+
+ @ApiOperation(value = "栏目列表", notes = "栏目列表")
+ @ApiResponses({@ApiResponse(code = 200, message = "ok", response = AdminColumnVo.class)})
+ @GetMapping(value = "/columnInList")
+ public Result columnInList() {
+ return iColumnService.getColumnInList();
+ }
+
+ @ApiOperation(value = "添加栏目", notes = "添加栏目")
+ @PostMapping(value = "/addColumn")
+ public Result addColumn(@RequestBody @Valid AdminAddColumnDto adminAddColumnDto) {
+ return iColumnService.addColumn(adminAddColumnDto);
+ }
+
+ @ApiOperation(value = "删除栏目", notes = "删除栏目")
+ @GetMapping(value = "/deleteColumn/{id}")
+ public Result deleteColumn(@PathVariable(value = "id") Long id) {
+ return iColumnService.deleteColumn(id);
+ }
+
+ @ApiOperation(value = "查看栏目", notes = "查看栏目")
+ @GetMapping(value = "/seeColumnInfo/{id}")
+ public Result seeColumnInfo(@PathVariable(value = "id") Long id) {
+ return iColumnService.seeColumnInfo(id);
+ }
+
+ @ApiOperation(value = "更新栏目", notes = "更新栏目")
+ @PostMapping(value = "/updateColumn")
+ public Result updateColumn(@RequestBody @Valid AdminUpdateColumnDto adminUpdateColumnDto) {
+ return iColumnService.updateColumn(adminUpdateColumnDto);
+ }
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminNavigationBarController.java b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminNavigationBarController.java
new file mode 100644
index 0000000..89970dc
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/Controller/AdminNavigationBarController.java
@@ -0,0 +1,67 @@
+package com.xcong.farmer.cms.modules.system.Controller;
+
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.*;
+import com.xcong.farmer.cms.modules.system.service.INavigationBarService;
+import com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@RequestMapping(value = "/api/bar")
+@Slf4j
+@Api(value = "导航栏", tags = "导航栏")
+public class AdminNavigationBarController {
+
+ @Resource
+ private INavigationBarService iNavigationBarService;
+
+ @ApiOperation(value = "导航栏分页列表", notes = "导航栏分页列表")
+ @ApiResponses({@ApiResponse(code = 200, message = "ok", response = AdminNavigationBarVo.class)})
+ @PostMapping(value = "/barInPage")
+ public Result getBarInPage(@RequestBody @Valid AdminNavigationBarDto adminNavigationBarDto) {
+ log.info("--->{}", SecurityContextHolder.getContext().getAuthentication());
+ return iNavigationBarService.getBarInPage(adminNavigationBarDto);
+ }
+
+ @ApiOperation(value = "导航栏列表", notes = "导航栏列表")
+ @ApiResponses({@ApiResponse(code = 200, message = "ok", response = AdminNavigationBarVo.class)})
+ @GetMapping(value = "/barInList")
+ public Result getBarInList() {
+ return iNavigationBarService.getBarInList();
+ }
+
+ @ApiOperation(value = "添加导航栏", notes = "添加导航栏")
+ @PostMapping(value = "/addBar")
+ public Result addBar(@RequestBody @Valid AdminAddBarDto adminAddBarDto) {
+ return iNavigationBarService.addBar(adminAddBarDto);
+ }
+
+ @ApiOperation(value = "删除导航栏", notes = "删除导航栏")
+ @GetMapping(value = "/deleteBar/{id}")
+ public Result deleteBar(@PathVariable(value = "id") Long id) {
+ return iNavigationBarService.deleteBar(id);
+ }
+
+ @ApiOperation(value = "查看导航栏", notes = "查看导航栏")
+ @GetMapping(value = "/seeBarInfo/{id}")
+ public Result seeBarInfo(@PathVariable(value = "id") Long id) {
+ return iNavigationBarService.seeBarInfo(id);
+ }
+
+ @ApiOperation(value = "更新导航栏", notes = "更新导航栏")
+ @PostMapping(value = "/updateBar")
+ public Result updateBar(@RequestBody @Valid AdminUpdateBarDto adminUpdateMenuDto) {
+ return iNavigationBarService.updateBar(adminUpdateMenuDto);
+ }
+
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddArticleDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddArticleDto.java
new file mode 100644
index 0000000..4ddf8a2
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddArticleDto.java
@@ -0,0 +1,43 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "AdminAddArticleDto", description = "参数接收类")
+public class AdminAddArticleDto {
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "标题")
+ private String childTitle;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "所属栏目ID")
+ private Long columnId;
+
+ @ApiModelProperty(value = "访问量")
+ private Integer visits;
+
+ @ApiModelProperty(value = "主图")
+ private String mainDiagram;
+
+ @ApiModelProperty(value = "图集")
+ private String atlas;
+
+ @ApiModelProperty(value = "发布时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date releaseTime;
+
+ @ApiModelProperty(value = "是否立即发布 0:否 1:是")
+ private Integer releaseStatus;
+
+ @ApiModelProperty(value = "文章详情")
+ private String articleDetails;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddBarDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddBarDto.java
new file mode 100644
index 0000000..8ad6a58
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddBarDto.java
@@ -0,0 +1,28 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminAddBarDto", description = "参数接收类")
+public class AdminAddBarDto {
+ //导航栏标题
+ @ApiModelProperty(value = "导航栏标题")
+ private String barName;
+ //链接地址
+ @ApiModelProperty(value = "链接地址")
+ private String linkUrl;
+ //描述
+ @ApiModelProperty(value = "描述")
+ private String describe;
+ //排序
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+ //图片
+ @ApiModelProperty(value = "图片")
+ private String pic;
+ //上级类目ID
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddColumnDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddColumnDto.java
new file mode 100644
index 0000000..0773cde
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminAddColumnDto.java
@@ -0,0 +1,29 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminAddColumnDto", description = "参数接收类")
+public class AdminAddColumnDto {
+
+ @ApiModelProperty(value = "栏目名称")
+ private String columnName;
+
+ @ApiModelProperty(value = "栏目编码")
+ private String columnCode;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+
+ @ApiModelProperty(value = "图片")
+ private String pic;
+
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java
new file mode 100644
index 0000000..a479fb2
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java
@@ -0,0 +1,22 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminArticleDto", description = "参数接收类")
+public class AdminArticleDto {
+
+ @ApiModelProperty(value = "标题", example = "文章")
+ private String title;
+
+ @ApiModelProperty(value = "所属栏目ID", example = "2")
+ private Long columnId;
+
+ @ApiModelProperty(value = "每页条数", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "第几页", example = "1")
+ private Integer pageNum;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminColumnDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminColumnDto.java
new file mode 100644
index 0000000..d40d389
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminColumnDto.java
@@ -0,0 +1,16 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminColumnDto", description = "参数接收类")
+public class AdminColumnDto {
+
+ @ApiModelProperty(value = "每页条数", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "第几页", example = "1")
+ private Integer pageNum;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminNavigationBarDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminNavigationBarDto.java
new file mode 100644
index 0000000..bde1993
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminNavigationBarDto.java
@@ -0,0 +1,16 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminNavigationBarDto", description = "参数接收类")
+public class AdminNavigationBarDto {
+
+ @ApiModelProperty(value = "每页条数", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "第几页", example = "1")
+ private Integer pageNum;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateArticleDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateArticleDto.java
new file mode 100644
index 0000000..1a7f5f2
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateArticleDto.java
@@ -0,0 +1,47 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+@Data
+@ApiModel(value = "AdminUpdateArticleDto", description = "参数接收类")
+public class AdminUpdateArticleDto {
+
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "标题")
+ private String childTitle;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "所属栏目ID")
+ private Long columnId;
+
+ @ApiModelProperty(value = "访问量")
+ private Integer visits;
+
+ @ApiModelProperty(value = "主图")
+ private String mainDiagram;
+
+ @ApiModelProperty(value = "图集")
+ private String atlas;
+
+ @ApiModelProperty(value = "发布时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date releaseTime;
+
+ @ApiModelProperty(value = "是否立即发布 0:否 1:是")
+ private Integer releaseStatus;
+
+ @ApiModelProperty(value = "文章详情")
+ private String articleDetails;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateBarDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateBarDto.java
new file mode 100644
index 0000000..f17b25e
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateBarDto.java
@@ -0,0 +1,29 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminUpdateBarDto", description = "参数接收类")
+public class AdminUpdateBarDto {
+ private Long id;
+ //导航栏标题
+ @ApiModelProperty(value = "导航栏标题")
+ private String barName;
+ //链接地址
+ @ApiModelProperty(value = "链接地址")
+ private String linkUrl;
+ //描述
+ @ApiModelProperty(value = "描述")
+ private String describe;
+ //排序
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+ //图片
+ @ApiModelProperty(value = "图片")
+ private String pic;
+ //上级类目ID
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateColumnDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateColumnDto.java
new file mode 100644
index 0000000..4a3e09a
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateColumnDto.java
@@ -0,0 +1,31 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminUpdateColumnDto", description = "参数接收类")
+public class AdminUpdateColumnDto {
+
+ private Long id;
+
+ @ApiModelProperty(value = "栏目名称")
+ private String columnName;
+
+ @ApiModelProperty(value = "栏目编码")
+ private String columnCode;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+
+ @ApiModelProperty(value = "图片")
+ private String pic;
+
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java
new file mode 100644
index 0000000..2ed6a95
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java
@@ -0,0 +1,60 @@
+package com.xcong.farmer.cms.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xcong.farmer.cms.common.system.base.BaseEntity;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 文章表
+ */
+@Data
+@TableName("t_article")
+public class ArticleEntity extends BaseEntity {
+ /**
+ * 是否立即发布 1:是
+ */
+ public static final Integer RELEASE_STATUS_YES = 1;
+ /**
+ * 是否立即发布 0:否
+ */
+ public static final Integer RELEASE_STATUS_NO = 0;
+ /**
+ * 是否删除 1:未删除
+ */
+ public static final Integer DELETE_STATUS_NO = 1;
+ /**
+ * 是否删除 0:已删除
+ */
+ public static final Integer DELETE_STATUS_YES = 0;
+ /**
+ * 访问量
+ */
+ public static final Integer VISITS_DEFAULT = 0;
+
+ //标题
+ private String title;
+ //副标题
+ private String childTitle;
+ //描述
+ private String describe;
+ //所属栏目ID
+ private Long columnId;
+ //访问量
+ private Integer visits;
+ //主图
+ private String mainDiagram;
+ //图集
+ private String atlas;
+ //发布时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date releaseTime;
+ //是否立即发布 0:否 1:是
+ private Integer releaseStatus;
+ //文章详情
+ private String articleDetails;
+ //是否删除 0:已删除 1:未删除
+ private Integer delStatus;
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java
new file mode 100644
index 0000000..0fed85b
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java
@@ -0,0 +1,30 @@
+package com.xcong.farmer.cms.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.farmer.cms.common.system.base.BaseEntity;
+import lombok.Data;
+
+/**
+ * 栏目表
+ */
+@Data
+@TableName("t_column")
+public class ColumnEntity extends BaseEntity {
+ /**
+ * 导航栏 - 默认上级类目ID
+ */
+ public static final Long PARENTID_DEFAULT = 0L;
+
+ //栏目名称
+ private String columnName;
+ //栏目编码
+ private String columnCode;
+ //描述
+ private String describe;
+ //排序
+ private Integer orderNum;
+ //图片
+ private String pic;
+ //上级类目ID
+ private Long parentId;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/NavigationBarEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/NavigationBarEntity.java
new file mode 100644
index 0000000..6a18509
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/NavigationBarEntity.java
@@ -0,0 +1,31 @@
+package com.xcong.farmer.cms.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.farmer.cms.common.system.base.BaseEntity;
+import lombok.Data;
+
+/**
+ * 导航栏表
+ */
+@Data
+@TableName("t_navigation_bar")
+public class NavigationBarEntity extends BaseEntity {
+ /**
+ * 导航栏 - 默认上级类目ID
+ */
+ public static final Long PARENTID_DEFAULT = 0L;
+
+ //导航栏标题
+ private String barName;
+ //链接地址
+ private String linkUrl;
+ //描述
+ private String describe;
+ //排序
+ private Integer orderNum;
+ //图片
+ private String pic;
+ //上级类目ID
+ private Long parentId;
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ArticleMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ArticleMapper.java
new file mode 100644
index 0000000..277dfb8
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ArticleMapper.java
@@ -0,0 +1,16 @@
+package com.xcong.farmer.cms.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
+import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeArticleInfoVo;
+import org.apache.ibatis.annotations.Param;
+
+public interface ArticleMapper extends BaseMapper<ArticleEntity> {
+
+ IPage<AdminArticleVo> selectAdminArticleInPage(Page<AdminArticleVo> page, @Param("record")ArticleEntity articleEntity);
+
+ AdminSeeArticleInfoVo selectAdminArticleByid(@Param("id")Long id);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java
new file mode 100644
index 0000000..e23ce47
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java
@@ -0,0 +1,17 @@
+package com.xcong.farmer.cms.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
+import com.xcong.farmer.cms.modules.system.vo.AdminColumnVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ColumnMapper extends BaseMapper<ColumnEntity> {
+
+ IPage<AdminColumnVo> selectAdminColumnVoInPage(Page<AdminColumnVo> page, @Param("record")ColumnEntity columnEntity);
+
+ List<AdminColumnVo> selectColumnInListByParentId(@Param("parentId")Long parentidDefault);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/NavigationBarMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/NavigationBarMapper.java
new file mode 100644
index 0000000..9116878
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/NavigationBarMapper.java
@@ -0,0 +1,17 @@
+package com.xcong.farmer.cms.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.farmer.cms.modules.system.entity.NavigationBarEntity;
+import com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface NavigationBarMapper extends BaseMapper<NavigationBarEntity> {
+
+ IPage<AdminNavigationBarVo> selectAdminNavigationBarVoInPage(Page<AdminNavigationBarVo> page, @Param("record")NavigationBarEntity navigationBarEntity);
+
+ List<AdminNavigationBarVo> selectAdminNavigationBarVoByParentId(@Param("parentId")Long parentidDefault);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/IArticleService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/IArticleService.java
new file mode 100644
index 0000000..4c7838e
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/IArticleService.java
@@ -0,0 +1,21 @@
+package com.xcong.farmer.cms.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddArticleDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminArticleDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateArticleDto;
+import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
+
+public interface IArticleService extends IService<ArticleEntity> {
+
+ Result getArticleInPage(AdminArticleDto adminArticleDto);
+
+ Result addArticle(AdminAddArticleDto adminAddArticleDto);
+
+ Result deleteArticle(Long id);
+
+ Result seeArticleInfo(Long id);
+
+ Result updateArticle(AdminUpdateArticleDto adminUpdateArticleDto);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/IColumnService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/IColumnService.java
new file mode 100644
index 0000000..1dc6fe5
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/IColumnService.java
@@ -0,0 +1,23 @@
+package com.xcong.farmer.cms.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddColumnDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminColumnDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateColumnDto;
+import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
+
+public interface IColumnService extends IService<ColumnEntity> {
+
+ Result getColumnInPage(AdminColumnDto adminColumnDto);
+
+ Result addColumn(AdminAddColumnDto adminAddColumnDto);
+
+ Result deleteColumn(Long id);
+
+ Result seeColumnInfo(Long id);
+
+ Result updateColumn(AdminUpdateColumnDto adminUpdateColumnDto);
+
+ Result getColumnInList();
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/INavigationBarService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/INavigationBarService.java
new file mode 100644
index 0000000..4c43fdb
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/INavigationBarService.java
@@ -0,0 +1,23 @@
+package com.xcong.farmer.cms.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddBarDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminNavigationBarDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateBarDto;
+import com.xcong.farmer.cms.modules.system.entity.NavigationBarEntity;
+
+public interface INavigationBarService extends IService<NavigationBarEntity> {
+
+ Result getBarInPage(AdminNavigationBarDto adminNavigationBarDto);
+
+ Result addBar(AdminAddBarDto adminAddBarDto);
+
+ Result deleteBar(Long id);
+
+ Result seeBarInfo(Long id);
+
+ Result updateBar(AdminUpdateBarDto adminUpdateMenuDto);
+
+ Result getBarInList();
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
new file mode 100644
index 0000000..406db92
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
@@ -0,0 +1,179 @@
+package com.xcong.farmer.cms.modules.system.service.Impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddArticleDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminArticleDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateArticleDto;
+import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
+import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
+import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper;
+import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
+import com.xcong.farmer.cms.modules.system.service.IArticleService;
+import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeArticleInfoVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Date;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+@Service
+@Slf4j
+public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, ArticleEntity> implements IArticleService {
+
+ @Resource
+ private ColumnMapper columnMapper;
+
+ @Override
+ public Result getArticleInPage(AdminArticleDto adminArticleDto) {
+ Page<AdminArticleVo> page = new Page<>(adminArticleDto.getPageNum(), adminArticleDto.getPageSize());
+ ArticleEntity articleEntity = new ArticleEntity();
+ Long columnId = adminArticleDto.getColumnId() == null ? 0L : adminArticleDto.getColumnId();
+ if(columnId != 0L){
+ articleEntity.setColumnId(columnId);
+ }
+ String title = adminArticleDto.getTitle();
+ if(StrUtil.isNotEmpty(title)){
+ articleEntity.setTitle(title);
+ }
+ IPage<AdminArticleVo> list = this.baseMapper.selectAdminArticleInPage(page,articleEntity);
+ return Result.ok(list);
+ }
+
+ @Override
+ @Transactional
+ public Result addArticle(AdminAddArticleDto adminAddArticleDto) {
+ ArticleEntity articleEntity = new ArticleEntity();
+ String title = adminAddArticleDto.getTitle();
+ if(StrUtil.isEmpty(title)){
+ return Result.fail("请输入文章标题");
+ }
+ articleEntity.setTitle(title);
+ String childTitle = adminAddArticleDto.getChildTitle();
+ if(StrUtil.isNotEmpty(childTitle)){
+ articleEntity.setChildTitle(childTitle);
+ }
+ String describe = adminAddArticleDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ articleEntity.setDescribe(describe);
+ }
+ long columnId = adminAddArticleDto.getColumnId() == null ? 0L : adminAddArticleDto.getColumnId();
+ if(columnId == 0L){
+ return Result.fail("请选择文章栏目");
+ }
+ ColumnEntity columnEntity = columnMapper.selectById(columnId);
+ if(ObjectUtil.isEmpty(columnEntity)){
+ return Result.fail("请选择文章栏目");
+ }
+ articleEntity.setColumnId(columnId);
+ Integer visits = adminAddArticleDto.getVisits() == null ? 0 : adminAddArticleDto.getVisits();
+ articleEntity.setVisits(visits);
+ String mainDiagram = adminAddArticleDto.getMainDiagram();
+ if(StrUtil.isNotEmpty(mainDiagram)){
+ articleEntity.setMainDiagram(mainDiagram);
+ }
+ String atlas = adminAddArticleDto.getAtlas();
+ if(StrUtil.isNotEmpty(atlas)){
+ articleEntity.setAtlas(atlas);
+ }
+ Date releaseTime = adminAddArticleDto.getReleaseTime();
+ if(ObjectUtil.isNotEmpty(releaseTime)){
+ articleEntity.setReleaseTime(releaseTime);
+ }
+ Integer releaseStatus = adminAddArticleDto.getReleaseStatus();
+ articleEntity.setReleaseStatus(releaseStatus);
+ String articleDetails = adminAddArticleDto.getArticleDetails();
+ if(StrUtil.isNotEmpty(articleDetails)){
+ articleEntity.setArticleDetails(articleDetails);
+ }
+
+ this.baseMapper.insert(articleEntity);
+ return Result.ok("添加成功");
+ }
+
+ @Override
+ @Transactional
+ public Result deleteArticle(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ articleEntity.setDelStatus(ArticleEntity.DELETE_STATUS_YES);
+ this.baseMapper.updateById(articleEntity);
+ return Result.ok("删除成功");
+ }
+
+ @Override
+ public Result seeArticleInfo(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ AdminSeeArticleInfoVo adminSeeArticleInfoVo = this.baseMapper.selectAdminArticleByid(id);
+ return Result.ok(adminSeeArticleInfoVo);
+ }
+
+ @Override
+ @Transactional
+ public Result updateArticle(AdminUpdateArticleDto adminUpdateArticleDto) {
+ Long id = adminUpdateArticleDto.getId();
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ String title = adminUpdateArticleDto.getTitle();
+ if(StrUtil.isEmpty(title)){
+ return Result.fail("请输入文章标题");
+ }
+ articleEntity.setTitle(title);
+ String childTitle = adminUpdateArticleDto.getChildTitle();
+ if(StrUtil.isNotEmpty(childTitle)){
+ articleEntity.setChildTitle(childTitle);
+ }
+ String describe = adminUpdateArticleDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ articleEntity.setDescribe(describe);
+ }
+ long columnId = adminUpdateArticleDto.getColumnId() == null ? 0L : adminUpdateArticleDto.getColumnId();
+ if(columnId == 0L){
+ return Result.fail("请选择文章栏目");
+ }
+ ColumnEntity columnEntity = columnMapper.selectById(columnId);
+ if(ObjectUtil.isEmpty(columnEntity)){
+ return Result.fail("请选择文章栏目");
+ }
+ articleEntity.setColumnId(columnId);
+ Integer visits = adminUpdateArticleDto.getVisits() == null ? 0 : adminUpdateArticleDto.getVisits();
+ articleEntity.setVisits(visits);
+ String mainDiagram = adminUpdateArticleDto.getMainDiagram();
+ if(StrUtil.isNotEmpty(mainDiagram)){
+ articleEntity.setMainDiagram(mainDiagram);
+ }
+ String atlas = adminUpdateArticleDto.getAtlas();
+ if(StrUtil.isNotEmpty(atlas)){
+ articleEntity.setAtlas(atlas);
+ }
+ Date releaseTime = adminUpdateArticleDto.getReleaseTime();
+ if(ObjectUtil.isNotEmpty(releaseTime)){
+ articleEntity.setReleaseTime(releaseTime);
+ }
+ Integer releaseStatus = adminUpdateArticleDto.getReleaseStatus();
+ articleEntity.setReleaseStatus(releaseStatus);
+ String articleDetails = adminUpdateArticleDto.getArticleDetails();
+ if(StrUtil.isNotEmpty(articleDetails)){
+ articleEntity.setArticleDetails(articleDetails);
+ }
+ this.baseMapper.updateById(articleEntity);
+ return Result.ok("更新成功");
+ }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
new file mode 100644
index 0000000..d0e66ee
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
@@ -0,0 +1,214 @@
+package com.xcong.farmer.cms.modules.system.service.Impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddColumnDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminColumnDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateColumnDto;
+import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
+import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
+import com.xcong.farmer.cms.modules.system.service.IColumnService;
+import com.xcong.farmer.cms.modules.system.vo.AdminColumnVo;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeColumnInfoVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Slf4j
+public class ColumnServiceImpl extends ServiceImpl<ColumnMapper, ColumnEntity> implements IColumnService {
+ @Override
+ public Result getColumnInPage(AdminColumnDto adminColumnDto) {
+ Page<AdminColumnVo> page = new Page<>(adminColumnDto.getPageNum(), adminColumnDto.getPageSize());
+ ColumnEntity columnEntity = new ColumnEntity();
+ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT);
+ IPage<AdminColumnVo> list = this.baseMapper.selectAdminColumnVoInPage(page,columnEntity);
+ List<AdminColumnVo> records = list.getRecords();
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminColumnVo adminColumnVo : records){
+ Long id = adminColumnVo.getId();
+ QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper);
+ List<AdminColumnVo> adminColumnVoChilds = new ArrayList<>();
+ if(CollUtil.isNotEmpty(columnEntities)){
+ for(ColumnEntity columnEntityChild : columnEntities){
+ AdminColumnVo child = new AdminColumnVo();
+ child.setId(columnEntityChild.getId());
+ child.setColumnName(columnEntityChild.getColumnName());
+ child.setColumnCode(columnEntityChild.getColumnCode());
+ child.setDescribe(columnEntityChild.getDescribe());
+ child.setPic(columnEntityChild.getPic());
+ child.setOrderNum(columnEntityChild.getOrderNum());
+ adminColumnVoChilds.add(child);
+ }
+ }
+ adminColumnVo.setChild(adminColumnVoChilds);
+ }
+ }
+ return Result.ok(list);
+ }
+
+ @Override
+ @Transactional
+ public Result addColumn(AdminAddColumnDto adminAddColumnDto) {
+ ColumnEntity columnEntity = new ColumnEntity();
+ String columnName = adminAddColumnDto.getColumnName();
+ if(StrUtil.isEmpty(columnName)){
+ return Result.fail("请输入栏目名称");
+ }
+ columnEntity.setColumnName(columnName);
+ String columnCode = adminAddColumnDto.getColumnCode();
+ if(StrUtil.isEmpty(columnCode)){
+ return Result.fail("请输入栏目编码");
+ }
+ QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("column_code",columnCode);
+ List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(columnEntities)){
+ return Result.fail("栏目编码不能重复");
+ }
+ columnEntity.setColumnCode(columnCode);
+ String describe = adminAddColumnDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ columnEntity.setDescribe(describe);
+ }
+ String pic = adminAddColumnDto.getPic();
+ if(StrUtil.isNotEmpty(pic)){
+ columnEntity.setPic(pic);
+ }
+ Integer orderNum = adminAddColumnDto.getOrderNum();
+ if(ObjectUtil.isNotEmpty(orderNum)){
+ columnEntity.setOrderNum(orderNum);
+ }
+ Long parentId = adminAddColumnDto.getParentId();
+ if(ObjectUtil.isEmpty(parentId)){
+ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT);
+ }else{
+ columnEntity.setParentId(parentId);
+ }
+ this.baseMapper.insert(columnEntity);
+ return Result.ok("添加成功");
+ }
+
+ @Override
+ @Transactional
+ public Result deleteColumn(Long id) {
+ ColumnEntity columnEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(columnEntity)){
+ return Result.fail("栏目不存在");
+ }
+ QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(columnEntities)){
+ return Result.fail("请先清空它的二级栏目");
+ }
+ this.baseMapper.deleteById(id);
+ return Result.ok("删除成功");
+ }
+
+ @Override
+ public Result seeColumnInfo(Long id) {
+ ColumnEntity columnEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(columnEntity)){
+ return Result.fail("栏目不存在");
+ }
+ AdminSeeColumnInfoVo adminSeeColumnInfoVo = new AdminSeeColumnInfoVo();
+ adminSeeColumnInfoVo.setId(columnEntity.getId());
+ adminSeeColumnInfoVo.setColumnName(columnEntity.getColumnName());
+ adminSeeColumnInfoVo.setColumnCode(columnEntity.getColumnCode());
+ adminSeeColumnInfoVo.setDescribe(columnEntity.getDescribe());
+ adminSeeColumnInfoVo.setParentId(columnEntity.getParentId());
+ adminSeeColumnInfoVo.setOrderNum(columnEntity.getOrderNum());
+ adminSeeColumnInfoVo.setPic(columnEntity.getPic());
+ return Result.ok(adminSeeColumnInfoVo);
+ }
+
+ @Override
+ @Transactional
+ public Result updateColumn(AdminUpdateColumnDto adminUpdateColumnDto) {
+ Long id = adminUpdateColumnDto.getId();
+ if(ObjectUtil.isEmpty(id)){
+ return Result.fail("栏目不存在");
+ }
+ ColumnEntity columnEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(columnEntity)){
+ return Result.fail("栏目不存在");
+ }
+ String columnName = adminUpdateColumnDto.getColumnName();
+ if(StrUtil.isEmpty(columnName)){
+ return Result.fail("请输入栏目名称");
+ }
+ columnEntity.setColumnName(columnName);
+ String columnCode = adminUpdateColumnDto.getColumnCode();
+ if(StrUtil.isEmpty(columnCode)){
+ return Result.fail("请输入栏目编码");
+ }
+ QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("column_code",columnCode);
+ List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(columnEntities)){
+ return Result.fail("栏目编码不能重复");
+ }
+ columnEntity.setColumnCode(columnCode);
+ String describe = adminUpdateColumnDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ columnEntity.setDescribe(describe);
+ }
+ String pic = adminUpdateColumnDto.getPic();
+ if(StrUtil.isNotEmpty(pic)){
+ columnEntity.setPic(pic);
+ }
+ Integer orderNum = adminUpdateColumnDto.getOrderNum();
+ if(ObjectUtil.isNotEmpty(orderNum)){
+ columnEntity.setOrderNum(orderNum);
+ }
+ Long parentId = adminUpdateColumnDto.getParentId();
+ if(ObjectUtil.isEmpty(parentId)){
+ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT);
+ }else{
+ columnEntity.setParentId(parentId);
+ }
+ this.baseMapper.updateById(columnEntity);
+ return Result.ok("更新成功");
+ }
+
+ @Override
+ public Result getColumnInList() {
+ List<AdminColumnVo> records = this.baseMapper.selectColumnInListByParentId(ColumnEntity.PARENTID_DEFAULT);
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminColumnVo adminColumnVo : records){
+ Long id = adminColumnVo.getId();
+ QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper);
+ List<AdminColumnVo> adminColumnVoChilds = new ArrayList<>();
+ if(CollUtil.isNotEmpty(columnEntities)){
+ for(ColumnEntity columnEntityChild : columnEntities){
+ AdminColumnVo child = new AdminColumnVo();
+ child.setId(columnEntityChild.getId());
+ child.setColumnName(columnEntityChild.getColumnName());
+ child.setColumnCode(columnEntityChild.getColumnCode());
+ child.setDescribe(columnEntityChild.getDescribe());
+ child.setPic(columnEntityChild.getPic());
+ child.setOrderNum(columnEntityChild.getOrderNum());
+ adminColumnVoChilds.add(child);
+ }
+ }
+ adminColumnVo.setChild(adminColumnVoChilds);
+ }
+ }
+ return Result.ok(records);
+ }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MenuServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MenuServiceImpl.java
index b148be8..6bc0efb 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MenuServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MenuServiceImpl.java
@@ -41,7 +41,6 @@
menuEntity.setParentId(MenuEntity.PARENTID_DEFAULT);
IPage<AdminMenuVo> list = this.baseMapper.selectAdminMenuVoInPage(page,menuEntity);
List<AdminMenuVo> records = list.getRecords();
- list.getTotal();
if(CollUtil.isNotEmpty(records)){
for(AdminMenuVo adminMenuVo : records){
Long id = adminMenuVo.getId();
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/NavigationBarServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/NavigationBarServiceImpl.java
new file mode 100644
index 0000000..a0f0c40
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/NavigationBarServiceImpl.java
@@ -0,0 +1,202 @@
+package com.xcong.farmer.cms.modules.system.service.Impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.AdminAddBarDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminNavigationBarDto;
+import com.xcong.farmer.cms.modules.system.dto.AdminUpdateBarDto;
+import com.xcong.farmer.cms.modules.system.entity.NavigationBarEntity;
+import com.xcong.farmer.cms.modules.system.mapper.NavigationBarMapper;
+import com.xcong.farmer.cms.modules.system.service.INavigationBarService;
+import com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeBarInfoVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service
+@Slf4j
+public class NavigationBarServiceImpl extends ServiceImpl<NavigationBarMapper, NavigationBarEntity> implements INavigationBarService {
+
+ @Override
+ public Result getBarInPage(AdminNavigationBarDto adminNavigationBarDto) {
+ Page<AdminNavigationBarVo> page = new Page<>(adminNavigationBarDto.getPageNum(), adminNavigationBarDto.getPageSize());
+ NavigationBarEntity navigationBarEntity = new NavigationBarEntity();
+ navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
+ IPage<AdminNavigationBarVo> list = this.baseMapper.selectAdminNavigationBarVoInPage(page,navigationBarEntity);
+ List<AdminNavigationBarVo> records = list.getRecords();
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminNavigationBarVo adminNavigationBarVo : records){
+ Long id = adminNavigationBarVo.getId();
+ QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<NavigationBarEntity> navigationBarEntities = this.baseMapper.selectList(objectQueryWrapper);
+ List<AdminNavigationBarVo> adminNavigationBarVoChilds = new ArrayList<>();
+ if(CollUtil.isNotEmpty(navigationBarEntities)){
+ for(NavigationBarEntity navigationBarEntityChild : navigationBarEntities){
+ AdminNavigationBarVo child = new AdminNavigationBarVo();
+ child.setId(navigationBarEntityChild.getId());
+ child.setBarName(navigationBarEntityChild.getBarName());
+ child.setLinkUrl(navigationBarEntityChild.getLinkUrl());
+ child.setDescribe(navigationBarEntityChild.getDescribe());
+ child.setPic(navigationBarEntityChild.getPic());
+ child.setOrderNum(navigationBarEntityChild.getOrderNum());
+ adminNavigationBarVoChilds.add(child);
+ }
+ }
+ adminNavigationBarVo.setChild(adminNavigationBarVoChilds);
+ }
+ }
+ return Result.ok(list);
+ }
+
+ @Override
+ @Transactional
+ public Result addBar(AdminAddBarDto adminAddBarDto) {
+ NavigationBarEntity navigationBarEntity = new NavigationBarEntity();
+ String barName = adminAddBarDto.getBarName();
+ if(StrUtil.isEmpty(barName)){
+ return Result.fail("请输入导航栏标题");
+ }
+ navigationBarEntity.setBarName(barName);
+ Long parentId = adminAddBarDto.getParentId();
+ if(ObjectUtil.isEmpty(parentId)){
+ navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
+ }else{
+ navigationBarEntity.setParentId(parentId);
+ }
+ String linkUrl = adminAddBarDto.getLinkUrl();
+ if(StrUtil.isNotEmpty(linkUrl)){
+ navigationBarEntity.setLinkUrl(linkUrl);
+ }
+ Integer orderNum = adminAddBarDto.getOrderNum();
+ if(ObjectUtil.isNotEmpty(orderNum)){
+ navigationBarEntity.setOrderNum(orderNum);
+ }
+ String pic = adminAddBarDto.getPic();
+ if(StrUtil.isNotEmpty(pic)){
+ navigationBarEntity.setPic(pic);
+ }
+ String describe = adminAddBarDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ navigationBarEntity.setDescribe(describe);
+ }
+ this.baseMapper.insert(navigationBarEntity);
+ return Result.ok("添加成功");
+ }
+
+ @Override
+ @Transactional
+ public Result deleteBar(Long id) {
+ NavigationBarEntity navigationBarEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(navigationBarEntity)){
+ return Result.fail("导航栏不存在");
+ }
+ QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<NavigationBarEntity> navigationBarEntities = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(navigationBarEntities)){
+ return Result.fail("请先清空它的二级导航栏");
+ }
+ this.baseMapper.deleteById(id);
+ return Result.ok("删除成功");
+ }
+
+ @Override
+ public Result seeBarInfo(Long id) {
+ NavigationBarEntity navigationBarEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(navigationBarEntity)){
+ return Result.fail("导航栏不存在");
+ }
+ AdminSeeBarInfoVo adminSeeBarInfoVo = new AdminSeeBarInfoVo();
+ adminSeeBarInfoVo.setId(navigationBarEntity.getId());
+ adminSeeBarInfoVo.setBarName(navigationBarEntity.getBarName());
+ adminSeeBarInfoVo.setLinkUrl(navigationBarEntity.getLinkUrl());
+ adminSeeBarInfoVo.setDescribe(navigationBarEntity.getDescribe());
+ adminSeeBarInfoVo.setOrderNum(navigationBarEntity.getOrderNum());
+ adminSeeBarInfoVo.setPic(navigationBarEntity.getPic());
+ adminSeeBarInfoVo.setParentId(navigationBarEntity.getParentId());
+ return Result.ok(adminSeeBarInfoVo);
+ }
+
+ @Override
+ @Transactional
+ public Result updateBar(AdminUpdateBarDto adminUpdateMenuDto) {
+ Long id = adminUpdateMenuDto.getId();
+ if(ObjectUtil.isEmpty(id)){
+ return Result.fail("导航栏不存在");
+ }
+ NavigationBarEntity navigationBarEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(navigationBarEntity)){
+ return Result.fail("导航栏不存在");
+ }
+ String barName = adminUpdateMenuDto.getBarName();
+ if(StrUtil.isEmpty(barName)){
+ return Result.fail("请输入导航栏标题");
+ }
+ navigationBarEntity.setBarName(barName);
+ Long parentId = adminUpdateMenuDto.getParentId();
+ if(ObjectUtil.isEmpty(parentId)){
+ navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
+ }else{
+ navigationBarEntity.setParentId(parentId);
+ }
+ String linkUrl = adminUpdateMenuDto.getLinkUrl();
+ if(StrUtil.isNotEmpty(linkUrl)){
+ navigationBarEntity.setLinkUrl(linkUrl);
+ }
+ Integer orderNum = adminUpdateMenuDto.getOrderNum();
+ if(ObjectUtil.isNotEmpty(orderNum)){
+ navigationBarEntity.setOrderNum(orderNum);
+ }
+ String pic = adminUpdateMenuDto.getPic();
+ if(StrUtil.isNotEmpty(pic)){
+ navigationBarEntity.setPic(pic);
+ }
+ String describe = adminUpdateMenuDto.getDescribe();
+ if(StrUtil.isNotEmpty(describe)){
+ navigationBarEntity.setDescribe(describe);
+ }
+ this.baseMapper.updateById(navigationBarEntity);
+ return Result.ok("更新成功");
+ }
+
+ @Override
+ public Result getBarInList() {
+ List<AdminNavigationBarVo> records = this.baseMapper.selectAdminNavigationBarVoByParentId(NavigationBarEntity.PARENTID_DEFAULT);
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminNavigationBarVo adminNavigationBarVo : records){
+ Long id = adminNavigationBarVo.getId();
+ QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",id);
+ List<NavigationBarEntity> navigationBarEntities = this.baseMapper.selectList(objectQueryWrapper);
+ List<AdminNavigationBarVo> adminNavigationBarVoChilds = new ArrayList<>();
+ if(CollUtil.isNotEmpty(navigationBarEntities)){
+ for(NavigationBarEntity navigationBarEntityChild : navigationBarEntities){
+ AdminNavigationBarVo child = new AdminNavigationBarVo();
+ child.setId(navigationBarEntityChild.getId());
+ child.setBarName(navigationBarEntityChild.getBarName());
+ child.setLinkUrl(navigationBarEntityChild.getLinkUrl());
+ child.setDescribe(navigationBarEntityChild.getDescribe());
+ child.setPic(navigationBarEntityChild.getPic());
+ child.setOrderNum(navigationBarEntityChild.getOrderNum());
+ adminNavigationBarVoChilds.add(child);
+ }
+ }
+ adminNavigationBarVo.setChild(adminNavigationBarVoChilds);
+ }
+ }
+ return Result.ok(records);
+ }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
index 4078bbd..f95c35a 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
@@ -11,14 +11,8 @@
import com.xcong.farmer.cms.modules.system.dto.AdminAddRoleDto;
import com.xcong.farmer.cms.modules.system.dto.AdminRoleDto;
import com.xcong.farmer.cms.modules.system.dto.AdminUpdateRoleDto;
-import com.xcong.farmer.cms.modules.system.entity.MenuEntity;
-import com.xcong.farmer.cms.modules.system.entity.RoleEntity;
-import com.xcong.farmer.cms.modules.system.entity.RoleMenuEntity;
-import com.xcong.farmer.cms.modules.system.entity.UserRoleEntity;
-import com.xcong.farmer.cms.modules.system.mapper.MenuMapper;
-import com.xcong.farmer.cms.modules.system.mapper.RoleMapper;
-import com.xcong.farmer.cms.modules.system.mapper.RoleMenuMapper;
-import com.xcong.farmer.cms.modules.system.mapper.UserRoleMapper;
+import com.xcong.farmer.cms.modules.system.entity.*;
+import com.xcong.farmer.cms.modules.system.mapper.*;
import com.xcong.farmer.cms.modules.system.service.IRoleService;
import com.xcong.farmer.cms.modules.system.vo.AdminMenuInfoVo;
import com.xcong.farmer.cms.modules.system.vo.AdminRoleVo;
@@ -44,6 +38,8 @@
private RoleMenuMapper roleMenuMapper;
@Resource
private UserRoleMapper userRoleMapper;
+ @Resource
+ private UserMapper userMapper;
@Resource
private MenuMapper menuMapper;
@@ -151,6 +147,16 @@
if(StrUtil.isNotEmpty(menuIds)){
saveRoleMenus(menuIds,id);
}
+
+ QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>();
+ userWrapper.eq("role_id",id);
+ List<UserEntity> userEntities = userMapper.selectList(userWrapper);
+ if(CollUtil.isNotEmpty(userEntities)){
+ for(UserEntity userEntity : userEntities){
+ userEntity.setRoleName(roleName);
+ userMapper.updateById(userEntity);
+ }
+ }
return Result.ok("更新成功");
}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminArticleVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminArticleVo.java
new file mode 100644
index 0000000..65888e3
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminArticleVo.java
@@ -0,0 +1,51 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "AdminArticleVo", description = "文章列表返回")
+public class AdminArticleVo {
+
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "标题")
+ private String childTitle;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "所属栏目ID")
+ private Long columnId;
+
+ @ApiModelProperty(value = "所属栏目名称")
+ private Long columnName;
+
+ @ApiModelProperty(value = "访问量")
+ private Integer visits;
+
+ @ApiModelProperty(value = "主图")
+ private String mainDiagram;
+
+ @ApiModelProperty(value = "图集")
+ private String atlas;
+
+ @ApiModelProperty(value = "发布时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date releaseTime;
+
+ @ApiModelProperty(value = "是否立即发布 0:否 1:是")
+ private Integer releaseStatus;
+
+ @ApiModelProperty(value = "文章详情")
+ private String articleDetails;
+
+ @ApiModelProperty(value = "是否删除 0:已删除 1:未删除")
+ private Integer delStatus;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminColumnVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminColumnVo.java
new file mode 100644
index 0000000..781ca0a
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminColumnVo.java
@@ -0,0 +1,31 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+@ApiModel(value = "AdminColumnVo", description = "栏目列表返回")
+public class AdminColumnVo {
+
+ private Long id;
+
+ @ApiModelProperty(value = "栏目名称")
+ private String columnName;
+
+ @ApiModelProperty(value = "栏目编码")
+ private String columnCode;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+
+ @ApiModelProperty(value = "图片")
+ private String pic;
+
+ @ApiModelProperty(value = "子菜单")
+ private List<AdminColumnVo> child;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminNavigationBarVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminNavigationBarVo.java
new file mode 100644
index 0000000..fb04b5b
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminNavigationBarVo.java
@@ -0,0 +1,33 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "AdminNavigationBarVo", description = "导航栏列表返回")
+public class AdminNavigationBarVo {
+
+ private Long id;
+ //导航栏标题
+ @ApiModelProperty(value = "导航栏标题")
+ private String barName;
+ //链接地址
+ @ApiModelProperty(value = "链接地址")
+ private String linkUrl;
+ //描述
+ @ApiModelProperty(value = "描述")
+ private String describe;
+ //排序
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+ //图片
+ @ApiModelProperty(value = "图片")
+ private String pic;
+
+ @ApiModelProperty(value = "子菜单")
+ private List<AdminNavigationBarVo> child;
+
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeArticleInfoVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeArticleInfoVo.java
new file mode 100644
index 0000000..8d4a54f
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeArticleInfoVo.java
@@ -0,0 +1,45 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "AdminSeeArticleInfoVo", description = "文章返回")
+public class AdminSeeArticleInfoVo {
+
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "标题")
+ private String childTitle;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "所属栏目ID")
+ private Long columnId;
+
+ @ApiModelProperty(value = "访问量")
+ private Integer visits;
+
+ @ApiModelProperty(value = "主图")
+ private String mainDiagram;
+
+ @ApiModelProperty(value = "图集")
+ private String atlas;
+
+ @ApiModelProperty(value = "发布时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date releaseTime;
+
+ @ApiModelProperty(value = "是否立即发布 0:否 1:是")
+ private Integer releaseStatus;
+
+ @ApiModelProperty(value = "文章详情")
+ private String articleDetails;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeBarInfoVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeBarInfoVo.java
new file mode 100644
index 0000000..b6c8fd4
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeBarInfoVo.java
@@ -0,0 +1,30 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminSeeBarInfoVo", description = "导航栏返回")
+public class AdminSeeBarInfoVo {
+
+ private Long id;
+ //导航栏标题
+ @ApiModelProperty(value = "导航栏标题")
+ private String barName;
+ //链接地址
+ @ApiModelProperty(value = "链接地址")
+ private String linkUrl;
+ //描述
+ @ApiModelProperty(value = "描述")
+ private String describe;
+ //排序
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+ //图片
+ @ApiModelProperty(value = "图片")
+ private String pic;
+ //上级类目ID
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeColumnInfoVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeColumnInfoVo.java
new file mode 100644
index 0000000..f39e370
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeColumnInfoVo.java
@@ -0,0 +1,30 @@
+package com.xcong.farmer.cms.modules.system.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminSeeColumnInfoVo", description = "栏目返回")
+public class AdminSeeColumnInfoVo {
+
+ private Long id;
+
+ @ApiModelProperty(value = "栏目名称")
+ private String columnName;
+
+ @ApiModelProperty(value = "栏目编码")
+ private String columnCode;
+
+ @ApiModelProperty(value = "描述")
+ private String describe;
+
+ @ApiModelProperty(value = "排序")
+ private Integer orderNum;
+
+ @ApiModelProperty(value = "图片")
+ private String pic;
+
+ @ApiModelProperty(value = "上级类目ID")
+ private Long parentId;
+}
diff --git a/src/main/resources/mapper/ArticleMapper.xml b/src/main/resources/mapper/ArticleMapper.xml
new file mode 100644
index 0000000..c576f46
--- /dev/null
+++ b/src/main/resources/mapper/ArticleMapper.xml
@@ -0,0 +1,33 @@
+<?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.xcong.farmer.cms.modules.system.mapper.ArticleMapper">
+
+ <select id="selectAdminArticleInPage" resultType="com.xcong.farmer.cms.modules.system.vo.AdminArticleVo">
+ SELECT
+ a.*,
+ b.column_name columnName
+ FROM
+ t_article a
+ left join t_column b on a.column_id = b.id
+ <where>
+ and a.del_status = 1
+ <if test="record != null" >
+ <if test="record.columnId != null">
+ and a.column_id = #{record.columnId}
+ </if>
+ <if test="record.title!=null">
+ and a.title like concat ('%',#{record.title},'%')
+ </if>
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
+
+ <select id="selectAdminArticleByid" resultType="com.xcong.farmer.cms.modules.system.vo.AdminSeeArticleInfoVo">
+ SELECT
+ a.*
+ FROM
+ t_article a where id = #{id}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ColumnMapper.xml b/src/main/resources/mapper/ColumnMapper.xml
new file mode 100644
index 0000000..9aedea4
--- /dev/null
+++ b/src/main/resources/mapper/ColumnMapper.xml
@@ -0,0 +1,29 @@
+<?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.xcong.farmer.cms.modules.system.mapper.ColumnMapper">
+
+ <select id="selectAdminColumnVoInPage" resultType="com.xcong.farmer.cms.modules.system.vo.AdminColumnVo">
+ SELECT
+ a.*
+ FROM
+ t_column a
+ <where>
+ <if test="record != null" >
+ <if test="record.parentId != null">
+ and a.parent_id = #{record.parentId}
+ </if>
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
+
+ <select id="selectColumnInListByParentId" resultType="com.xcong.farmer.cms.modules.system.vo.AdminColumnVo">
+ SELECT
+ a.*
+ FROM
+ t_column a
+ where a.parent_id = #{parentId}
+ order by a.create_time desc
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/NavigationBarMapper.xml b/src/main/resources/mapper/NavigationBarMapper.xml
new file mode 100644
index 0000000..5dfa1cc
--- /dev/null
+++ b/src/main/resources/mapper/NavigationBarMapper.xml
@@ -0,0 +1,29 @@
+<?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.xcong.farmer.cms.modules.system.mapper.NavigationBarMapper">
+
+ <select id="selectAdminNavigationBarVoInPage" resultType="com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo">
+ SELECT
+ a.*
+ FROM
+ t_navigation_bar a
+ <where>
+ <if test="record != null" >
+ <if test="record.parentId != null">
+ and a.parent_id = #{record.parentId}
+ </if>
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
+
+ <select id="selectAdminNavigationBarVoByParentId" resultType="com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo">
+ SELECT
+ a.*
+ FROM
+ t_navigation_bar a
+ where a.parent_id = #{parentId}
+ order by a.create_time desc
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1