From 655f434cf0949f7cfc4d04d6a93df2799e3e8a2c Mon Sep 17 00:00:00 2001 From: litianxiang Date: Tue, 30 Dec 2025 13:47:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=EF=BC=9B=E9=83=A8=E5=88=86=E6=BC=94=E7=A4=BA=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=BA=9F=E5=BC=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CustomerPhotoController.java | 3 +- .../controller/TryOnEffectController.java | 48 +++++++++---------- .../exception/GlobalExceptionHandler.java | 6 +++ .../service/TryOnEffectService.java | 2 +- .../impl/CustomerPhotoServiceImpl.java | 10 +++- .../service/impl/TryOnEffectServiceImpl.java | 1 + 6 files changed, 43 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/aida/lanecarford/controller/CustomerPhotoController.java b/src/main/java/com/aida/lanecarford/controller/CustomerPhotoController.java index c15cd48..8fcdf2f 100644 --- a/src/main/java/com/aida/lanecarford/controller/CustomerPhotoController.java +++ b/src/main/java/com/aida/lanecarford/controller/CustomerPhotoController.java @@ -4,6 +4,7 @@ import com.aida.lanecarford.common.ApiResponse; import com.aida.lanecarford.dto.CustomerPhotoDto; import com.aida.lanecarford.entity.CustomerPhoto; import com.aida.lanecarford.service.CustomerPhotoService; +import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @@ -24,7 +25,7 @@ public class CustomerPhotoController { private final CustomerPhotoService customerPhotoService; @PostMapping("/upload") - public ApiResponse upload(@ModelAttribute CustomerPhotoDto customerPhotoDto) { + public ApiResponse upload(@Valid @ModelAttribute CustomerPhotoDto customerPhotoDto) { CustomerPhoto customerPhoto = customerPhotoService.upload(customerPhotoDto); return ApiResponse.success(customerPhoto); } diff --git a/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java b/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java index 6b6b17e..a1b39bb 100644 --- a/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java +++ b/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java @@ -92,28 +92,28 @@ public class TryOnEffectController { return ApiResponse.success(); } - /** - * 首页默认图换脸演示 - */ - @Operation(summary = "首页点击换脸", description = "传入上传顾客照片后得到的ID") - @PostMapping("/reFace") - public ApiResponse reFace(@Nullable @RequestParam Long customerPhotoId, - @Nullable @RequestParam String prompt, - @Nullable @RequestParam String tryonUrl) { - if (customerPhotoId == null&& StringUtil.isNullOrEmpty(prompt)&& StringUtil.isNullOrEmpty(tryonUrl)){ - return ApiResponse.error("system error:Parameter null"); - } - String result = ""; - if (StringUtil.isNullOrEmpty(prompt)){ - //换脸 - result = tryOnEffectService.reFace(customerPhotoId); - }else { - if (StringUtil.isNullOrEmpty(tryonUrl)){ - return ApiResponse.error("system error:Parameter null"); - } - //根据提示词修改图像 - result = tryOnEffectService.generateUrl(prompt,tryonUrl); - } - return ApiResponse.success("操作成功",result); - } +// /** +// * 首页默认图换脸演示 +// */ +// @Operation(summary = "首页点击换脸", description = "传入上传顾客照片后得到的ID") +// @PostMapping("/reFace") +// public ApiResponse reFace(@Nullable @RequestParam Long customerPhotoId, +// @Nullable @RequestParam String prompt, +// @Nullable @RequestParam String tryonUrl) { +// if (customerPhotoId == null&& StringUtil.isNullOrEmpty(prompt)&& StringUtil.isNullOrEmpty(tryonUrl)){ +// return ApiResponse.error("system error:Parameter null"); +// } +// String result = ""; +// if (StringUtil.isNullOrEmpty(prompt)){ +// //换脸 +// result = tryOnEffectService.reFace(customerPhotoId); +// }else { +// if (StringUtil.isNullOrEmpty(tryonUrl)){ +// return ApiResponse.error("system error:Parameter null"); +// } +// //根据提示词修改图像 +// result = tryOnEffectService.generateUrl(prompt,tryonUrl); +// } +// return ApiResponse.success("操作成功",result); +// } } \ No newline at end of file diff --git a/src/main/java/com/aida/lanecarford/exception/GlobalExceptionHandler.java b/src/main/java/com/aida/lanecarford/exception/GlobalExceptionHandler.java index dabf66f..7872fa1 100644 --- a/src/main/java/com/aida/lanecarford/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/aida/lanecarford/exception/GlobalExceptionHandler.java @@ -88,6 +88,12 @@ public class GlobalExceptionHandler { logger.error("MinIO异常: {}", e.getMessage(), e); + // 如果是文件为空等参数错误,返回参数错误码 + String message = e.getMessage(); + if (message != null && (message.contains("文件不能为空") || message.contains("不能为空"))) { + return ApiResponse.error(ResultEnum.PARAMETER_ERROR.getCode(), "File cannot be empty"); + } + return ApiResponse.error(ResultEnum.ERROR.getCode(), "File storage service error"); } diff --git a/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java b/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java index 9b609ed..67e3a54 100644 --- a/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java +++ b/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java @@ -44,8 +44,8 @@ public interface TryOnEffectService extends IService { */ boolean addComment(Suggestion suggestion); + //已废弃 String reFace(Long customerPhotoId); - String generateUrl(String prompt, String tryonUrl); PageResult getTryOnHistoricals(HistoricalDTO historicalDTO); diff --git a/src/main/java/com/aida/lanecarford/service/impl/CustomerPhotoServiceImpl.java b/src/main/java/com/aida/lanecarford/service/impl/CustomerPhotoServiceImpl.java index ad18d1b..bd5fa98 100644 --- a/src/main/java/com/aida/lanecarford/service/impl/CustomerPhotoServiceImpl.java +++ b/src/main/java/com/aida/lanecarford/service/impl/CustomerPhotoServiceImpl.java @@ -1,9 +1,11 @@ package com.aida.lanecarford.service.impl; import com.aida.lanecarford.common.constant.MinioFileConstants; +import com.aida.lanecarford.common.response.ResultEnum; import com.aida.lanecarford.config.MinioConfig; import com.aida.lanecarford.dto.CustomerPhotoDto; import com.aida.lanecarford.entity.CustomerPhoto; +import com.aida.lanecarford.exception.BusinessException; import com.aida.lanecarford.mapper.CustomerPhotoMapper; import com.aida.lanecarford.service.CustomerPhotoService; import com.aida.lanecarford.util.CopyUtil; @@ -11,6 +13,7 @@ import com.aida.lanecarford.util.MinioUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; /** * 顾客照片服务实现类 @@ -26,9 +29,14 @@ public class CustomerPhotoServiceImpl extends ServiceImpl