liyong
2 天以前 1495c169d1a39f60e09eaad71908255587f4d381
知识库添加附件上传
已添加7个文件
已修改5个文件
312 ■■■■■ 文件已修改
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseFileController.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseFileMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/pojo/KnowledgeBaseFile.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/KnowledgeBaseFileService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseFileServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/vo/KnowledgeBaseVo.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/approve/KnowledgeBaseFileMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/approve/KnowledgeBaseMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
@@ -1,11 +1,17 @@
package com.ruoyi.approve.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.mapper.KnowledgeBaseFileMapper;
import com.ruoyi.approve.mapper.KnowledgeBaseMapper;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.ruoyi.approve.pojo.RpaProcessAutomation;
import com.ruoyi.approve.service.KnowledgeBaseFileService;
import com.ruoyi.approve.service.KnowledgeBaseService;
import com.ruoyi.approve.vo.KnowledgeBaseVo;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
@@ -13,6 +19,7 @@
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -24,6 +31,8 @@
public class KnowledgeBaseController {
    @Autowired
    private KnowledgeBaseService knowledgeBaseService;
    @Autowired
    private KnowledgeBaseFileService knowledgeBaseFileService;
    /**、
     * èŽ·å–åˆ—è¡¨
@@ -31,25 +40,29 @@
     */
    @GetMapping("/getList")
    public AjaxResult getList(@RequestParam(defaultValue = "1") long current,
                              @RequestParam(defaultValue = "10") long size, KnowledgeBase knowledgeBase) {
                              @RequestParam(defaultValue = "10") long size, KnowledgeBaseVo knowledgeBase) {
        Page page = new Page(current, size);
        return AjaxResult.success(knowledgeBaseService.listpage(page,knowledgeBase));
        IPage<KnowledgeBaseVo> listpage = knowledgeBaseService.listpage(page, knowledgeBase);
        listpage.getRecords().forEach(item -> {
            item.setFiles(knowledgeBaseFileService.list(new QueryWrapper<KnowledgeBaseFile>().lambda().eq(KnowledgeBaseFile::getKnowledgeBaseId, item.getId())));
        });
        return AjaxResult.success(listpage);
    }
    /**、
     * å¢žæ·»
     * @return
     */
    @PostMapping("/add")
    public AjaxResult add(@RequestBody KnowledgeBase knowledgeBase){
        return AjaxResult.success(knowledgeBaseService.save(knowledgeBase));
    public AjaxResult add(@RequestBody KnowledgeBaseVo knowledgeBase){
        return AjaxResult.success(knowledgeBaseService.add(knowledgeBase));
    }
    /**
     * æ›´æ–°
     * @return
     */
    @PostMapping("/update")
    public AjaxResult update(@RequestBody KnowledgeBase knowledgeBase){
        return AjaxResult.success(knowledgeBaseService.updateById(knowledgeBase));
    public AjaxResult update(@RequestBody KnowledgeBaseVo knowledgeBase){
        return AjaxResult.success(knowledgeBaseService.updateKnowledgeBase(knowledgeBase));
    }
    /**
     * åˆ é™¤
@@ -58,6 +71,7 @@
    @DeleteMapping("/delete")
    public AjaxResult delete(@RequestBody List<Long> ids){
        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("请传入要删除的ID");
        knowledgeBaseFileService.remove(new QueryWrapper<KnowledgeBaseFile>().lambda().in(KnowledgeBaseFile::getKnowledgeBaseId, ids));
        return AjaxResult.success(knowledgeBaseService.removeByIds(ids));
    }
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseFileController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.ruoyi.approve.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.pojo.AccountFile;
import com.ruoyi.account.service.AccountFileService;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.ruoyi.approve.service.KnowledgeBaseFileService;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
 * çŸ¥è¯†åº“--附件 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-04-07 01:45:45
 */
@RestController
@RequestMapping("/knowledgeBaseFile")
public class KnowledgeBaseFileController {
    @Resource
    private KnowledgeBaseFileService knowledgeBaseFileService;
    /**
     * æ–°å¢ž
     * @param accountFile
     * @return
     */
    @PostMapping("/add")
    @ApiOperation("新增")
    public AjaxResult add(@RequestBody KnowledgeBaseFile accountFile) {
        return AjaxResult.success(knowledgeBaseFileService.save(accountFile));
    }
    /**
     * åˆ é™¤
     * @param ids
     * @return
     */
    @DeleteMapping("/del")
    @ApiOperation("删除")
    public AjaxResult delAccountFile(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
        }
        //删除检验附件
        return AjaxResult.success(knowledgeBaseFileService.removeBatchByIds(ids));
    }
    /**
     *分页查询
     * @param page
     * @param accountFile
     * @return
     */
    @GetMapping("/listPage")
    @ApiOperation("分页查询")
    public AjaxResult accountFileListPage(Page page, KnowledgeBaseFile accountFile) {
        return AjaxResult.success(knowledgeBaseFileService.knowledgeBaseFileListPage(page, accountFile));
    }
}
src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseFileMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.ruoyi.approve.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
 * çŸ¥è¯†åº“--附件 Mapper æŽ¥å£
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-04-07 01:45:45
 */
@Mapper
public interface KnowledgeBaseFileMapper extends BaseMapper<KnowledgeBaseFile> {
    IPage<KnowledgeBaseFile> knowledgeBaseFileListPage(Page page,@Param("accountFile") KnowledgeBaseFile accountFile);
}
src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java
@@ -5,9 +5,10 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.vo.KnowledgeBaseVo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface KnowledgeBaseMapper extends BaseMapper<KnowledgeBase> {
    IPage<KnowledgeBase> listpage(Page page, KnowledgeBase knowledgeBase);
    IPage<KnowledgeBaseVo> listpage(Page page, KnowledgeBase knowledgeBase);
}
src/main/java/com/ruoyi/approve/pojo/KnowledgeBaseFile.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.ruoyi.approve.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
@Data
public class KnowledgeBaseFile {
    /**
     * åºå·
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "文件名称")
    private String name;
    @ApiModelProperty(value = "文件路径")
    private String url;
    @ApiModelProperty(value = "文件大小")
    private int fileSize;
    @ApiModelProperty(value = "知识库id")
    @NotBlank(message = "知识库id不能为空!")
    private Long knowledgeBaseId;
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    @ApiModelProperty(value = "创建用户")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @ApiModelProperty(value = "修改用户")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
}
src/main/java/com/ruoyi/approve/service/KnowledgeBaseFileService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.approve.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.pojo.AccountFile;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * çŸ¥è¯†åº“--附件 æœåŠ¡ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-04-07 01:45:45
 */
public interface KnowledgeBaseFileService extends IService<KnowledgeBaseFile> {
    IPage<KnowledgeBaseFile> knowledgeBaseFileListPage(Page page, KnowledgeBaseFile accountFile);
}
src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java
@@ -4,7 +4,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.vo.KnowledgeBaseVo;
public interface KnowledgeBaseService extends IService<KnowledgeBase> {
    IPage<KnowledgeBase> listpage(Page page, KnowledgeBase knowledgeBase);
    IPage<KnowledgeBaseVo> listpage(Page page, KnowledgeBaseVo knowledgeBase);
    Boolean add(KnowledgeBaseVo knowledgeBase);
    Boolean updateKnowledgeBase(KnowledgeBaseVo knowledgeBase);
}
src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseFileServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ruoyi.approve.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.pojo.AccountFile;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.ruoyi.approve.mapper.KnowledgeBaseFileMapper;
import com.ruoyi.approve.service.KnowledgeBaseFileService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * <p>
 * çŸ¥è¯†åº“--附件 æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-04-07 01:45:45
 */
@Service
public class KnowledgeBaseFileServiceImpl extends ServiceImpl<KnowledgeBaseFileMapper, KnowledgeBaseFile> implements KnowledgeBaseFileService {
    @Autowired
    private KnowledgeBaseFileMapper knowledgeBaseFileMapper;
    @Override
    public IPage<KnowledgeBaseFile> knowledgeBaseFileListPage(Page page, KnowledgeBaseFile accountFile) {
        return knowledgeBaseFileMapper.knowledgeBaseFileListPage(page,accountFile);
    }
}
src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java
@@ -3,19 +3,47 @@
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.ruoyi.approve.mapper.KnowledgeBaseFileMapper;
import com.ruoyi.approve.mapper.KnowledgeBaseMapper;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.ruoyi.approve.service.KnowledgeBaseService;
import com.ruoyi.approve.vo.KnowledgeBaseVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@Service
public class KnowledgeBaseServiceImpl extends ServiceImpl<KnowledgeBaseMapper, KnowledgeBase> implements KnowledgeBaseService {
    @Autowired
    private KnowledgeBaseMapper knowledgeBaseMapper;
    @Autowired
    private KnowledgeBaseFileMapper knowledgeBaseFileMapper;
    @Override
    public IPage<KnowledgeBase> listpage(Page page, KnowledgeBase knowledgeBase) {
    public IPage<KnowledgeBaseVo> listpage(Page page, KnowledgeBaseVo knowledgeBase) {
        return knowledgeBaseMapper.listpage(page,knowledgeBase);
    }
    @Override
    public Boolean add(KnowledgeBaseVo knowledgeBase) {
        this.save(knowledgeBase);
        for (KnowledgeBaseFile file : knowledgeBase.getFiles()) {
            file.setKnowledgeBaseId(knowledgeBase.getId());
            knowledgeBaseFileMapper.insert(file);
        }
        return true;
    }
    @Override
    public Boolean updateKnowledgeBase(KnowledgeBaseVo knowledgeBase) {
        this.updateById(knowledgeBase);
        for (KnowledgeBaseFile file : knowledgeBase.getFiles()) {
            if (file.getId() == null) {
                file.setKnowledgeBaseId(knowledgeBase.getId());
                knowledgeBaseFileMapper.insert(file);
            }
        }
        return true;
    }
}
src/main/java/com/ruoyi/approve/vo/KnowledgeBaseVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.ruoyi.approve.vo;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Data
public class KnowledgeBaseVo extends KnowledgeBase {
    private List<KnowledgeBaseFile> files;
}
src/main/resources/mapper/approve/KnowledgeBaseFileMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
<?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.ruoyi.approve.mapper.KnowledgeBaseFileMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.approve.pojo.KnowledgeBaseFile">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="url" property="url" />
        <result column="file_size" property="fileSize" />
        <result column="knowledge_base_id" property="knowledgeBaseId" />
        <result column="create_time" property="createTime" />
        <result column="create_user" property="createUser" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="tenant_id" property="tenantId" />
    </resultMap>
    <select id="knowledgeBaseFileListPage" resultType="com.ruoyi.approve.pojo.KnowledgeBaseFile">
        SELECT
        *
        FROM account_file
        where
        <if test="accountFile.knowledgeBaseId != null and accountFile.knowledgeBaseId != ''">
            AND knowledge_base_id = #{accountFile.knowledgeBaseId}
        </if>
        <if test="accountFile.name != null and accountFile.name != '' ">
            AND name = #{accountFile.name}
        </if>
    </select>
</mapper>
src/main/resources/mapper/approve/KnowledgeBaseMapper.xml
@@ -5,7 +5,7 @@
<mapper namespace="com.ruoyi.approve.mapper.KnowledgeBaseMapper">
    <select id="listpage" resultType="com.ruoyi.approve.pojo.KnowledgeBase">
    <select id="listpage" resultType="com.ruoyi.approve.vo.KnowledgeBaseVo">
        select * from knowledge_base
        <where>
            1=1