From 1015b6b5bd32fe06f6ed2cdd95b9a371fd6d8d7c Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Tue, 25 Nov 2025 18:13:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=87=E6=B3=A8=E5=8F=8A?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=AE=BD=E9=AB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bonus/BonusApplication.java | 4 ++ .../src/main/resources/application-dev.yml | 20 +++++----- bonus-business/pom.xml | 4 ++ .../bonus/business/domain/AlgorithmVo.java | 8 ++++ .../bonus/business/domain/ImageRecognize.java | 6 +++ .../bonus/business/domain/UserOperaVo.java | 2 + .../business/mapper/ImageCaptionMapper.java | 4 +- .../service/impl/AlgorithmService.java | 4 ++ .../service/impl/CompressUploaderService.java | 15 ++++++++ .../service/impl/ImageCaptionServiceImpl.java | 23 ++++++++++-- .../mapper/business/ImageCaptionMapper.xml | 37 +++++++++++-------- .../java/com/bonus/file/config/SysFile.java | 13 +++++++ .../java/com/bonus/file/vo/UploadFileVo.java | 16 ++++++++ .../framework/web/service/TokenService.java | 12 +++--- 14 files changed, 131 insertions(+), 37 deletions(-) diff --git a/bonus-admin/src/main/java/com/bonus/BonusApplication.java b/bonus-admin/src/main/java/com/bonus/BonusApplication.java index 662919e..c1c8340 100644 --- a/bonus-admin/src/main/java/com/bonus/BonusApplication.java +++ b/bonus-admin/src/main/java/com/bonus/BonusApplication.java @@ -1,5 +1,6 @@ package com.bonus; +import com.bonus.common.utils.SecurityUtils; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @@ -16,6 +17,9 @@ public class BonusApplication { public static void main(String[] args) { + + String pwd = SecurityUtils.encryptPassword("Bonus@admin123!"); + System.err.println(pwd); // System.setProperty("spring.devtools.restart.enabled", "false"); SpringApplication.run(BonusApplication.class, args); System.err.println("(♥◠‿◠)ノ゙ 江苏图片自动标注后台服务启动成功 ლ(´ڡ`ლ)゙ \n" + diff --git a/bonus-admin/src/main/resources/application-dev.yml b/bonus-admin/src/main/resources/application-dev.yml index fae1068..d2fcf2a 100644 --- a/bonus-admin/src/main/resources/application-dev.yml +++ b/bonus-admin/src/main/resources/application-dev.yml @@ -138,16 +138,16 @@ Sm4: KEY: 78d1295afa99449b99d6f83820e6965c IV: f555adf6c01d0ab0761e626a2dae34a2 -#minio: -# url: http://47.92.234.255:9090 -# endpoint: http://47.92.234.255:9090 -# accessKey: minio -# secretKey: Bonus@admin123! -# bucketName: image - minio: - url: http://192.168.0.14:9090 - endpoint: http://192.168.0.14:9090 + url: http://47.92.234.255:9090 + endpoint: http://47.92.234.255:9090 accessKey: minio - secretKey: bonus@admin123 + secretKey: Bonus@admin123! bucketName: image + +#minio: +# url: http://192.168.0.14:9090 +# endpoint: http://192.168.0.14:9090 +# accessKey: minio +# secretKey: bonus@admin123 +# bucketName: image diff --git a/bonus-business/pom.xml b/bonus-business/pom.xml index c775777..3e1019b 100644 --- a/bonus-business/pom.xml +++ b/bonus-business/pom.xml @@ -43,6 +43,10 @@ commons-compress 1.20 + + org.glassfish.jaxb + jaxb-runtime + diff --git a/bonus-business/src/main/java/com/bonus/business/domain/AlgorithmVo.java b/bonus-business/src/main/java/com/bonus/business/domain/AlgorithmVo.java index f6d1872..f1d2e2a 100644 --- a/bonus-business/src/main/java/com/bonus/business/domain/AlgorithmVo.java +++ b/bonus-business/src/main/java/com/bonus/business/domain/AlgorithmVo.java @@ -2,11 +2,17 @@ package com.bonus.business.domain; import lombok.Data; +import java.util.List; + /** * 算法信息类 */ @Data public class AlgorithmVo { + + + + private String remark; /** * 主键 */ @@ -66,6 +72,8 @@ public class AlgorithmVo { private int fileNum; + private List hwData; + public static void addSource(AlgorithmVo vo, int length, String operaId, String createTime, String operaType, String userId, String operaName) { vo.setBzNum(0); vo.setWbzNum(0); diff --git a/bonus-business/src/main/java/com/bonus/business/domain/ImageRecognize.java b/bonus-business/src/main/java/com/bonus/business/domain/ImageRecognize.java index d092c6d..975b826 100644 --- a/bonus-business/src/main/java/com/bonus/business/domain/ImageRecognize.java +++ b/bonus-business/src/main/java/com/bonus/business/domain/ImageRecognize.java @@ -4,6 +4,12 @@ import lombok.Data; @Data public class ImageRecognize { + + private String remark; + + private String dataType; + + private String jsonData; /** * 主键 */ diff --git a/bonus-business/src/main/java/com/bonus/business/domain/UserOperaVo.java b/bonus-business/src/main/java/com/bonus/business/domain/UserOperaVo.java index a6a1939..3014aac 100644 --- a/bonus-business/src/main/java/com/bonus/business/domain/UserOperaVo.java +++ b/bonus-business/src/main/java/com/bonus/business/domain/UserOperaVo.java @@ -7,6 +7,8 @@ import java.util.List; @Data public class UserOperaVo { + + private String remark; /** * 主键 */ diff --git a/bonus-business/src/main/java/com/bonus/business/mapper/ImageCaptionMapper.java b/bonus-business/src/main/java/com/bonus/business/mapper/ImageCaptionMapper.java index 6f48749..fbdc3c6 100644 --- a/bonus-business/src/main/java/com/bonus/business/mapper/ImageCaptionMapper.java +++ b/bonus-business/src/main/java/com/bonus/business/mapper/ImageCaptionMapper.java @@ -28,9 +28,9 @@ public interface ImageCaptionMapper { * @param fileList * @param id */ - void addUpLoadImage(@Param("list") List fileList, @Param("id") String id, @Param("createTime")String createTime, @Param("operaType")String operaType); + void addUpLoadImage(@Param("list") List fileList, @Param("id") String id, @Param("createTime")String createTime, @Param("operaType")String operaType, @Param("remark")String remark); - void addSureLoadImage(@Param("list") List fileList, @Param("id") String id, @Param("createTime")String createTime, @Param("operaType")String operaType); + void addSureLoadImage(@Param("list") List fileList, @Param("id") String id, @Param("createTime")String createTime, @Param("operaType")String operaType, @Param("remark")String remark); /** * 更新 数据 diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/AlgorithmService.java b/bonus-business/src/main/java/com/bonus/business/service/impl/AlgorithmService.java index e2d64ff..c9f8155 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/impl/AlgorithmService.java +++ b/bonus-business/src/main/java/com/bonus/business/service/impl/AlgorithmService.java @@ -58,10 +58,14 @@ public class AlgorithmService { JSONArray array=jsonObject.getJSONArray("data"); for (int i=0;i fileList ,String id,String operaType,boolean isZip){ + public AjaxResult ImageMultipartFile(MultipartFile[] multipartFile ,String path,String createTime,String userId,List fileList ,String id,String operaType,boolean isZip,String remark){ try{ if(isZip){ List list=compressUploaderService.uploadAndExtract(multipartFile[0],path); @@ -359,6 +364,16 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { // 转换为可读格式(如KB/MB) String humanReadableSize = convertToHumanReadable(sizeInBytes); SysFile sysFile=minioUtil.uploadFile(file,folderPath); + BufferedImage img = ImageIO.read(file.getInputStream()); + if (img != null) { + int width = img.getWidth(); + int height = img.getHeight(); + sysFile.setWidth(width+""); + sysFile.setHeight(height+""); + System.out.println("Width: " + width + ", Height: " + height); + } else { + System.out.println("Image not loaded successfully."); + } sysFile.setName(uuid+"."+suffix); SysFile.addSource(sysFile,userId,originFileName,humanReadableSize); fileList.add(sysFile); @@ -371,9 +386,9 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { } if(PG_TYPE.equals(operaType)){ - mapper.addSureLoadImage(fileList,id,createTime,operaType); + mapper.addSureLoadImage(fileList,id,createTime,operaType,remark); } - mapper.addUpLoadImage(fileList,id,createTime,operaType); + mapper.addUpLoadImage(fileList,id,createTime,operaType,remark); return AjaxResult.success("上传成功!"); }catch (Exception e){ log.error(e.getMessage(),e); diff --git a/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml b/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml index b113273..2299da5 100644 --- a/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml +++ b/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml @@ -16,27 +16,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into tb_algorithm( - oper_id, name, create_time, bz_num, wbz_num, user_id,image_num, is_sure,oper_type - )values (#{operaId},#{name},#{createTime},#{bzNum},#{wbzNum},#{userId},#{imageNum},#{isSure},#{operaType}) + oper_id, name, create_time, bz_num, wbz_num, user_id,image_num, is_sure,oper_type,remark + )values (#{operaId},#{name},#{createTime},#{bzNum},#{wbzNum},#{userId},#{imageNum},#{isSure},#{operaType},#{remark}) insert into tb_upload_file( id, algorithm_id,original_name,file_path,bucket_name, - file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user + file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user,remark,height,width ) values (#{item.id}, #{id},#{item.originName},#{item.url},#{item.bucketName}, - #{item.name},0,#{createTime},#{operaType},#{item.bjFilePath},#{item.fileSize},#{item.createUser} ) + #{item.name},0,#{createTime},#{operaType},#{item.bjFilePath},#{item.fileSize},#{item.createUser},#{remark},#{item.height},#{item.width} ) insert into tb_sure_file( id, algorithm_id,original_name,file_path,bucket_name, - file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user + file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user,remark,data_type,json_data,height,width ) values (#{item.id}, #{id},#{item.originName},#{item.url},#{item.bucketName}, - #{item.name},0,#{createTime},#{operaType},#{item.bjFilePath},#{item.fileSize},#{item.createUser} ) + #{item.name},0,#{createTime},#{operaType},#{item.bjFilePath},#{item.fileSize},#{item.createUser},#{remark},#{item.dataType},#{item.jsonData},#{item.height},#{item.width} ) @@ -50,8 +50,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" impression, balance, detail, - type - )values (#{imageId},#{contentImage},#{overallScore},#{clarity},#{cleanliness},#{compressMarks},#{impression},#{balance},#{detail},#{type}) + type,json_data,data_type + )values (#{imageId},#{contentImage},#{overallScore},#{clarity},#{cleanliness},#{compressMarks},#{impression},#{balance},#{detail},#{type},#{jsonData},#{dataType}) @@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update tb_upload_file set bj_file_path=#{imagePath} where id=#{imageId} + update tb_upload_file set bj_file_path=#{imagePath},json_data=#{jsonData},data_type=#{dataType} where id=#{imageId} update tb_algorithm set is_sure=#{isSure}, sure_user=#{userId} where id=#{id} @@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -133,7 +133,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" file.bj_file_path bjFilePath, file.file_size fileSize, tir.content_image contentImage,ROUND(tir.overall_score, 2) overallScore,tir.clarity, tir.cleanliness,tir.compress_marks compressMarks,tir.impression, - tir.balance,tir.detail,tir.type + tir.balance,tir.detail,tir.type, file.remark,file.height,file.width, + file.json_data jsonData ,file.data_type dataType from tb_upload_file file left join tb_image_recognize tir on tir.image_id=file.id left join da_ky_sys_dict_data sdd on sdd.dict_type='bz_data' @@ -184,7 +185,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" file.bj_file_path bjFilePath, file.file_size fileSize, tir.content_image contentImage,ROUND(tir.overall_score, 2) overallScore,tir.clarity, tir.cleanliness,tir.compress_marks compressMarks,tir.impression, - tir.balance,tir.detail,tir.type,su.user_name userName,file.create_time createTime + tir.balance,tir.detail,tir.type,su.user_name userName,file.create_time createTime, + file.remark,file.height,file.width, + file.json_data jsonData ,file.data_type dataType from tb_algorithm tam left join tb_user_oper tuo on tuo.id=tam.oper_id left join tb_sure_file file on file.algorithm_id=tam.id @@ -219,7 +222,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" file.file_type fileType, file.bj_file_path bjFilePath, file. file_size fileSize, - file.create_user createUser + file.create_user createUser, + file.json_data jsonData, + file.data_type dataType, + file.remark remark, + file.height, file.width from tb_upload_file file left join tb_algorithm ta on ta.id=file.algorithm_id WHERE file.is_active=0 @@ -229,11 +236,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" replace into tb_sure_file( id, algorithm_id,original_name,file_path,bucket_name, - file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user + file_name,is_active,create_time,file_type,bj_file_path,file_size,create_user,json_data,data_type,remark,height,width ) values (#{item.imageId}, #{item.algorithmId},#{item.originalName},#{item.filePath},#{item.bucketName}, - #{item.fileName},#{item.isActive},now(),#{item.fileType},#{item.bjFilePath},#{item.fileSize},#{item.createUser} ) + #{item.fileName},#{item.isActive},now(),#{item.fileType},#{item.bjFilePath},#{item.fileSize},#{item.createUser},#{item.jsonData} ,#{item.dataType} ,#{item.remark} ,#{item.height} ,#{item.width} ) \ No newline at end of file diff --git a/bonus-file/src/main/java/com/bonus/file/config/SysFile.java b/bonus-file/src/main/java/com/bonus/file/config/SysFile.java index 0be30f0..3d18ebd 100644 --- a/bonus-file/src/main/java/com/bonus/file/config/SysFile.java +++ b/bonus-file/src/main/java/com/bonus/file/config/SysFile.java @@ -15,6 +15,17 @@ import org.apache.commons.lang3.builder.ToStringStyle; @Builder public class SysFile { + /** + * 高度 + */ + private String height; + /** + * 宽度 + */ + private String width; + + private String dataType; + private String id; /** * 文件名称 @@ -50,6 +61,8 @@ public class SysFile */ private String createUser; + private String jsonData; + /** * 添加属性 * @param sysFile diff --git a/bonus-file/src/main/java/com/bonus/file/vo/UploadFileVo.java b/bonus-file/src/main/java/com/bonus/file/vo/UploadFileVo.java index ba1313c..cc16bea 100644 --- a/bonus-file/src/main/java/com/bonus/file/vo/UploadFileVo.java +++ b/bonus-file/src/main/java/com/bonus/file/vo/UploadFileVo.java @@ -4,6 +4,20 @@ import lombok.Data; @Data public class UploadFileVo { + /** + * 高度 + */ + private String height; + /** + * 宽度 + */ + private String width; + + private String dataType; + + private String jsonData; + + private String remark; private String operaName; @@ -33,6 +47,8 @@ public class UploadFileVo { * 标记文件地址 */ private String bjFilePath; + + private String imageUrl; /** * 标记图片地址 */ diff --git a/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java b/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java index 86cc658..86141d5 100644 --- a/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java +++ b/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java @@ -175,7 +175,6 @@ public class TokenService refreshToken(loginUser); // 绑定用户名与当前uuid,挤下线旧会话 bindUserToken(loginUser.getUsername(), token); - Map claims = new HashMap<>(); claims.put(Constants.LOGIN_USER_KEY, token); claims.put(Constants.JWT_USERNAME, loginUser.getUsername()); @@ -375,11 +374,12 @@ public class TokenService { String userTokenKey = getUserTokenKey(username); String oldUuid = redisCache.getCacheObject(userTokenKey); - if (StringUtils.isNotEmpty(oldUuid) && !uuid.equals(oldUuid)) - { - // 删除旧的 login_tokens:{oldUuid} - String oldLoginKey = getTokenKey(oldUuid); - redisCache.deleteObject(oldLoginKey); + if(!"admin".equals(username)){ + if (StringUtils.isNotEmpty(oldUuid) && !uuid.equals(oldUuid)) { + // 删除旧的 login_tokens:{oldUuid} + String oldLoginKey = getTokenKey(oldUuid); + redisCache.deleteObject(oldLoginKey); + } } redisCache.setCacheObject(userTokenKey, uuid, expireTime, TimeUnit.MINUTES); }