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; import io.swagger.annotations.ApiOperation; 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; @RestController @RequestMapping("/knowledgeBase") @AllArgsConstructor @Api(tags = "知识库管理") public class KnowledgeBaseController { @Autowired private KnowledgeBaseService knowledgeBaseService; @Autowired private KnowledgeBaseFileService knowledgeBaseFileService; /**、 * 获取列表 * @return */ @GetMapping("/getList") public AjaxResult getList(@RequestParam(defaultValue = "1") long current, @RequestParam(defaultValue = "10") long size, KnowledgeBaseVo knowledgeBase) { Page page = new Page(current, size); IPage listpage = knowledgeBaseService.listpage(page, knowledgeBase); listpage.getRecords().forEach(item -> { item.setFiles(knowledgeBaseFileService.list(new QueryWrapper().lambda().eq(KnowledgeBaseFile::getKnowledgeBaseId, item.getId()))); }); return AjaxResult.success(listpage); } /**、 * 增添 * @return */ @PostMapping("/add") public AjaxResult add(@RequestBody KnowledgeBaseVo knowledgeBase){ return AjaxResult.success(knowledgeBaseService.add(knowledgeBase)); } /** * 更新 * @return */ @PostMapping("/update") public AjaxResult update(@RequestBody KnowledgeBaseVo knowledgeBase){ return AjaxResult.success(knowledgeBaseService.updateKnowledgeBase(knowledgeBase)); } /** * 删除 * @return */ @DeleteMapping("/delete") public AjaxResult delete(@RequestBody List ids){ if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("请传入要删除的ID"); knowledgeBaseFileService.remove(new QueryWrapper().lambda().in(KnowledgeBaseFile::getKnowledgeBaseId, ids)); return AjaxResult.success(knowledgeBaseService.removeByIds(ids)); } @ApiOperation(value = "知识库管理导出") @PostMapping("/export") public void export(HttpServletResponse response) { List accountExpenses = knowledgeBaseService.list(); ExcelUtil util = new ExcelUtil(KnowledgeBase.class); util.exportExcel(response, accountExpenses, "知识库管理导出"); } }