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