Zhangtf 2 viikkoa sitten
vanhempi
commit
1174b40485

+ 61 - 0
xzl-admin/src/main/java/com/xzl/web/mapper/KnowledgeFileMapper.java

@@ -0,0 +1,61 @@
+package com.xzl.web.mapper;
+import com.xzl.common.core.domain.entity.KnowledgeFile;
+
+import java.util.List;
+
+/**
+ * 文件Mapper接口
+ *
+ * @author xzl
+ * @date 2025-06-17
+ */
+public interface KnowledgeFileMapper
+{
+    /**
+     * 查询文件
+     *
+     * @param fileId 文件主键
+     * @return 文件
+     */
+    public KnowledgeFile selectSysFileByFileId(Long fileId);
+
+    /**
+     * 查询文件列表
+     *
+     * @param Knowledge 文件
+     * @return 文件集合
+     */
+    public List<KnowledgeFile> selectSysFileList(KnowledgeFile Knowledge);
+
+    /**
+     * 新增文件
+     *
+     * @param Knowledge 文件
+     * @return 结果
+     */
+    public int insertSysFile(KnowledgeFile Knowledge);
+
+    /**
+     * 修改文件
+     *
+     * @param Knowledge 文件
+     * @return 结果
+     */
+    public int updateSysFile(KnowledgeFile Knowledge);
+
+    /**
+     * 删除文件
+     *
+     * @param fileId 文件主键
+     * @return 结果
+     */
+    public int deleteSysFileByFileId(Long fileId);
+
+    /**
+     * 批量删除文件
+     *
+     * @param fileIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSysFileByFileIds(Long[] fileIds);
+}

+ 62 - 0
xzl-admin/src/main/java/com/xzl/web/mapper/SysFileFolderMapper.java

@@ -0,0 +1,62 @@
+package com.xzl.web.mapper;
+
+import java.util.List;
+
+import com.xzl.common.core.domain.entity.SysFileFolder;
+
+/**
+ * 文件文件夹(麻城知识库四级结构)Mapper接口
+ *
+ * @author xzl
+ * @date 2025-06-17
+ */
+public interface SysFileFolderMapper
+{
+    /**
+     * 查询文件文件夹(麻城知识库四级结构)
+     *
+     * @param folderId 文件文件夹(麻城知识库四级结构)主键
+     * @return 文件文件夹(麻城知识库四级结构)
+     */
+    public SysFileFolder selectSysFileFolderByFolderId(Long folderId);
+
+    /**
+     * 查询文件文件夹(麻城知识库四级结构)列表
+     *
+     * @param knowledgeFileFolder 文件文件夹(麻城知识库四级结构)
+     * @return 文件文件夹(麻城知识库四级结构)集合
+     */
+    public List<SysFileFolder> selectSysFileFolderList(SysFileFolder knowledgeFileFolder);
+
+    /**
+     * 新增文件文件夹(麻城知识库四级结构)
+     *
+     * @param knowledgeFileFolder 文件文件夹(麻城知识库四级结构)
+     * @return 结果
+     */
+    public int insertSysFileFolder(SysFileFolder knowledgeFileFolder);
+
+    /**
+     * 修改文件文件夹(麻城知识库四级结构)
+     *
+     * @param knowledgeFileFolder 文件文件夹(麻城知识库四级结构)
+     * @return 结果
+     */
+    public int updateSysFileFolder(SysFileFolder knowledgeFileFolder);
+
+    /**
+     * 删除文件文件夹(麻城知识库四级结构)
+     *
+     * @param folderId 文件文件夹(麻城知识库四级结构)主键
+     * @return 结果
+     */
+    public int deleteSysFileFolderByFolderId(Long folderId);
+
+    /**
+     * 批量删除文件文件夹(麻城知识库四级结构)
+     *
+     * @param folderIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSysFileFolderByFolderIds(Long[] folderIds);
+}

+ 106 - 0
xzl-admin/src/main/resources/mapper/KnowledgeFileMapper.xml

@@ -0,0 +1,106 @@
+<?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.xzl.web.mapper.KnowledgeFileMapper">
+
+    <resultMap type="KnowledgeFile" id="SysFileResult">
+        <result property="fileId"    column="file_id"    />
+        <result property="folderId"    column="folder_id"    />
+        <result property="fileName"    column="file_name"    />
+        <result property="fileType"    column="file_type"    />
+        <result property="fileSize"    column="file_size"    />
+        <result property="filePath"    column="file_path"    />
+        <result property="downloadCount"    column="download_count"    />
+        <result property="status"    column="status"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSysFileVo">
+        select file_id, folder_id, file_name, file_type, file_size, file_path, download_count, status, del_flag, create_by, create_time, update_by, update_time from sys_file
+    </sql>
+
+    <select id="selectSysFileList" parameterType="KnowledgeFile" resultMap="SysFileResult">
+        <include refid="selectSysFileVo"/>
+        <where>
+            <if test="folderId != null "> and folder_id = #{folderId}</if>
+            <if test="fileName != null  and fileName != ''"> and file_name like concat('%', #{fileName}, '%')</if>
+            <if test="fileType != null  and fileType != ''"> and file_type = #{fileType}</if>
+            <if test="fileSize != null "> and file_size = #{fileSize}</if>
+            <if test="filePath != null  and filePath != ''"> and file_path = #{filePath}</if>
+            <if test="downloadCount != null "> and download_count = #{downloadCount}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+
+    <select id="selectSysFileByFileId" parameterType="Long" resultMap="SysFileResult">
+        <include refid="selectSysFileVo"/>
+        where file_id = #{fileId}
+    </select>
+
+    <insert id="insertSysFile" parameterType="KnowledgeFile" useGeneratedKeys="true" keyProperty="fileId">
+        insert into sys_file
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="folderId != null">folder_id,</if>
+            <if test="fileName != null and fileName != ''">file_name,</if>
+            <if test="fileType != null">file_type,</if>
+            <if test="fileSize != null">file_size,</if>
+            <if test="filePath != null">file_path,</if>
+            <if test="downloadCount != null">download_count,</if>
+            <if test="status != null">status,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="folderId != null">#{folderId},</if>
+            <if test="fileName != null and fileName != ''">#{fileName},</if>
+            <if test="fileType != null">#{fileType},</if>
+            <if test="fileSize != null">#{fileSize},</if>
+            <if test="filePath != null">#{filePath},</if>
+            <if test="downloadCount != null">#{downloadCount},</if>
+            <if test="status != null">#{status},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSysFile" parameterType="KnowledgeFile">
+        update sys_file
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="folderId != null">folder_id = #{folderId},</if>
+            <if test="fileName != null and fileName != ''">file_name = #{fileName},</if>
+            <if test="fileType != null">file_type = #{fileType},</if>
+            <if test="fileSize != null">file_size = #{fileSize},</if>
+            <if test="filePath != null">file_path = #{filePath},</if>
+            <if test="downloadCount != null">download_count = #{downloadCount},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where file_id = #{fileId}
+    </update>
+
+    <delete id="deleteSysFileByFileId" parameterType="Long">
+        delete from sys_file where file_id = #{fileId}
+    </delete>
+
+    <delete id="deleteSysFileByFileIds" parameterType="String">
+        delete from sys_file where file_id in
+        <foreach item="fileId" collection="array" open="(" separator="," close=")">
+            #{fileId}
+        </foreach>
+    </delete>
+</mapper>

+ 106 - 0
xzl-admin/src/main/resources/mapper/SysFileFolderMapper.xml

@@ -0,0 +1,106 @@
+<?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.xzl.web.mapper.SysFileFolderMapper">
+
+    <resultMap type="SysFileFolder" id="SysFileFolderResult">
+        <result property="folderId"    column="folder_id"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="ancestors"    column="ancestors"    />
+        <result property="folderName"    column="folder_name"    />
+        <result property="level"    column="level"    />
+        <result property="orderNum"    column="order_num"    />
+        <result property="fullPath"    column="full_path"    />
+        <result property="status"    column="status"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSysFileFolderVo">
+        select folder_id, parent_id, ancestors, folder_name, level, order_num, full_path, status, del_flag, create_by, create_time, update_by, update_time from sys_file_folder
+    </sql>
+
+    <select id="selectSysFileFolderList" parameterType="SysFileFolder" resultMap="SysFileFolderResult">
+        <include refid="selectSysFileFolderVo"/>
+        <where>
+            <if test="parentId != null "> and parent_id = #{parentId}</if>
+            <if test="ancestors != null  and ancestors != ''"> and ancestors = #{ancestors}</if>
+            <if test="folderName != null  and folderName != ''"> and folder_name like concat('%', #{folderName}, '%')</if>
+            <if test="level != null "> and level = #{level}</if>
+            <if test="orderNum != null "> and order_num = #{orderNum}</if>
+            <if test="fullPath != null  and fullPath != ''"> and full_path = #{fullPath}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+
+    <select id="selectSysFileFolderByFolderId" parameterType="Long" resultMap="SysFileFolderResult">
+        <include refid="selectSysFileFolderVo"/>
+        where folder_id = #{folderId}
+    </select>
+
+    <insert id="insertSysFileFolder" parameterType="SysFileFolder" useGeneratedKeys="true" keyProperty="folderId">
+        insert into sys_file_folder
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="parentId != null">parent_id,</if>
+            <if test="ancestors != null">ancestors,</if>
+            <if test="folderName != null and folderName != ''">folder_name,</if>
+            <if test="level != null">level,</if>
+            <if test="orderNum != null">order_num,</if>
+            <if test="fullPath != null">full_path,</if>
+            <if test="status != null">status,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="parentId != null">#{parentId},</if>
+            <if test="ancestors != null">#{ancestors},</if>
+            <if test="folderName != null and folderName != ''">#{folderName},</if>
+            <if test="level != null">#{level},</if>
+            <if test="orderNum != null">#{orderNum},</if>
+            <if test="fullPath != null">#{fullPath},</if>
+            <if test="status != null">#{status},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSysFileFolder" parameterType="SysFileFolder">
+        update sys_file_folder
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="parentId != null">parent_id = #{parentId},</if>
+            <if test="ancestors != null">ancestors = #{ancestors},</if>
+            <if test="folderName != null and folderName != ''">folder_name = #{folderName},</if>
+            <if test="level != null">level = #{level},</if>
+            <if test="orderNum != null">order_num = #{orderNum},</if>
+            <if test="fullPath != null">full_path = #{fullPath},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where folder_id = #{folderId}
+    </update>
+
+    <delete id="deleteSysFileFolderByFolderId" parameterType="Long">
+        delete from sys_file_folder where folder_id = #{folderId}
+    </delete>
+
+    <delete id="deleteSysFileFolderByFolderIds" parameterType="String">
+        delete from sys_file_folder where folder_id in
+        <foreach item="folderId" collection="array" open="(" separator="," close=")">
+            #{folderId}
+        </foreach>
+    </delete>
+</mapper>

+ 9 - 1
xzl-common/src/main/java/com/xzl/common/core/domain/TreeSelect.java

@@ -5,11 +5,12 @@ import java.util.List;
 import java.util.stream.Collectors;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.xzl.common.core.domain.entity.SysDept;
+import com.xzl.common.core.domain.entity.SysFileFolder;
 import com.xzl.common.core.domain.entity.SysMenu;
 
 /**
  * Treeselect树结构实体类
- * 
+ *
  * @author xzl
  */
 public class TreeSelect implements Serializable
@@ -38,6 +39,13 @@ public class TreeSelect implements Serializable
         this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
     }
 
+    public TreeSelect(SysFileFolder knowledgeFileFolder)
+    {
+        this.id = knowledgeFileFolder.getFolderId();
+        this.label = knowledgeFileFolder.getFolderName();
+        this.children = knowledgeFileFolder.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
+    }
+
     public TreeSelect(SysMenu menu)
     {
         this.id = menu.getMenuId();

+ 17 - 21
xzl-framework/src/main/java/com/xzl/framework/web/domain/Server.java

@@ -6,11 +6,7 @@ import java.util.List;
 import java.util.Properties;
 import com.xzl.common.utils.Arith;
 import com.xzl.common.utils.ip.IpUtils;
-import com.xzl.framework.web.domain.server.Cpu;
-import com.xzl.framework.web.domain.server.Jvm;
-import com.xzl.framework.web.domain.server.Mem;
-import com.xzl.framework.web.domain.server.Sys;
-import com.xzl.framework.web.domain.server.SysFile;
+import com.xzl.framework.web.domain.server.*;
 import oshi.SystemInfo;
 import oshi.hardware.CentralProcessor;
 import oshi.hardware.CentralProcessor.TickType;
@@ -23,13 +19,13 @@ import oshi.util.Util;
 
 /**
  * 服务器相关信息
- * 
+ *
  * @author xzl
  */
 public class Server
 {
     private static final int OSHI_WAIT_SECOND = 1000;
-    
+
     /**
      * CPU相关信息
      */
@@ -53,7 +49,7 @@ public class Server
     /**
      * 磁盘相关信息
      */
-    private List<SysFile> sysFiles = new LinkedList<SysFile>();
+    private List<SysFile> knowledgeFiles = new LinkedList<SysFile>();
 
     public Cpu getCpu()
     {
@@ -97,12 +93,12 @@ public class Server
 
     public List<SysFile> getSysFiles()
     {
-        return sysFiles;
+        return knowledgeFiles;
     }
 
-    public void setSysFiles(List<SysFile> sysFiles)
+    public void setSysFiles(List<SysFile> knowledgeFiles)
     {
-        this.sysFiles = sysFiles;
+        this.knowledgeFiles = knowledgeFiles;
     }
 
     public void copyTo() throws Exception
@@ -195,21 +191,21 @@ public class Server
             long free = fs.getUsableSpace();
             long total = fs.getTotalSpace();
             long used = total - free;
-            SysFile sysFile = new SysFile();
-            sysFile.setDirName(fs.getMount());
-            sysFile.setSysTypeName(fs.getType());
-            sysFile.setTypeName(fs.getName());
-            sysFile.setTotal(convertFileSize(total));
-            sysFile.setFree(convertFileSize(free));
-            sysFile.setUsed(convertFileSize(used));
-            sysFile.setUsage(Arith.mul(Arith.div(used, total, 4), 100));
-            sysFiles.add(sysFile);
+            SysFile SysFile = new SysFile();
+            SysFile.setDirName(fs.getMount());
+            SysFile.setSysTypeName(fs.getType());
+            SysFile.setTypeName(fs.getName());
+            SysFile.setTotal(convertFileSize(total));
+            SysFile.setFree(convertFileSize(free));
+            SysFile.setUsed(convertFileSize(used));
+            SysFile.setUsage(Arith.mul(Arith.div(used, total, 4), 100));
+            knowledgeFiles.add(SysFile);
         }
     }
 
     /**
      * 字节转换
-     * 
+     *
      * @param size 字节大小
      * @return 转换后值
      */

+ 2 - 1
xzl-ui/package.json

@@ -60,7 +60,8 @@
     "vue-router": "3.4.9",
     "vue-seamless-scroll": "^1.1.23",
     "vuedraggable": "2.24.3",
-    "vuex": "3.6.0"
+    "vuex": "3.6.0",
+    "workflow-bpmn-modeler": "^0.2.8"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "4.4.6",

+ 9 - 9
xzl-ui/src/views/monitor/server/index.vue

@@ -156,15 +156,15 @@
                   <th class="el-table__cell is-leaf"><div class="cell">已用百分比</div></th>
                 </tr>
               </thead>
-              <tbody v-if="server.sysFiles">
-                <tr v-for="(sysFile, index) in server.sysFiles" :key="index">
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.dirName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.sysTypeName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.typeName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.total }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.free }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.used }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" :class="{'text-danger': sysFile.usage > 80}">{{ sysFile.usage }}%</div></td>
+              <tbody v-if="server.knowledgeFiles">
+                <tr v-for="(Knowledge, index) in server.knowledgeFiles" :key="index">
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.dirName }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.sysTypeName }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.typeName }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.total }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.free }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell">{{ Knowledge.used }}</div></td>
+                  <td class="el-table__cell is-leaf"><div class="cell" :class="{'text-danger': Knowledge.usage > 80}">{{ Knowledge.usage }}%</div></td>
                 </tr>
               </tbody>
             </table>