From e08517cdcc3bc4f1e2390a98d8817c68d3ef1bca Mon Sep 17 00:00:00 2001 From: litianxiang Date: Fri, 14 Nov 2025 17:36:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=84=8F=E8=A7=81=E5=BB=BA=E8=AE=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TryOnEffectController.java | 11 ++++ .../aida/lanecarford/entity/Suggestion.java | 53 +++++++++++++++++++ .../lanecarford/mapper/SuggestionMapper.java | 16 ++++++ .../service/TryOnEffectService.java | 8 +++ .../service/impl/TryOnEffectServiceImpl.java | 27 ++++++++++ src/main/resources/sql/schema.sql | 15 ++++++ 6 files changed, 130 insertions(+) create mode 100644 src/main/java/com/aida/lanecarford/entity/Suggestion.java create mode 100644 src/main/java/com/aida/lanecarford/mapper/SuggestionMapper.java diff --git a/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java b/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java index 702650a..f30c465 100644 --- a/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java +++ b/src/main/java/com/aida/lanecarford/controller/TryOnEffectController.java @@ -1,6 +1,7 @@ package com.aida.lanecarford.controller; import com.aida.lanecarford.common.ApiResponse; +import com.aida.lanecarford.entity.Suggestion; import com.aida.lanecarford.entity.TryOnEffect; import com.aida.lanecarford.service.TryOnEffectService; import com.aida.lanecarford.vo.TryOnResultVo; @@ -77,4 +78,14 @@ public class TryOnEffectController { tryOnEffectService.cancelFavoriteTryOnEffect(tryOnId); return ApiResponse.success(); } + + /** + * 为生成结果添加意见和建议 + */ + @Operation(summary = "为生成结果添加意见和建议", description = "为指定试穿效果添加意见和建议") + @PostMapping("/add-comment") + public ApiResponse addComment(@RequestBody Suggestion suggestion) { + tryOnEffectService.addComment(suggestion); + return ApiResponse.success(); + } } \ No newline at end of file diff --git a/src/main/java/com/aida/lanecarford/entity/Suggestion.java b/src/main/java/com/aida/lanecarford/entity/Suggestion.java new file mode 100644 index 0000000..7098b74 --- /dev/null +++ b/src/main/java/com/aida/lanecarford/entity/Suggestion.java @@ -0,0 +1,53 @@ +package com.aida.lanecarford.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * 意见建议实体类 + * + * @author AI Assistant + * @since 2024-01-01 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@TableName("suggestions") +public class Suggestion extends BaseEntity { + + /** + * 顾客ID + */ + @Schema(description = "顾客ID", example = "1", required = true) + @TableField("customer_id") + private Long customerId; + + /** + * 进店记录ID + */ + @Schema(description = "进店记录ID", example = "1", required = true) + @TableField("visit_record_id") + private Long visitRecordId; + + /** + * 试穿效果ID + */ + @Schema(description = "试穿效果ID", example = "1", required = true) + @TableField("try_on_effects_id") + private Long tryOnEffectsId; + + /** + * 意见建议内容 + */ + @Schema(description = "意见建议内容", example = "这件衣服颜色不太合适,建议换成浅色系", required = true) + @TableField("suggestion") + private String suggestion; +} \ No newline at end of file diff --git a/src/main/java/com/aida/lanecarford/mapper/SuggestionMapper.java b/src/main/java/com/aida/lanecarford/mapper/SuggestionMapper.java new file mode 100644 index 0000000..fda7757 --- /dev/null +++ b/src/main/java/com/aida/lanecarford/mapper/SuggestionMapper.java @@ -0,0 +1,16 @@ +package com.aida.lanecarford.mapper; + +import com.aida.lanecarford.entity.Suggestion; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 意见建议Mapper接口 + * + * @author AI Assistant + * @since 2024-01-01 + */ +@Mapper +public interface SuggestionMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java b/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java index 1eaaec2..8f530dc 100644 --- a/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java +++ b/src/main/java/com/aida/lanecarford/service/TryOnEffectService.java @@ -1,5 +1,6 @@ package com.aida.lanecarford.service; +import com.aida.lanecarford.entity.Suggestion; import com.aida.lanecarford.entity.TryOnEffect; import com.aida.lanecarford.vo.TryOnResultVo; import com.baomidou.mybatisplus.extension.service.IService; @@ -32,4 +33,11 @@ public interface TryOnEffectService extends IService { void cancelFavoriteTryOnEffect(Long tryOnId); List getTryOnEffectsByStyleId(Long styleId); + + /** + * 添加意见建议 + * @param suggestion 意见建议实体 + * @return 是否添加成功 + */ + boolean addComment(Suggestion suggestion); } \ No newline at end of file diff --git a/src/main/java/com/aida/lanecarford/service/impl/TryOnEffectServiceImpl.java b/src/main/java/com/aida/lanecarford/service/impl/TryOnEffectServiceImpl.java index e5a42ff..e0db2af 100644 --- a/src/main/java/com/aida/lanecarford/service/impl/TryOnEffectServiceImpl.java +++ b/src/main/java/com/aida/lanecarford/service/impl/TryOnEffectServiceImpl.java @@ -10,8 +10,10 @@ import com.aida.lanecarford.entity.*; import com.aida.lanecarford.exception.BusinessException; import com.aida.lanecarford.mapper.CustomerMapper; import com.aida.lanecarford.mapper.OutfitRequestMapper; +import com.aida.lanecarford.mapper.SuggestionMapper; import com.aida.lanecarford.mapper.TryOnEffectMapper; import com.aida.lanecarford.service.*; +import com.aida.lanecarford.entity.Suggestion; import com.aida.lanecarford.util.MinioUtil; import com.aida.lanecarford.util.StringListConverter; import com.aida.lanecarford.vo.TryOnResultVo; @@ -53,6 +55,7 @@ public class TryOnEffectServiceImpl extends ServiceImpl 0) { + log.info("意见建议添加成功 - id: {}", suggestion.getId()); + return true; + } else { + log.error("意见建议添加失败"); + return false; + } + } catch (Exception e) { + log.error("添加意见建议时发生异常: {}", e.getMessage(), e); + throw new BusinessException("Add suggestion failed", "添加意见建议失败", ResultEnum.ERROR.getCode()); + } + } + //目前用于customize your look页面点击finish后的显示 @Override public List getTryOnEffectsByStyleId(Long styleId) { diff --git a/src/main/resources/sql/schema.sql b/src/main/resources/sql/schema.sql index fc7b698..9972bb9 100644 --- a/src/main/resources/sql/schema.sql +++ b/src/main/resources/sql/schema.sql @@ -166,4 +166,19 @@ CREATE TABLE `outfit_request` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='穿搭请求表'; +-- 9. 意见建议表 +CREATE TABLE `suggestions` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '意见建议ID', + `customer_id` bigint NOT NULL COMMENT '顾客ID', + `visit_record_id` bigint NOT NULL COMMENT '进店记录ID', + `try_on_effects_id` bigint NOT NULL COMMENT '试穿效果ID', + `suggestion` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '意见建议内容', + `created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)', + PRIMARY KEY (`id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='意见建议表'; + +) +