From 64d913dc470a91ef3735130d54c8d2823b9ee408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 4 Nov 2024 08:06:32 +0800 Subject: [PATCH] 'commit' --- .../com/dsideal/base/BaseApplication.java | 1 - .../Res/Controller/ResourceController.java | 66 +++++++++++++++++++ .../dsideal/base/Res/Model/ResourceModel.java | 50 ++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsideal/base/BaseApplication.java b/src/main/java/com/dsideal/base/BaseApplication.java index 7a0f9014..3c5e6cc8 100644 --- a/src/main/java/com/dsideal/base/BaseApplication.java +++ b/src/main/java/com/dsideal/base/BaseApplication.java @@ -25,7 +25,6 @@ import com.dsideal.base.Util.PkUtil; import com.jfinal.config.*; import com.jfinal.kit.PathKit; import com.jfinal.kit.Prop; -import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.OrderedFieldContainerFactory; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; diff --git a/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java b/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java index aeadf60d..6010d658 100644 --- a/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java +++ b/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java @@ -1,8 +1,74 @@ package com.dsideal.base.Res.Controller; +import com.dsideal.base.Interceptor.IsLoginInterface; +import com.dsideal.base.Interceptor.IsNumericInterface; import com.dsideal.base.Res.Model.ResourceModel; +import com.dsideal.base.Util.CommonUtil; +import com.jfinal.aop.Before; import com.jfinal.core.Controller; +import com.jfinal.ext.interceptor.GET; +import com.jfinal.ext.interceptor.POST; +import com.jfinal.kit.Kv; +import com.jfinal.plugin.activerecord.Page; +import com.jfinal.upload.UploadFile; +import com.jfinal.plugin.activerecord.Record; + +import java.io.UnsupportedEncodingException; +import java.util.UUID; public class ResourceController extends Controller { ResourceModel rm = new ResourceModel(); + + /** + * 获取知识库分页数据 + * + * @param pageNum 第几页 + * @param pageSize 每页几条 + */ + @Before(GET.class) + public void getZskPage(int pageNum, int pageSize) throws UnsupportedEncodingException { + Page page = rm.getZskPage(pageNum, pageSize); + renderJson(CommonUtil.renderJsonForLayUI(page)); + } + + /** + * 上传知识库文档 + */ + @Before({POST.class}) + @IsLoginInterface({}) + public void uploadZskDocument() { + UploadFile uploadFile = getFile(); + String fileName = uploadFile.getFileName(); + String fileExtension = fileName.substring(fileName.lastIndexOf(".")); + String name = getPara("name"); + String file_id = UUID.randomUUID().toString(); + String key = "resource/" + file_id + fileExtension; + // 删除临时文件 + try { + uploadFile.getFile().delete(); + } catch (Exception e) { + System.out.println("删除文件失败:" + e); + } + //返回 + Kv kv = Kv.create(); + kv.set("success", true); + kv.set("message", "保存成功"); + renderJson(kv); + } + + /** + * 删除知识库文档 + * + * @param id 知识库文档ID + */ + @Before({POST.class}) + @IsNumericInterface({"id"}) + @IsLoginInterface({}) + public void delZskDocument(int id) { + rm.delZskDocument(id); + Kv kv = Kv.create(); + kv.set("success", true); + kv.set("message", "保存成功"); + renderJson(kv); + } } diff --git a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java index 5316ecd0..42e3f9ae 100644 --- a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java +++ b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java @@ -1,4 +1,54 @@ package com.dsideal.base.Res.Model; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Page; +import com.jfinal.plugin.activerecord.SqlPara; +import com.jfinal.plugin.activerecord.Record; + +import java.io.UnsupportedEncodingException; + public class ResourceModel { + /** + * 功能:获取知识库分页数据 + * + * @param pageNum + * @param pageSize + */ + public Page getZskPage(int pageNum, int pageSize) throws UnsupportedEncodingException { + SqlPara sqlPara = Db.getSqlPara("YltWxGzh.getZskPage"); + Page page = Db.paginate(pageNum, pageSize, sqlPara); + for (Record record : page.getList()) { + String url = record.getStr("url"); + //进行base64处理,然后进行url_encode处理 + // 对URL进行Base64编码 + String base64Encoded = Base64.getEncoder().encodeToString(url.getBytes(StandardCharsets.UTF_8)); + // 对Base64编码后的字符串进行URL编码 + String urlEncoded = URLEncoder.encode(base64Encoded, StandardCharsets.UTF_8.toString()); + record.set("url", urlEncoded); + } + return page; + } + + /** + * 功能:上传文档 + * + * @param name + * @param url + */ + public void uploadZskDocument(String name, String url) { + Record record = new Record(); + record.set("name", name); + record.set("url", url); + Db.use("ds_db").save("t_zsk_files", record); + } + + /** + * 功能:删除知识库文档 + * + * @param id + */ + public void delZskDocument(int id) { + String sql = "delete from ds_db.t_zsk_files where id=?"; + Db.update(sql, id); + } }