From 6e9a29284a42cd3a5016ec9fa63bb3e25e0e911d Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Tue, 30 Sep 2025 10:14:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E5=83=8F=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/business/domain/UserOperaVo.java | 2 + .../service/impl/AlgorithmService.java | 16 +++- .../service/impl/ImageCaptionServiceImpl.java | 90 +++++++++---------- .../mapper/business/ImageCaptionMapper.xml | 5 +- .../java/com/bonus/file/minio/MinioUtil.java | 16 ++-- 5 files changed, 75 insertions(+), 54 deletions(-) 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 44c5ec8..01078dc 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 @@ -11,6 +11,8 @@ public class UserOperaVo { * 主键 */ private String id; + + private String operaId; /** * 操作名称 */ 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 6c62ab2..bded767 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 @@ -30,9 +30,23 @@ public class AlgorithmService { ImageRecognize vo = new ImageRecognize(); sysFile.setType(operaName); vo.setContentImage(operaName); - vo.setImageId(sysFile.getUrl()); + vo.setImageId(sysFile.getId()); vo.setImagePath(sysFile.getUrl()); vo.setType("2"); + //综合得分 + vo.setOverallScore("56"); + //清晰度 + vo.setClarity("32"); + //干净度 + vo.setCleanliness("16"); + //压缩痕迹 + vo.setCompressMarks("78"); + //整体观感 + vo.setImpression("65"); + //明暗均衡 + vo.setBalance("23"); + //细节体验 + vo.setDetail("25"); list.add(vo); } return list; diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/ImageCaptionServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/ImageCaptionServiceImpl.java index 8cab147..7730e44 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/impl/ImageCaptionServiceImpl.java +++ b/bonus-business/src/main/java/com/bonus/business/service/impl/ImageCaptionServiceImpl.java @@ -146,6 +146,7 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { return AjaxResult.error("操作失败"); } + /** * 新增评估数据 * @param multipartFile @@ -159,16 +160,13 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { if(multipartFile == null || multipartFile.length == 0){ return AjaxResult.error("请上传图片"); } - String userId= SecurityUtils.getUserId().toString(); String operaName=DateUtils.getDate(); //操作日期 String path="image/"+year+"/"+month+"/"+day+"/"; List fileList=new ArrayList<>(); - - //1 图片标注 - UserOperaVo userOperaVo=new UserOperaVo(userId,operaName,createTime,"2"); //文件路径 + UserOperaVo userOperaVo=new UserOperaVo(userId,operaName,createTime,"2"); if(StringUtils.isEmpty(vo.getId())){ //1 图片标注 Integer addOperaNum=mapper.addUserOperaVo(userOperaVo); @@ -178,46 +176,46 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { }else{ userOperaVo.setId(vo.getId()); } - //操作记录 - vo.setImageNum(multipartFile.length); - vo.setBzNum(0); - vo.setWbzNum(0); - vo.setIsSure("1"); - vo.setOperaId(userOperaVo.getId()); - vo.setCreateTime(createTime); - vo.setOperaType("2"); - vo.setUserId(userId); - vo.setName(operaName); - Integer addedAlgorithmNum= mapper.addAlgorithm(vo); - if(addedAlgorithmNum==null || addedAlgorithmNum==0){ - return AjaxResult.error("操作记录添加失败!"); - }else{ - //文件路径 - for (MultipartFile file : multipartFile) { - String originFileName = file.getOriginalFilename(); - String suffix=StringUtils.substringAfterLast(originFileName, "."); - String uuid = StringUtils.randomUUID(); - String folderPath= path+uuid+"."+suffix; - // 获取文件大小(字节) - long sizeInBytes = file.getSize(); - // 转换为可读格式(如KB/MB) - String humanReadableSize = convertToHumanReadable(sizeInBytes); - SysFile sysFile=minioUtil.uploadFile(file,folderPath); - sysFile.setId(StringUtils.randomUUID()); - sysFile.setOriginName(originFileName); - sysFile.setFileSize(humanReadableSize); - fileList.add(sysFile); - } - if(fileList.size()!=multipartFile.length){ - return AjaxResult.error("文件上传失败!"); - } - //图片存储 - mapper.addUpLoadImage(fileList,vo.getId(),createTime,"2"); + //操作记录 + vo.setImageNum(multipartFile.length); + vo.setBzNum(0); + vo.setWbzNum(0); + vo.setIsSure("0"); + vo.setOperaId(userOperaVo.getId()); + vo.setCreateTime(createTime); + vo.setOperaType("2"); + vo.setUserId(userId); + vo.setName(operaName); + Integer addedAlgorithmNum= mapper.addAlgorithm(vo); + if(addedAlgorithmNum==null || addedAlgorithmNum==0){ + return AjaxResult.error("操作记录添加失败!"); + }else{ + //文件上传标记 + for (MultipartFile file : multipartFile) { + String originFileName = file.getOriginalFilename(); + String suffix=StringUtils.substringAfterLast(originFileName, "."); + String uuid = StringUtils.randomUUID(); + String folderPath= path+uuid+"."+suffix; + // 获取文件大小(字节) + long sizeInBytes = file.getSize(); + // 转换为可读格式(如KB/MB) + String humanReadableSize = convertToHumanReadable(sizeInBytes); + SysFile sysFile=minioUtil.uploadFile(file,folderPath); + sysFile.setOriginName(originFileName); + sysFile.setFileSize(humanReadableSize); + sysFile.setId(StringUtils.randomUUID()); + fileList.add(sysFile); } - //TODO 调用算法进行照片评估 + if(fileList.size()!=multipartFile.length){ + return AjaxResult.error("文件上传失败!"); + } + mapper.addUpLoadImage(fileList,vo.getId(),createTime,"2"); + } + //TODO 调用算法识别 ,然后进行图片更换 List list= algorithmService.getImageRecognizeList(fileList,operaName); - for (ImageRecognize sysFile : list) { - mapper.addImageRecognize(sysFile); + //更新标记的数量 和未标记的数量,同时更新 标记图片地址// + for (ImageRecognize imageRecognize : list) { + mapper.addImageRecognize(imageRecognize); } // 查询数据历史集合 @@ -226,18 +224,20 @@ public class ImageCaptionServiceImpl implements ImageCaptionService { //查询 每次历史的 图片集合 List fileVoList=mapper.getImageListDetailsHistory(userOperaVo2); for (UploadFileVo obj : fileVoList) { - String url=minioUtil.getFileUrl(obj.getBucketName(),obj.getBjFilePath(),60*60*7); + String url=minioUtil.getFileUrl(obj.getBucketName(),obj.getFilePath(),60*60*7); obj.setBjUrl(url); } userOperaVo2.setFileVoList(fileVoList); } - return AjaxResult.success(hisImageList); + return AjaxResult.success(hisImageList); }catch (Exception e){ log.error(e.getMessage(),e); } - return AjaxResult.error("操作失败"); + return AjaxResult.error("操作失败"); } + + /** * 查询 图片数据结婚 * @param vo diff --git a/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml b/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml index 90d26b6..dbeb690 100644 --- a/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml +++ b/bonus-business/src/main/resources/mapper/business/ImageCaptionMapper.xml @@ -74,12 +74,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"