diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index b8b532f8..265bb005 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -13,6 +13,7 @@ ruoyi-gen ruoyi-job ruoyi-file + server-xm ruoyi-modules diff --git a/ruoyi-modules/server-xm/pom.xml b/ruoyi-modules/server-xm/pom.xml new file mode 100644 index 00000000..b7c89513 --- /dev/null +++ b/ruoyi-modules/server-xm/pom.xml @@ -0,0 +1,104 @@ + + + + ruoyi-modules + com.ruoyi + 3.6.1 + + 4.0.0 + + server-moules-xm + + server-modules-xm脑图模块 + + + + 8 + 8 + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.ruoyi + ruoyi-common-datasource + + + + + com.ruoyi + ruoyi-common-datascope + + + + + com.ruoyi + ruoyi-common-log + + + + + com.ruoyi + ruoyi-common-swagger + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + \ No newline at end of file diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/ServerXmApplication.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/ServerXmApplication.java new file mode 100644 index 00000000..f7450138 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/ServerXmApplication.java @@ -0,0 +1,21 @@ +package com.server.xm; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + + +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +@MapperScan("com.server.xm.mapper") +public class ServerXmApplication { + public static void main(String[] args) { + SpringApplication.run(ServerXmApplication.class, args); + System.out.println("Server-XM模块启动成功"); + } +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeController.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeController.java new file mode 100644 index 00000000..474cae9e --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeController.java @@ -0,0 +1,35 @@ +package com.server.xm.controller; + +import com.server.xm.entity.XmNode; +import com.server.xm.service.XmNodeService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * Xmind列表(XmNode)表控制层 + * + * @author makejava + * @since 2022-10-24 22:16:42 + */ +@RestController +@RequestMapping("xmNode") +public class XmNodeController { + /** + * 服务对象 + */ + @Resource + private XmNodeService xmNodeService; + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("selectOne") + public XmNode selectOne(String id) { + return this.xmNodeService.queryById(id); + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeStyleController.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeStyleController.java new file mode 100644 index 00000000..90952c92 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmNodeStyleController.java @@ -0,0 +1,35 @@ +package com.server.xm.controller; + +import com.server.xm.entity.XmNodeStyle; +import com.server.xm.service.XmNodeStyleService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 样式表(XmNodeStyle)表控制层 + * + * @author makejava + * @since 2022-10-24 22:33:28 + */ +@RestController +@RequestMapping("xmNodeStyle") +public class XmNodeStyleController { + /** + * 服务对象 + */ + @Resource + private XmNodeStyleService xmNodeStyleService; + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("selectOne") + public XmNodeStyle selectOne(String id) { + return this.xmNodeStyleService.queryById(id); + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmTopController.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmTopController.java new file mode 100644 index 00000000..258098d6 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/controller/XmTopController.java @@ -0,0 +1,46 @@ +package com.server.xm.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.server.xm.entity.XmTop; +import com.server.xm.entity.vo.XmTopVo; +import com.server.xm.service.XmTopService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * Xmind列表(XmTop)表控制层 + * + * @author makejava + * @since 2022-10-23 12:50:31 + */ +@RestController +@RequestMapping("/xmTop") +public class XmTopController extends BaseController { + /** + * 服务对象 + */ + @Resource + private XmTopService xmTopService; + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("/findOne/{id}") + public XmTopVo selectOne(@PathVariable("id") String id) { + return this.xmTopService.queryById(id); + } + + @GetMapping("/page") + public TableDataInfo page(XmTop xmTop){ + startPage(); + List list = this.xmTopService.queryAll(xmTop); + return getDataTable(list); + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNode.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNode.java new file mode 100644 index 00000000..1280ad15 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNode.java @@ -0,0 +1,100 @@ +package com.server.xm.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import java.util.Date; +import java.io.Serializable; + +/** + * Xmind列表(XmNode)实体类 + * + * @author makejava + * @since 2022-10-24 22:16:40 + */ +public class XmNode extends BaseEntity { + private static final long serialVersionUID = 814901162125497459L; + + private String id; + /** + * 节点名称 + */ + private String name; + /** + * 所属分类 + */ + private String typeId; + /** + * 节点等级 + */ + private String nodeLevel; + /** + * 父节点ID + */ + private String parentId; + /** + * 一级节点ID + */ + private String topId; + /** + * 是否删除,1已删除,0未删除 + */ + private String delFlag; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTypeId() { + return typeId; + } + + public void setTypeId(String typeId) { + this.typeId = typeId; + } + + public String getNodeLevel() { + return nodeLevel; + } + + public void setNodeLevel(String nodeLevel) { + this.nodeLevel = nodeLevel; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getTopId() { + return topId; + } + + public void setTopId(String topId) { + this.topId = topId; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNodeStyle.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNodeStyle.java new file mode 100644 index 00000000..96b33f0f --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmNodeStyle.java @@ -0,0 +1,108 @@ +package com.server.xm.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + + +/** + * 样式表(XmNodeStyle)实体类 + * + * @author makejava + * @since 2022-10-24 22:33:26 + */ +public class XmNodeStyle extends BaseEntity { + private static final long serialVersionUID = -43953448497497403L; + + private String id; + /** + * 内容 + */ + private String direction; + /** + * 所属节点ID + */ + private String hyperLink; + /** + * 图标 + */ + private String icons; + + private String memo; + /** + * 样式 + */ + private String style; + /** + * 标签 + */ + private String tags; + /** + * 节点ID + */ + private String nodeId; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDirection() { + return direction; + } + + public void setDirection(String direction) { + this.direction = direction; + } + + public String getHyperLink() { + return hyperLink; + } + + public void setHyperLink(String hyperLink) { + this.hyperLink = hyperLink; + } + + public String getIcons() { + return icons; + } + + public void setIcons(String icons) { + this.icons = icons; + } + + public String getMemo() { + return memo; + } + + public void setMemo(String memo) { + this.memo = memo; + } + + public String getStyle() { + return style; + } + + public void setStyle(String style) { + this.style = style; + } + + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public String getNodeId() { + return nodeId; + } + + public void setNodeId(String nodeId) { + this.nodeId = nodeId; + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmTop.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmTop.java new file mode 100644 index 00000000..49c74d8b --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/XmTop.java @@ -0,0 +1,76 @@ +package com.server.xm.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import java.util.Date; +import java.io.Serializable; + +/** + * Xmind列表(XmTop)实体类 + * + * @author makejava + * @since 2022-10-23 11:52:10 + */ +public class XmTop extends BaseEntity { + private static final long serialVersionUID = 780186867205672228L; + + private String id; + /** + * 节点名称 + */ + private String name; + /** + * 所属分类 + */ + private String typeId; + /** + * 节点等级 + */ + private String nodeLevel; + /** + * 是否删除,1已删除,0未删除 + */ + private String delFlag; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTypeId() { + return typeId; + } + + public void setTypeId(String typeId) { + this.typeId = typeId; + } + + public String getNodeLevel() { + return nodeLevel; + } + + public void setNodeLevel(String nodeLevel) { + this.nodeLevel = nodeLevel; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/vo/XmTopVo.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/vo/XmTopVo.java new file mode 100644 index 00000000..fe9ad0b9 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/entity/vo/XmTopVo.java @@ -0,0 +1,122 @@ +package com.server.xm.entity.vo; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.nacos.shaded.com.google.gson.JsonArray; +import com.alibaba.nacos.shaded.com.google.gson.JsonObject; +import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.server.xm.entity.XmNodeStyle; +import com.server.xm.entity.XmTop; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class XmTopVo implements Serializable { + private static final long serialVersionUID = 814901162125497459L; + private String id; + private String topic; + private Integer direction; + private String hyperLink; + private String memo; + private String nodeLevel; + private List icons; + private Map style; + private List tags; + private List children; + + public XmTopVo() {} + public XmTopVo(XmTop top, XmNodeStyle style){ + //基本信息同步 + BeanUtils.copyProperties(top,this); + this.setTopic(top.getName()); + this.setIcons(JSON.parseObject(style.getIcons(), ArrayList.class)); + this.setStyle(JSON.parseObject(style.getStyle(),Map.class)); + this.setTags(JSON.parseObject(style.getTags(),ArrayList.class)); + } + + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTopic() { + return topic; + } + + public void setTopic(String topic) { + this.topic = topic; + } + + public Integer getDirection() { + return direction; + } + + public void setDirection(Integer direction) { + this.direction = direction; + } + + public String getHyperLink() { + return hyperLink; + } + + public void setHyperLink(String hyperLink) { + this.hyperLink = hyperLink; + } + + public List getIcons() { + return icons; + } + + public void setIcons(List icons) { + this.icons = icons; + } + + public String getMemo() { + return memo; + } + + public void setMemo(String memo) { + this.memo = memo; + } + + public Map getStyle() { + return style; + } + + public void setStyle(Map style) { + this.style = style; + } + + public List getTags() { + return tags; + } + + public void setTags(List tags) { + this.tags = tags; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public String getNodeLevel() { + return nodeLevel; + } + + public void setNodeLevel(String nodeLevel) { + this.nodeLevel = nodeLevel; + } +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeMapper.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeMapper.java new file mode 100644 index 00000000..88943d2f --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeMapper.java @@ -0,0 +1,84 @@ +package com.server.xm.mapper; + + +import com.server.xm.entity.XmNode; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Xmind列表(XmNode)表数据库访问层 + * + * @author makejava + * @since 2022-10-24 22:16:40 + */ +public interface XmNodeMapper { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmNode queryById(String id); + + /** + * 查询指定行数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit); + + + /** + * 通过实体作为筛选条件查询 + * + * @param xmNode 实例对象 + * @return 对象列表 + */ + List queryAll(XmNode xmNode); + + /** + * 新增数据 + * + * @param xmNode 实例对象 + * @return 影响行数 + */ + int insert(XmNode xmNode); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param xmNode 实例对象 + * @return 影响行数 + */ + int update(XmNode xmNode); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(String id); + +} + diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeStyleMapper.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeStyleMapper.java new file mode 100644 index 00000000..7b1d3b39 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmNodeStyleMapper.java @@ -0,0 +1,89 @@ +package com.server.xm.mapper; + +import com.server.xm.entity.XmNodeStyle; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 样式表(XmNodeStyle)表数据库访问层 + * + * @author makejava + * @since 2022-10-24 22:33:26 + */ +public interface XmNodeStyleMapper { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmNodeStyle queryById(String id); + + /** + * 查询指定行数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit); + + /** + * 根据NodeId查询样式 + * @param nids + * @return + */ + List queryByNid(@Param("nids") List nids); + + /** + * 通过实体作为筛选条件查询 + * + * @param xmNodeStyle 实例对象 + * @return 对象列表 + */ + List queryAll(XmNodeStyle xmNodeStyle); + + /** + * 新增数据 + * + * @param xmNodeStyle 实例对象 + * @return 影响行数 + */ + int insert(XmNodeStyle xmNodeStyle); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param xmNodeStyle 实例对象 + * @return 影响行数 + */ + int update(XmNodeStyle xmNodeStyle); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(String id); + +} + diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmTopMapper.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmTopMapper.java new file mode 100644 index 00000000..6cb11f70 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/mapper/XmTopMapper.java @@ -0,0 +1,91 @@ +package com.server.xm.mapper; + + +import com.server.xm.entity.XmTop; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Xmind列表(XmTop)表数据库访问层 + * + * @author makejava + * @since 2022-10-23 12:50:09 + */ +public interface XmTopMapper { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmTop queryById(String id); + + /** + * 根据父节点查询二级节点 + * @param pid 一级节点ID + * @return + */ + List queryByPid(String pid); + + /** + * 查询指定行数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit); + + + /** + * 通过实体作为筛选条件查询 + * + * @param xmTop 实例对象 + * @return 对象列表 + */ + List queryAll(XmTop xmTop); + + /** + * 新增数据 + * + * @param xmTop 实例对象 + * @return 影响行数 + */ + int insert(XmTop xmTop); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param xmTop 实例对象 + * @return 影响行数 + */ + int update(XmTop xmTop); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(String id); + +} + diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeService.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeService.java new file mode 100644 index 00000000..3eb2340f --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeService.java @@ -0,0 +1,55 @@ +package com.server.xm.service; + +import com.server.xm.entity.XmNode; +import java.util.List; + +/** + * Xmind列表(XmNode)表服务接口 + * + * @author makejava + * @since 2022-10-24 22:16:42 + */ +public interface XmNodeService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmNode queryById(String id); + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(int offset, int limit); + + /** + * 新增数据 + * + * @param xmNode 实例对象 + * @return 实例对象 + */ + XmNode insert(XmNode xmNode); + + /** + * 修改数据 + * + * @param xmNode 实例对象 + * @return 实例对象 + */ + XmNode update(XmNode xmNode); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + boolean deleteById(String id); + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeStyleService.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeStyleService.java new file mode 100644 index 00000000..780cc030 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmNodeStyleService.java @@ -0,0 +1,56 @@ +package com.server.xm.service; + +import com.server.xm.entity.XmNodeStyle; + +import java.util.List; + +/** + * 样式表(XmNodeStyle)表服务接口 + * + * @author makejava + * @since 2022-10-24 22:33:28 + */ +public interface XmNodeStyleService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmNodeStyle queryById(String id); + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(int offset, int limit); + + /** + * 新增数据 + * + * @param xmNodeStyle 实例对象 + * @return 实例对象 + */ + XmNodeStyle insert(XmNodeStyle xmNodeStyle); + + /** + * 修改数据 + * + * @param xmNodeStyle 实例对象 + * @return 实例对象 + */ + XmNodeStyle update(XmNodeStyle xmNodeStyle); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + boolean deleteById(String id); + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmTopService.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmTopService.java new file mode 100644 index 00000000..accde510 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/XmTopService.java @@ -0,0 +1,63 @@ +package com.server.xm.service; +import com.server.xm.entity.XmTop; +import com.server.xm.entity.vo.XmTopVo; + +import java.util.List; + +/** + * Xmind列表(XmTop)表服务接口 + * + * @author makejava + * @since 2022-10-23 12:50:29 + */ +public interface XmTopService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + XmTopVo queryById(String id); + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(int offset, int limit); + + /** + * 查询所有,不分页 + * @param xmTop + * @return + */ + List queryAll(XmTop xmTop); + + /** + * 新增数据 + * + * @param xmTop 实例对象 + * @return 实例对象 + */ + XmTop insert(XmTop xmTop); + + /** + * 修改数据 + * + * @param xmTop 实例对象 + * @return 实例对象 + */ + XmTop update(XmTop xmTop); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + boolean deleteById(String id); + +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeServiceImpl.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeServiceImpl.java new file mode 100644 index 00000000..37fb2f99 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeServiceImpl.java @@ -0,0 +1,79 @@ +package com.server.xm.service.impl; + +import com.server.xm.entity.XmNode; +import com.server.xm.mapper.XmNodeMapper; +import com.server.xm.service.XmNodeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * Xmind列表(XmNode)表服务实现类 + * + * @author makejava + * @since 2022-10-24 22:16:42 + */ +@Service("xmNodeService") +public class XmNodeServiceImpl implements XmNodeService { + @Resource + private XmNodeMapper xmNodeMapper; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public XmNode queryById(String id) { + return this.xmNodeMapper.queryById(id); + } + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + @Override + public List queryAllByLimit(int offset, int limit) { + return this.xmNodeMapper.queryAllByLimit(offset, limit); + } + + /** + * 新增数据 + * + * @param xmNode 实例对象 + * @return 实例对象 + */ + @Override + public XmNode insert(XmNode xmNode) { + this.xmNodeMapper.insert(xmNode); + return xmNode; + } + + /** + * 修改数据 + * + * @param xmNode 实例对象 + * @return 实例对象 + */ + @Override + public XmNode update(XmNode xmNode) { + this.xmNodeMapper.update(xmNode); + return this.queryById(xmNode.getId()); + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public boolean deleteById(String id) { + return this.xmNodeMapper.deleteById(id) > 0; + } +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeStyleServiceImpl.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeStyleServiceImpl.java new file mode 100644 index 00000000..527d810b --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmNodeStyleServiceImpl.java @@ -0,0 +1,79 @@ +package com.server.xm.service.impl; + +import com.server.xm.entity.XmNodeStyle; +import com.server.xm.mapper.XmNodeStyleMapper; +import com.server.xm.service.XmNodeStyleService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 样式表(XmNodeStyle)表服务实现类 + * + * @author makejava + * @since 2022-10-24 22:33:28 + */ +@Service("xmNodeStyleService") +public class XmNodeStyleServiceImpl implements XmNodeStyleService { + @Resource + private XmNodeStyleMapper xmNodeStyleMapper; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public XmNodeStyle queryById(String id) { + return this.xmNodeStyleMapper.queryById(id); + } + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + @Override + public List queryAllByLimit(int offset, int limit) { + return this.xmNodeStyleMapper.queryAllByLimit(offset, limit); + } + + /** + * 新增数据 + * + * @param xmNodeStyle 实例对象 + * @return 实例对象 + */ + @Override + public XmNodeStyle insert(XmNodeStyle xmNodeStyle) { + this.xmNodeStyleMapper.insert(xmNodeStyle); + return xmNodeStyle; + } + + /** + * 修改数据 + * + * @param xmNodeStyle 实例对象 + * @return 实例对象 + */ + @Override + public XmNodeStyle update(XmNodeStyle xmNodeStyle) { + this.xmNodeStyleMapper.update(xmNodeStyle); + return this.queryById(xmNodeStyle.getId()); + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public boolean deleteById(String id) { + return this.xmNodeStyleMapper.deleteById(id) > 0; + } +} diff --git a/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmTopServiceImpl.java b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmTopServiceImpl.java new file mode 100644 index 00000000..9afaf8f6 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/java/com/server/xm/service/impl/XmTopServiceImpl.java @@ -0,0 +1,105 @@ +package com.server.xm.service.impl; + + +import com.server.xm.entity.XmNodeStyle; +import com.server.xm.entity.XmTop; +import com.server.xm.entity.vo.XmTopVo; +import com.server.xm.mapper.XmNodeStyleMapper; +import com.server.xm.mapper.XmTopMapper; +import com.server.xm.service.XmTopService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Xmind列表(XmTop)表服务实现类 + * + * @author makejava + * @since 2022-10-23 12:50:29 + */ +@Service("xmTopService") +public class XmTopServiceImpl implements XmTopService { + @Resource + private XmTopMapper xmTopMapper; + @Resource + private XmNodeStyleMapper styleMapper; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public XmTopVo queryById(String id) { + //查询出节点与父节点数据 + XmTop top = this.xmTopMapper.queryById(id); + //查询出二级ID + List secList = this.xmTopMapper.queryByPid(id); + List nids = secList.stream().map(e -> e.getId()).collect(Collectors.toList()); + nids.add(top.getId()); + List styleList = styleMapper.queryByNid(nids); + Map> styleMap = styleList.stream().collect(Collectors.groupingBy(e -> e.getNodeId())); + //组装父节点 + XmTopVo data = new XmTopVo(top,styleMap.get(top.getId()).get(0)); + //子节点 + List children = secList.stream().map(e -> new XmTopVo(e,styleMap.get(e.getId()).get(0))).collect(Collectors.toList()); + data.setChildren(children); + return data; + } + + /** + * 查询多条数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + @Override + public List queryAllByLimit(int offset, int limit) { + return this.xmTopMapper.queryAllByLimit(offset, limit); + } + + @Override + public List queryAll(XmTop xmTop) { + return this.xmTopMapper.queryAll(xmTop); + } + + /** + * 新增数据 + * + * @param xmTop 实例对象 + * @return 实例对象 + */ + @Override + public XmTop insert(XmTop xmTop) { + this.xmTopMapper.insert(xmTop); + return xmTop; + } + + /** + * 修改数据 + * + * @param xmTop 实例对象 + * @return 实例对象 + */ + @Override + public XmTop update(XmTop xmTop) { + this.xmTopMapper.update(xmTop); + return null; + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public boolean deleteById(String id) { + return this.xmTopMapper.deleteById(id) > 0; + } +} diff --git a/ruoyi-modules/server-xm/src/main/resources/bootstrap.yml b/ruoyi-modules/server-xm/src/main/resources/bootstrap.yml new file mode 100644 index 00000000..e8a69a4f --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/resources/bootstrap.yml @@ -0,0 +1,25 @@ +# Tomcat +server: + port: 9204 + +# Spring +spring: + application: + # 应用名称 + name: server-xm + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/ruoyi-modules/server-xm/src/main/resources/logback.xml b/ruoyi-modules/server-xm/src/main/resources/logback.xml new file mode 100644 index 00000000..565ce1c3 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeMapper.xml b/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeMapper.xml new file mode 100644 index 00000000..334a47aa --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeMapper.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into sev-xmind.xm_node(NAME, TYPE_ID, NODE_LEVEL, PARENT_ID, TOP_ID, CREATE_TIME, UPDATE_TIME, CREATE_BY, + UPDATE_BY, DEL_FLAG) + values (#{name}, #{typeId}, #{nodeLevel}, #{parentId}, #{topId}, #{createTime}, #{updateTime}, #{createBy}, #{updateBy}, #{delFlag}) + + + + insert into sev-xmind.xm_node(NAME, TYPE_ID, NODE_LEVEL, PARENT_ID, TOP_ID, CREATE_TIME, UPDATE_TIME, CREATE_BY, + UPDATE_BY, DEL_FLAG) + values + + (#{entity.name}, #{entity.typeId}, #{entity.nodeLevel}, #{entity.parentId}, #{entity.topId}, + #{entity.createTime}, #{entity.updateTime}, #{entity.createBy}, #{entity.updateBy}, #{entity.delFlag}) + + + + + insert into sev-xmind.xm_node(NAME, TYPE_ID, NODE_LEVEL, PARENT_ID, TOP_ID, CREATE_TIME, UPDATE_TIME, CREATE_BY, + UPDATE_BY, DEL_FLAG) + values + + (#{entity.name}, #{entity.typeId}, #{entity.nodeLevel}, #{entity.parentId}, #{entity.topId}, + #{entity.createTime}, #{entity.updateTime}, #{entity.createBy}, #{entity.updateBy}, #{entity.delFlag}) + + on duplicate key update + NAME = values(NAME) , TYPE_ID = values(TYPE_ID) , NODE_LEVEL = values(NODE_LEVEL) , PARENT_ID = + values(PARENT_ID) , TOP_ID = values(TOP_ID) , CREATE_TIME = values(CREATE_TIME) , UPDATE_TIME = + values(UPDATE_TIME) , CREATE_BY = values(CREATE_BY) , UPDATE_BY = values(UPDATE_BY) , DEL_FLAG = + values(DEL_FLAG) + + + + + update sev-xmind.xm_node + + + NAME = #{name}, + + + TYPE_ID = #{typeId}, + + + NODE_LEVEL = #{nodeLevel}, + + + PARENT_ID = #{parentId}, + + + TOP_ID = #{topId}, + + + CREATE_TIME = #{createTime}, + + + UPDATE_TIME = #{updateTime}, + + + CREATE_BY = #{createBy}, + + + UPDATE_BY = #{updateBy}, + + + DEL_FLAG = #{delFlag}, + + + where ID = #{id} + + + + + delete + from sev-xmind.xm_node + where ID = #{id} + + + + diff --git a/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeStyleMapper.xml b/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeStyleMapper.xml new file mode 100644 index 00000000..f624c774 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/resources/mapper/XmNodeStyleMapper.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_node_style(DIRECTION, HYPER_LINK, ICONS, MEMO, STYLE, TAGS, NODE_ID) + values (#{direction}, #{hyperLink}, #{icons}, #{memo}, #{style}, #{tags}, #{nodeId}) + + + + insert into xm_node_style(DIRECTION, HYPER_LINK, ICONS, MEMO, STYLE, TAGS, NODE_ID) + values + + (#{entity.direction}, #{entity.hyperLink}, #{entity.icons}, #{entity.memo}, #{entity.style}, #{entity.tags}, + #{entity.nodeId}) + + + + + insert into xm_node_style(DIRECTION, HYPER_LINK, ICONS, MEMO, STYLE, TAGS, NODE_ID) + values + + (#{entity.direction}, #{entity.hyperLink}, #{entity.icons}, #{entity.memo}, #{entity.style}, #{entity.tags}, + #{entity.nodeId}) + + on duplicate key update + DIRECTION = values(DIRECTION) , HYPER_LINK = values(HYPER_LINK) , ICONS = values(ICONS) , MEMO = values(MEMO) , + STYLE = values(STYLE) , TAGS = values(TAGS) , NODE_ID = values(NODE_ID) + + + + + update xm_node_style + + + DIRECTION = #{direction}, + + + HYPER_LINK = #{hyperLink}, + + + ICONS = #{icons}, + + + MEMO = #{memo}, + + + STYLE = #{style}, + + + TAGS = #{tags}, + + + NODE_ID = #{nodeId}, + + + where ID = #{id} + + + + + delete + from xm_node_style + where ID = #{id} + + + + diff --git a/ruoyi-modules/server-xm/src/main/resources/mapper/XmTopMapper.xml b/ruoyi-modules/server-xm/src/main/resources/mapper/XmTopMapper.xml new file mode 100644 index 00000000..c5388c89 --- /dev/null +++ b/ruoyi-modules/server-xm/src/main/resources/mapper/XmTopMapper.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_top(NAME, TYPE_ID, NODE_LEVEL, CREATE_TIME, UPDATE_TIME, CREATE_BY, UPDATE_BY, + DEL_FLAG) + values (#{name}, #{typeId}, #{nodeLevel}, #{createTime}, #{updateTime}, #{createBy}, #{updateBy}, #{delFlag}) + + + + insert into xm_top(NAME, TYPE_ID, NODE_LEVEL, CREATE_TIME, UPDATE_TIME, CREATE_BY, UPDATE_BY, + DEL_FLAG) + values + + (#{entity.name}, #{entity.typeId}, #{entity.nodeLevel}, #{entity.createTime}, #{entity.updateTime}, + #{entity.createBy}, #{entity.updateBy}, #{entity.delFlag}) + + + + + insert into xm_top(NAME, TYPE_ID, NODE_LEVEL, CREATE_TIME, UPDATE_TIME, CREATE_BY, UPDATE_BY, + DEL_FLAG) + values + + (#{entity.name}, #{entity.typeId}, #{entity.nodeLevel}, #{entity.createTime}, #{entity.updateTime}, + #{entity.createBy}, #{entity.updateBy}, #{entity.delFlag}) + + on duplicate key update + NAME = values(NAME) , TYPE_ID = values(TYPE_ID) , NODE_LEVEL = values(NODE_LEVEL) , CREATE_TIME = + values(CREATE_TIME) , UPDATE_TIME = values(UPDATE_TIME) , CREATE_BY = values(CREATE_BY) , UPDATE_BY = + values(UPDATE_BY) , DEL_FLAG = values(DEL_FLAG) + + + + + update xm_top + + + NAME = #{name}, + + + TYPE_ID = #{typeId}, + + + NODE_LEVEL = #{nodeLevel}, + + + CREATE_TIME = #{createTime}, + + + UPDATE_TIME = #{updateTime}, + + + CREATE_BY = #{createBy}, + + + UPDATE_BY = #{updateBy}, + + + DEL_FLAG = #{delFlag}, + + + where ID = #{id} + + + + + delete + from xm_top + where ID = #{id} + + + +