From e7af18d5b53e9bbb254d7fef7537bbec92c9eb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 30 Oct 2024 13:20:38 +0800 Subject: [PATCH] 'commit' --- .../Res/Controller/ResourceController.java | 31 ++--- .../resource/Res/Model/ResourceModel.java | 126 ++++++++++-------- .../com/dsideal/resource/Util/MinioUtils.java | 8 +- 3 files changed, 88 insertions(+), 77 deletions(-) diff --git a/dsRes/src/main/java/com/dsideal/resource/Res/Controller/ResourceController.java b/dsRes/src/main/java/com/dsideal/resource/Res/Controller/ResourceController.java index 0b1a457a..6de6fe0d 100644 --- a/dsRes/src/main/java/com/dsideal/resource/Res/Controller/ResourceController.java +++ b/dsRes/src/main/java/com/dsideal/resource/Res/Controller/ResourceController.java @@ -44,7 +44,7 @@ public class ResourceController extends Controller { } //生成一个guid+扩展名的key String objectName = java.util.UUID.randomUUID() + "." + extension; - String signature = MinioUtils.getSignature("resources/"+objectName); + String signature = MinioUtils.getSignature("resources/" + objectName); Record record = new Record(); record.set("object_name", objectName); record.set("signature", signature); @@ -60,7 +60,6 @@ public class ResourceController extends Controller { * @param extension 扩展名 * @param file_id 对应文件的id号,是一个guid * @param file_md5 文件的md5值 - * @param thumb_id 缩略图id * @param scheme_id 结构id * @param structure_id 结构id * @param stage_id 学段id @@ -70,17 +69,17 @@ public class ResourceController extends Controller { @JwtCheckInterface({}) @EmptyInterface({"resource_title", "file_id", "file_md5"}) @IsNumericInterface({"resource_size_int", "scheme_id", "structure_id", "stage_id", "subject_id"}) - public void addResourceBase(String resource_title, long resource_size_int, - String extension, String file_id, String file_md5, - String thumb_id, int scheme_id, int structure_id, - int stage_id, int subject_id) { + public void addResourceBase(String resource_title, long resource_size_int, String extension, String file_id, String file_md5, + int stage_id, int scheme_id, int structure_id, int subject_id) { + //根据扩展名,获取缩略图名称 + String thumb_name = rm.getThumbByExt(extension); //当前登录人员 String person_id = JwtUtil.getPersonId(getRequest()); String resource_size = CommonUtil.formatFileSize(resource_size_int); String person_name = bm.getPersonById(person_id).getStr("person_name"); int down_count = 0;//下载次数 rm.addResourceBase(resource_title, resource_size, resource_size_int, person_name, person_id, extension, - file_id, file_md5, thumb_id, scheme_id, structure_id, down_count, stage_id, subject_id); + file_id, file_md5, thumb_name, scheme_id, structure_id, down_count, stage_id, subject_id); renderJson(RetKit.renderSuccess("操作成功")); } @@ -102,26 +101,24 @@ public class ResourceController extends Controller { * * @param resource_id_int 主键 * @param resource_title 资源名称 - * @param resource_size 资源大小 * @param resource_size_int 资源大小 - * @param person_name 上传人姓名 * @param person_id 上传人员id - * @param extension 扩展名 - * @param file_id 对应文件的id号,是一个guid - * @param file_md5 文件的md5值 - * @param thumb_id 缩略图id * @param scheme_id 结构id * @param structure_id 结构id - * @param down_count 下载次数 * @param stage_id 学段id * @param subject_id 科目id - * @param update_ts 更新时间 */ @Before({POST.class}) @JwtCheckInterface({}) @IsNumericInterface({"resource_id_int"}) - public void updateResourceBaseById(int resource_id_int, String resource_title, String resource_size, long resource_size_int, String person_name, int person_id, String extension, String file_id, String file_md5, String thumb_id, int scheme_id, int structure_id, int down_count, int stage_id, int subject_id, java.util.Date update_ts) { - rm.updateResourceBaseById(resource_id_int, resource_title, resource_size, resource_size_int, person_name, person_id, extension, file_id, file_md5, thumb_id, scheme_id, structure_id, down_count, stage_id, subject_id, update_ts); + public void updateResourceBaseById(int resource_id_int, String resource_title, + long resource_size_int, String person_id, + int scheme_id, int structure_id, int stage_id, int subject_id) { + + String resource_size = CommonUtil.formatFileSize(resource_size_int); + String person_name = bm.getPersonById(person_id).getStr("person_name"); + rm.updateResourceBaseById(resource_id_int, resource_title, resource_size, resource_size_int, person_name, person_id, + scheme_id, structure_id, stage_id, subject_id); renderJson(RetKit.renderSuccess("操作成功")); } diff --git a/dsRes/src/main/java/com/dsideal/resource/Res/Model/ResourceModel.java b/dsRes/src/main/java/com/dsideal/resource/Res/Model/ResourceModel.java index 05a4f2ce..898e1281 100644 --- a/dsRes/src/main/java/com/dsideal/resource/Res/Model/ResourceModel.java +++ b/dsRes/src/main/java/com/dsideal/resource/Res/Model/ResourceModel.java @@ -1,4 +1,5 @@ package com.dsideal.resource.Res.Model; + import cn.hutool.core.date.DateTime; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; @@ -6,24 +7,25 @@ import com.jfinal.plugin.activerecord.Record; public class ResourceModel { /** - 增加 - * @param resource_title 资源名称 - * @param resource_size 资源大小 - * @param resource_size_int 资源大小 - * @param person_name 上传人姓名 - * @param person_id 上传人员id - * @param extension 扩展名 - * @param file_id 对应文件的id号,是一个guid - * @param file_md5 文件的md5值 - * @param thumb_id 缩略图id - * @param scheme_id 结构id - * @param structure_id 结构id - * @param down_count 下载次数 - * @param stage_id 学段id - * @param subject_id 科目id + * 增加 + * + * @param resource_title 资源名称 + * @param resource_size 资源大小 + * @param resource_size_int 资源大小 + * @param person_name 上传人姓名 + * @param person_id 上传人员id + * @param extension 扩展名 + * @param file_id 对应文件的id号,是一个guid + * @param file_md5 文件的md5值 + * @param thumb_name 缩略图 + * @param scheme_id 结构id + * @param structure_id 结构id + * @param down_count 下载次数 + * @param stage_id 学段id + * @param subject_id 科目id */ - public void addResourceBase(String resource_title , String resource_size , long resource_size_int , - String person_name , String person_id , String extension , String file_id , String file_md5 , String thumb_id , int scheme_id , int structure_id , int down_count , int stage_id , int subject_id){ + public void addResourceBase(String resource_title, String resource_size, long resource_size_int, + String person_name, String person_id, String extension, String file_id, String file_md5, String thumb_name, int scheme_id, int structure_id, int down_count, int stage_id, int subject_id) { Record record = new Record(); record.set("resource_title", resource_title); record.set("resource_size", resource_size); @@ -33,70 +35,84 @@ public class ResourceModel { record.set("extension", extension); record.set("file_id", file_id); record.set("file_md5", file_md5); - record.set("thumb_id", thumb_id); + record.set("thumb_name", thumb_name); record.set("scheme_id", scheme_id); record.set("structure_id", structure_id); record.set("down_count", down_count); record.set("stage_id", stage_id); record.set("subject_id", subject_id); record.set("update_ts", DateTime.now()); - Db.save("t_resource_base","resource_id_int",record); + Db.save("t_resource_base", "resource_id_int", record); } /** - 删除 - @param resource_id_int 主键 + * 删除 + * + * @param resource_id_int 主键 */ - public void delResourceBaseById(int resource_id_int){ - String sql="delete from t_resource_base where resource_id_int =?"; - Db.update(sql,resource_id_int); + public void delResourceBaseById(int resource_id_int) { + String sql = "delete from t_resource_base where resource_id_int =?"; + Db.update(sql, resource_id_int); } /** - 修改 - * @param resource_id_int 主键 - * @param resource_title 资源名称 - * @param resource_size 资源大小 - * @param resource_size_int 资源大小 - * @param person_name 上传人姓名 - * @param person_id 上传人员id - * @param extension 扩展名 - * @param file_id 对应文件的id号,是一个guid - * @param file_md5 文件的md5值 - * @param thumb_id 缩略图id - * @param scheme_id 结构id - * @param structure_id 结构id - * @param down_count 下载次数 - * @param stage_id 学段id - * @param subject_id 科目id - * @param update_ts 更新时间 + * 修改 + * + * @param resource_id_int 主键 + * @param resource_title 资源名称 + * @param resource_size 资源大小 + * @param resource_size_int 资源大小 + * @param person_name 上传人姓名 + * @param person_id 上传人员id + * @param scheme_id 结构id + * @param structure_id 结构id + * @param stage_id 学段id + * @param subject_id 科目id */ - public void updateResourceBaseById(int resource_id_int,String resource_title , String resource_size , long resource_size_int , String person_name , int person_id , String extension , String file_id , String file_md5 , String thumb_id , int scheme_id , int structure_id , int down_count , int stage_id , int subject_id , java.util.Date update_ts){ - String sql="update t_resource_base set resource_title =?, resource_size =?, resource_size_int =?, person_name =?, person_id =?, extension =?, file_id =?, file_md5 =?, thumb_id =?, scheme_id =?, structure_id =?, down_count =?, stage_id =?, subject_id =?, update_ts =? where resource_id_int =?"; - Db.update(sql,resource_title , resource_size , resource_size_int , person_name , person_id , extension , file_id , file_md5 , thumb_id , scheme_id , structure_id , down_count , stage_id , subject_id , update_ts ,resource_id_int); + public void updateResourceBaseById(int resource_id_int, String resource_title, String resource_size, long resource_size_int, + String person_name, String person_id, int scheme_id, int structure_id, + int stage_id, int subject_id) { + String sql = "update t_resource_base set resource_title =?, resource_size =?, resource_size_int =?, person_name =?, person_id =?, scheme_id =?, structure_id =?, stage_id =?, subject_id =?,update_ts=now() where resource_id_int =?"; + Db.update(sql, resource_title, resource_size, resource_size_int, person_name, person_id, scheme_id, structure_id, stage_id, subject_id, resource_id_int); } - /** - 单条查询 + * 单条查询 + * * @param resource_id_int 主键 */ - public Record getResourceBaseById(int resource_id_int){ - String sql="select * from t_resource_base where resource_id_int =?"; - return Db.findFirst(sql,resource_id_int); + public Record getResourceBaseById(int resource_id_int) { + String sql = "select * from t_resource_base where resource_id_int =?"; + return Db.findFirst(sql, resource_id_int); } /** - 分页查询 - * @param pageNum 当前页码 + * 分页查询 + * + * @param pageNum 当前页码 * @param pageSize 每页显示条数 */ - public Page getResourceBaseList(int pageNum, int pageSize){ - String sql1="select * "; - String sql2=" from t_resource_base"; - return Db.paginate(pageNum, pageSize, sql1,sql2); + public Page getResourceBaseList(int pageNum, int pageSize) { + String sql1 = "select * "; + String sql2 = " from t_resource_base"; + return Db.paginate(pageNum, pageSize, sql1, sql2); + } + + /** + * 获取指定扩展名文件的缩略图 + * + * @param ext 扩展名 + * @return + */ + public String getThumbByExt(String ext) { + String sql = "select thumb_name from t_resource_thumb where ext=?"; + Record record = Db.findFirst(sql, ext); + if (record == null) { + record = Db.findFirst(sql, "other"); + } + return record.getStr("thumb_name"); } } diff --git a/dsRes/src/main/java/com/dsideal/resource/Util/MinioUtils.java b/dsRes/src/main/java/com/dsideal/resource/Util/MinioUtils.java index 03c831d5..1babf2e6 100644 --- a/dsRes/src/main/java/com/dsideal/resource/Util/MinioUtils.java +++ b/dsRes/src/main/java/com/dsideal/resource/Util/MinioUtils.java @@ -64,17 +64,15 @@ public class MinioUtils { * @throws InternalException */ public static String getSignature(String objectName) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { - int expiresDuration = 600; // 过期时间为10*60秒 + int expiresDuration = 60 * 60 * 24; // 过期时间为24小时 // 生成带有签名的URL - String url = getMinioClient().getPresignedObjectUrl( + return getMinioClient().getPresignedObjectUrl( GetPresignedObjectUrlArgs.builder() .method(Method.PUT) .bucket(bucketName) .object(objectName) .expiry(expiresDuration) .build()); - - return url; } @@ -97,7 +95,7 @@ public class MinioUtils { public static void uploadFile(MinioClient minioClient, String key, String source) throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { minioClient.uploadObject( UploadObjectArgs.builder() - .bucket(PropKit.get("minio.bucketName")) + .bucket(bucketName) .object(key) .filename(source) .build());