diff --git a/src/main/java/com/gxwebsoft/cms/controller/DocsBookController.java b/src/main/java/com/gxwebsoft/cms/controller/DocsBookController.java new file mode 100644 index 0000000..c044295 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/controller/DocsBookController.java @@ -0,0 +1,105 @@ +package com.gxwebsoft.cms.controller; + +import com.gxwebsoft.cms.entity.DocsBook; +import com.gxwebsoft.cms.param.DocsBookParam; +import com.gxwebsoft.cms.service.DocsBookService; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 书籍记录表控制器 + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +@Api(tags = "书籍记录表管理") +@RestController +@RequestMapping("/api/cms/docs-book") +public class DocsBookController extends BaseController { + @Resource + private DocsBookService docsBookService; + + @ApiOperation("分页查询书籍记录表") + @GetMapping("/page") + public ApiResult> page(DocsBookParam param) { + // 使用关联查询 + return success(docsBookService.pageRel(param)); + } + + @ApiOperation("查询全部书籍记录表") + @GetMapping() + public ApiResult> list(DocsBookParam param) { + // 使用关联查询 + return success(docsBookService.listRel(param)); + } + + @ApiOperation("根据id查询书籍记录表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(docsBookService.getByIdRel(id)); + } + + @ApiOperation("添加书籍记录表") + @PostMapping() + public ApiResult save(@RequestBody DocsBook docsBook) { + if (docsBookService.save(docsBook)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改书籍记录表") + @PutMapping() + public ApiResult update(@RequestBody DocsBook docsBook) { + if (docsBookService.updateById(docsBook)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除书籍记录表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (docsBookService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加书籍记录表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (docsBookService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改书籍记录表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(docsBookService, "book_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除书籍记录表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (docsBookService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/cms/controller/DocsContentController.java b/src/main/java/com/gxwebsoft/cms/controller/DocsContentController.java new file mode 100644 index 0000000..ffea035 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/controller/DocsContentController.java @@ -0,0 +1,105 @@ +package com.gxwebsoft.cms.controller; + +import com.gxwebsoft.cms.entity.DocsContent; +import com.gxwebsoft.cms.param.DocsContentParam; +import com.gxwebsoft.cms.service.DocsContentService; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 文档内容记录表控制器 + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +@Api(tags = "文档内容记录表管理") +@RestController +@RequestMapping("/api/cms/docs-content") +public class DocsContentController extends BaseController { + @Resource + private DocsContentService docsContentService; + + @ApiOperation("分页查询文档内容记录表") + @GetMapping("/page") + public ApiResult> page(DocsContentParam param) { + // 使用关联查询 + return success(docsContentService.pageRel(param)); + } + + @ApiOperation("查询全部文档内容记录表") + @GetMapping() + public ApiResult> list(DocsContentParam param) { + // 使用关联查询 + return success(docsContentService.listRel(param)); + } + + @ApiOperation("根据id查询文档内容记录表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(docsContentService.getByIdRel(id)); + } + + @ApiOperation("添加文档内容记录表") + @PostMapping() + public ApiResult save(@RequestBody DocsContent docsContent) { + if (docsContentService.save(docsContent)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改文档内容记录表") + @PutMapping() + public ApiResult update(@RequestBody DocsContent docsContent) { + if (docsContentService.updateById(docsContent)) { + return success("保存成功"); + } + return fail("保存失败"); + } + + @ApiOperation("删除文档内容记录表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (docsContentService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加文档内容记录表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (docsContentService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改文档内容记录表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(docsContentService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除文档内容记录表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (docsContentService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/cms/controller/DocsController.java b/src/main/java/com/gxwebsoft/cms/controller/DocsController.java index 546c792..6aae761 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/DocsController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/DocsController.java @@ -1,9 +1,20 @@ package com.gxwebsoft.cms.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gxwebsoft.cms.entity.Docs; +import com.gxwebsoft.cms.entity.DocsBook; +import com.gxwebsoft.cms.entity.DocsContent; +import com.gxwebsoft.cms.param.DocsBookParam; +import com.gxwebsoft.cms.param.DocsContentParam; import com.gxwebsoft.cms.param.DocsParam; +import com.gxwebsoft.cms.service.DocsBookService; +import com.gxwebsoft.cms.service.DocsContentService; import com.gxwebsoft.cms.service.DocsService; -import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.core.utils.CommonUtil; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.system.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -24,20 +35,30 @@ import java.util.List; public class DocsController extends BaseController { @Resource private DocsService docsService; + @Resource + private DocsContentService contentService; + @Resource + private DocsBookService bookService; @ApiOperation("分页查询文档管理记录表") @GetMapping("/page") public ApiResult> page(DocsParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(docsService.page(page, page.getWrapper())); // 使用关联查询 - //return success(docsService.pageRel(param)); + return success(docsService.pageRel(param)); } @ApiOperation("查询全部文档管理记录表") @GetMapping() public ApiResult> list(DocsParam param) { + // 通过书籍标识查询所有的目录章节 + if(param.getCode() != null){ + final DocsBookParam bookParam = new DocsBookParam(); + bookParam.setCode(param.getCode()); + final List books = bookService.listRel(bookParam); + final DocsBook book = CommonUtil.listGetOne(books); + param.setBookId(book.getBookId()); + return success(docsService.listRel(param)); + } // 使用关联查询 return success(docsService.listRel(param)); } @@ -45,9 +66,40 @@ public class DocsController extends BaseController { @ApiOperation("根据id查询文档管理记录表") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - return success(docsService.getById(id)); - // 使用关联查询 - //return success(docsService.getByIdRel(id)); + final Docs docs = docsService.getByIdRel(id); + final DocsContentParam param = new DocsContentParam(); + param.setDocsId(id); + final List list = contentService.listRel(param); + DocsContent content = CommonUtil.listGetOne(list); + docs.setContent(content.getContent()); + docs.setContentId(content.getId()); + // 更新阅读数量 + docs.setActualViews(docs.getActualViews() + 1); + docsService.updateById(docs); + return success(docs); + } + @ApiOperation("读取上一篇") + @GetMapping("/getPrevious/{id}") + public ApiResult getPrevious(@PathVariable("id") Integer id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.lt(Docs::getDocsId,id); + wrapper.eq(Docs::getStatus,0); + wrapper.orderByDesc(Docs::getDocsId); + wrapper.last("limit 1"); + final Docs article = docsService.getOne(wrapper); + return success(article); + } + + @ApiOperation("读取下一篇") + @GetMapping("/getNext/{id}") + public ApiResult getNext(@PathVariable("id") Integer id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.gt(Docs::getDocsId,id); + wrapper.eq(Docs::getStatus,0); + wrapper.orderByAsc(Docs::getDocsId); + wrapper.last("limit 1"); + final Docs article = docsService.getOne(wrapper); + return success(article); } @ApiOperation("添加文档管理记录表") diff --git a/src/main/java/com/gxwebsoft/cms/entity/Docs.java b/src/main/java/com/gxwebsoft/cms/entity/Docs.java index 874e356..8e996c1 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/Docs.java +++ b/src/main/java/com/gxwebsoft/cms/entity/Docs.java @@ -1,18 +1,14 @@ package com.gxwebsoft.cms.entity; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.TableLogic; -import java.io.Serializable; -import java.util.Date; - +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.util.Date; + /** * 文档管理记录表 * @@ -30,6 +26,9 @@ public class Docs implements Serializable { @TableId(value = "docs_id", type = IdType.AUTO) private Integer docsId; + @ApiModelProperty(value = "书籍ID") + private Integer bookId; + @ApiModelProperty(value = "文档标题") private String title; @@ -45,10 +44,21 @@ public class Docs implements Serializable { @ApiModelProperty(value = "可见性(public,private,protected)") private String visibility; + @ApiModelProperty(value = "虚拟阅读量(仅用作展示)") + private Integer virtualViews; + + @ApiModelProperty(value = "实际阅读量") + private Integer actualViews; + @ApiModelProperty(value = "排序(数字越小越靠前)") private Integer sortNumber; - @ApiModelProperty(value = "文档内容") + @ApiModelProperty(value = "文章内容ID") + @TableField(exist = false) + private Integer contentId; + + @ApiModelProperty(value = "文章内容") + @TableField(exist = false) private String content; @ApiModelProperty(value = "备注") diff --git a/src/main/java/com/gxwebsoft/cms/entity/DocsBook.java b/src/main/java/com/gxwebsoft/cms/entity/DocsBook.java new file mode 100644 index 0000000..5d9a432 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/entity/DocsBook.java @@ -0,0 +1,63 @@ +package com.gxwebsoft.cms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 书籍记录表 + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "DocsBook对象", description = "书籍记录表") +@TableName("cms_docs_book") +public class DocsBook implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "book_id", type = IdType.AUTO) + private Integer bookId; + + @ApiModelProperty(value = "书籍名称") + private String name; + + @ApiModelProperty(value = "书籍标识") + private String code; + + @ApiModelProperty(value = "封面图") + private String photo; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "书籍介绍") + private String content; + + @ApiModelProperty(value = "排序(数字越小越靠前)") + private Integer sortNumber; + + @ApiModelProperty(value = "状态, 0正常, 1冻结") + private Integer status; + + @ApiModelProperty(value = "是否删除, 0否, 1是") + @TableLogic + private Integer deleted; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "注册时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/cms/entity/DocsContent.java b/src/main/java/com/gxwebsoft/cms/entity/DocsContent.java new file mode 100644 index 0000000..82160d1 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/entity/DocsContent.java @@ -0,0 +1,43 @@ +package com.gxwebsoft.cms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 文档内容记录表 + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "DocsContent对象", description = "文档内容记录表") +@TableName("cms_docs_content") +public class DocsContent implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "文档ID") + private Integer docsId; + + @ApiModelProperty(value = "文档内容") + private String content; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "注册时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/cms/mapper/DocsBookMapper.java b/src/main/java/com/gxwebsoft/cms/mapper/DocsBookMapper.java new file mode 100644 index 0000000..c0d9bef --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/mapper/DocsBookMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.cms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.cms.entity.DocsBook; +import com.gxwebsoft.cms.param.DocsBookParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 书籍记录表Mapper + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +public interface DocsBookMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") DocsBookParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") DocsBookParam param); + +} diff --git a/src/main/java/com/gxwebsoft/cms/mapper/DocsContentMapper.java b/src/main/java/com/gxwebsoft/cms/mapper/DocsContentMapper.java new file mode 100644 index 0000000..02b6d15 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/mapper/DocsContentMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.cms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.cms.entity.DocsContent; +import com.gxwebsoft.cms.param.DocsContentParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 文档内容记录表Mapper + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +public interface DocsContentMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") DocsContentParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") DocsContentParam param); + +} diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsBookMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsBookMapper.xml new file mode 100644 index 0000000..21b4b7e --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsBookMapper.xml @@ -0,0 +1,56 @@ + + + + + + + SELECT a.* + FROM cms_docs_book a + + + AND a.book_id = #{param.bookId} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.code = #{param.code} + + + AND a.photo LIKE CONCAT('%', #{param.photo}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.content LIKE CONCAT('%', #{param.content}, '%') + + + AND a.sort_number = #{param.sortNumber} + + + AND a.deleted = #{param.deleted} + + + AND a.deleted = 0 + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsContentMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsContentMapper.xml new file mode 100644 index 0000000..32c80f4 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsContentMapper.xml @@ -0,0 +1,38 @@ + + + + + + + SELECT a.* + FROM cms_docs_content a + + + AND a.id = #{param.id} + + + AND a.docs_id = #{param.docsId} + + + AND a.content LIKE CONCAT('%', #{param.content}, '%') + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsMapper.xml index 3352964..2453d86 100644 --- a/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsMapper.xml +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/DocsMapper.xml @@ -10,6 +10,9 @@ AND a.docs_id = #{param.docsId} + + AND a.book_id = #{param.bookId} + AND a.title LIKE CONCAT('%', #{param.title}, '%') diff --git a/src/main/java/com/gxwebsoft/cms/param/DocsBookParam.java b/src/main/java/com/gxwebsoft/cms/param/DocsBookParam.java new file mode 100644 index 0000000..b76674e --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/param/DocsBookParam.java @@ -0,0 +1,53 @@ +package com.gxwebsoft.cms.param; + +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 书籍记录表查询参数 + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "DocsBookParam对象", description = "书籍记录表查询参数") +public class DocsBookParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer bookId; + + @ApiModelProperty(value = "书籍名称") + private String name; + + @ApiModelProperty(value = "书籍标识") + @QueryField(type = QueryType.EQ) + private String code; + + @ApiModelProperty(value = "封面图") + private String photo; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "文档内容") + private String content; + + @ApiModelProperty(value = "排序(数字越小越靠前)") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + + @ApiModelProperty(value = "是否删除, 0否, 1是") + @QueryField(type = QueryType.EQ) + private Integer deleted; + +} diff --git a/src/main/java/com/gxwebsoft/cms/param/DocsContentParam.java b/src/main/java/com/gxwebsoft/cms/param/DocsContentParam.java new file mode 100644 index 0000000..397638d --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/param/DocsContentParam.java @@ -0,0 +1,36 @@ +package com.gxwebsoft.cms.param; + +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 文档内容记录表查询参数 + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "DocsContentParam对象", description = "文档内容记录表查询参数") +public class DocsContentParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @ApiModelProperty(value = "文档ID") + @QueryField(type = QueryType.EQ) + private Integer docsId; + + @ApiModelProperty(value = "文档内容") + private String content; + +} diff --git a/src/main/java/com/gxwebsoft/cms/param/DocsParam.java b/src/main/java/com/gxwebsoft/cms/param/DocsParam.java index 5294250..a05cc6a 100644 --- a/src/main/java/com/gxwebsoft/cms/param/DocsParam.java +++ b/src/main/java/com/gxwebsoft/cms/param/DocsParam.java @@ -26,6 +26,14 @@ public class DocsParam extends BaseParam { @QueryField(type = QueryType.EQ) private Integer docsId; + @ApiModelProperty(value = "书籍ID") + @QueryField(type = QueryType.EQ) + private Integer bookId; + + @ApiModelProperty(value = "书籍标识") + @QueryField(type = QueryType.EQ) + private String code; + @ApiModelProperty(value = "文档标题") private String title; diff --git a/src/main/java/com/gxwebsoft/cms/service/DocsBookService.java b/src/main/java/com/gxwebsoft/cms/service/DocsBookService.java new file mode 100644 index 0000000..b99e0ea --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/service/DocsBookService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.cms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.cms.entity.DocsBook; +import com.gxwebsoft.cms.param.DocsBookParam; + +import java.util.List; + +/** + * 书籍记录表Service + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +public interface DocsBookService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(DocsBookParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(DocsBookParam param); + + /** + * 根据id查询 + * + * @param bookId ID + * @return DocsBook + */ + DocsBook getByIdRel(Integer bookId); + +} diff --git a/src/main/java/com/gxwebsoft/cms/service/DocsContentService.java b/src/main/java/com/gxwebsoft/cms/service/DocsContentService.java new file mode 100644 index 0000000..a1d7dc8 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/service/DocsContentService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.cms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.cms.entity.DocsContent; +import com.gxwebsoft.cms.param.DocsContentParam; + +import java.util.List; + +/** + * 文档内容记录表Service + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +public interface DocsContentService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(DocsContentParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(DocsContentParam param); + + /** + * 根据id查询 + * + * @param id ID + * @return DocsContent + */ + DocsContent getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/DocsBookServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/DocsBookServiceImpl.java new file mode 100644 index 0000000..8eb8eb1 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/service/impl/DocsBookServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.cms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.cms.mapper.DocsBookMapper; +import com.gxwebsoft.cms.service.DocsBookService; +import com.gxwebsoft.cms.entity.DocsBook; +import com.gxwebsoft.cms.param.DocsBookParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 书籍记录表Service实现 + * + * @author 科技小王子 + * @since 2024-03-23 19:40:02 + */ +@Service +public class DocsBookServiceImpl extends ServiceImpl implements DocsBookService { + + @Override + public PageResult pageRel(DocsBookParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(DocsBookParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("create_time desc"); + return page.sortRecords(list); + } + + @Override + public DocsBook getByIdRel(Integer bookId) { + DocsBookParam param = new DocsBookParam(); + param.setBookId(bookId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/DocsContentServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/DocsContentServiceImpl.java new file mode 100644 index 0000000..03f2016 --- /dev/null +++ b/src/main/java/com/gxwebsoft/cms/service/impl/DocsContentServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.cms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.cms.mapper.DocsContentMapper; +import com.gxwebsoft.cms.service.DocsContentService; +import com.gxwebsoft.cms.entity.DocsContent; +import com.gxwebsoft.cms.param.DocsContentParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 文档内容记录表Service实现 + * + * @author 科技小王子 + * @since 2024-03-23 19:51:37 + */ +@Service +public class DocsContentServiceImpl extends ServiceImpl implements DocsContentService { + + @Override + public PageResult pageRel(DocsContentParam param) { + PageParam page = new PageParam<>(param); + //page.setDefaultOrder("create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(DocsContentParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + //page.setDefaultOrder("create_time desc"); + return page.sortRecords(list); + } + + @Override + public DocsContent getByIdRel(Integer id) { + DocsContentParam param = new DocsContentParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java index f00504e..fb409d9 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java @@ -23,7 +23,7 @@ public class DocsServiceImpl extends ServiceImpl implements Do @Override public PageResult pageRel(DocsParam param) { PageParam page = new PageParam<>(param); - //page.setDefaultOrder("create_time desc"); + page.setDefaultOrder("sort_number asc, create_time desc"); List list = baseMapper.selectPageRel(page, param); return new PageResult<>(list, page.getTotal()); } diff --git a/src/test/java/com/gxwebsoft/generator/CmsGenerator.java b/src/test/java/com/gxwebsoft/generator/CmsGenerator.java index cf600df..5c24fcf 100644 --- a/src/test/java/com/gxwebsoft/generator/CmsGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/CmsGenerator.java @@ -47,6 +47,8 @@ public class CmsGenerator { // "cms_article_comment", // "cms_article_content", // "cms_docs", +// "cms_docs_book", +// "cms_docs_content", // "cms_ad", // "cms_ad_record", // "cms_navigation",