From 4d7673e8dfea0787ae99e07aa63b7d262620165c Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Thu, 20 Mar 2025 16:46:13 +0800 Subject: [PATCH] =?UTF-8?q?TASK:AiDA=E6=A8=A1=E5=9D=97=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SavedCollectionController.java | 19 ++++++ .../ai/da/mapper/primary/BrandDNAMapper.java | 7 +++ .../mapper/primary/BrandRelLibraryMapper.java | 7 +++ .../ai/da/mapper/primary/entity/BrandDNA.java | 37 ++++++++++++ .../primary/entity/BrandRelLibrary.java | 29 +++++++++ .../primary/entity/DesignItemDetail.java | 2 +- .../java/com/ai/da/model/dto/BrandDNADTO.java | 13 ++++ .../model/dto/ProductImageInitializeDTO.java | 2 + .../ai/da/service/UserLikeGroupService.java | 7 +++ .../impl/UserLikeGroupServiceImpl.java | 59 ++++++++++++++++++- 10 files changed, 178 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/ai/da/mapper/primary/BrandDNAMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/BrandRelLibraryMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/BrandDNA.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/BrandRelLibrary.java create mode 100644 src/main/java/com/ai/da/model/dto/BrandDNADTO.java diff --git a/src/main/java/com/ai/da/controller/SavedCollectionController.java b/src/main/java/com/ai/da/controller/SavedCollectionController.java index 030be5f7..82938fe5 100644 --- a/src/main/java/com/ai/da/controller/SavedCollectionController.java +++ b/src/main/java/com/ai/da/controller/SavedCollectionController.java @@ -28,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.Valid; +import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -257,4 +258,22 @@ public class SavedCollectionController { public Response productImageUpload(@Valid @RequestBody ProductImageInitializeDTO productImageInitializeDTO) { return Response.success(userLikeGroupService.productImageInitialize(productImageInitializeDTO)); } + + @ApiOperation(value = "brandDNASaveOrUpdate") + @PostMapping("/brandDNASaveOrUpdate") + public Response brandDNASaveOrUpdate(@Valid @RequestBody BrandDNADTO brandDNADTO) { + return Response.success(userLikeGroupService.brandDNASaveOrUpdate(brandDNADTO)); + } + + @ApiOperation(value = "brandLogoUpload") + @PostMapping("/brandLogoUpload") + public Response brandDNASaveOrUpdate(@RequestParam("file") MultipartFile file) { + return Response.success(userLikeGroupService.brandLogoUpload(file)); + } + + @ApiOperation(value = "brandDNAUpload") + @PostMapping("/brandDNAUpload") + public Response brandDNAUpload(@RequestParam("file") MultipartFile file, @RequestParam("brandId") Long brandId) throws IOException { + return Response.success(userLikeGroupService.brandDNAUpload(file, brandId)); + } } diff --git a/src/main/java/com/ai/da/mapper/primary/BrandDNAMapper.java b/src/main/java/com/ai/da/mapper/primary/BrandDNAMapper.java new file mode 100644 index 00000000..acee40b4 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/BrandDNAMapper.java @@ -0,0 +1,7 @@ +package com.ai.da.mapper.primary; + +import com.ai.da.common.config.mybatis.plus.CommonMapper; +import com.ai.da.mapper.primary.entity.BrandDNA; + +public interface BrandDNAMapper extends CommonMapper { +} diff --git a/src/main/java/com/ai/da/mapper/primary/BrandRelLibraryMapper.java b/src/main/java/com/ai/da/mapper/primary/BrandRelLibraryMapper.java new file mode 100644 index 00000000..35ce79e1 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/BrandRelLibraryMapper.java @@ -0,0 +1,7 @@ +package com.ai.da.mapper.primary; + +import com.ai.da.common.config.mybatis.plus.CommonMapper; +import com.ai.da.mapper.primary.entity.BrandRelLibrary; + +public interface BrandRelLibraryMapper extends CommonMapper { +} diff --git a/src/main/java/com/ai/da/mapper/primary/entity/BrandDNA.java b/src/main/java/com/ai/da/mapper/primary/entity/BrandDNA.java new file mode 100644 index 00000000..5e35a5ff --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/entity/BrandDNA.java @@ -0,0 +1,37 @@ +package com.ai.da.mapper.primary.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("brand") +public class BrandDNA implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private Long accountId; + + private String brandName; + + private String brandSlogan; + + private String brandLogo; + + private LocalDateTime createTime; + + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/ai/da/mapper/primary/entity/BrandRelLibrary.java b/src/main/java/com/ai/da/mapper/primary/entity/BrandRelLibrary.java new file mode 100644 index 00000000..d4336cc1 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/entity/BrandRelLibrary.java @@ -0,0 +1,29 @@ +package com.ai.da.mapper.primary.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("brand_rel_library") +public class BrandRelLibrary implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private Long brandId; + private Long libraryId; + +} diff --git a/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetail.java b/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetail.java index 8ccdb04b..d1657e99 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetail.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetail.java @@ -98,7 +98,7 @@ public class DesignItemDetail implements Serializable { /** * 局部design 只会有一张图 */ - private String partialDesign; +// private String partialDesign; /** * 创建时间 diff --git a/src/main/java/com/ai/da/model/dto/BrandDNADTO.java b/src/main/java/com/ai/da/model/dto/BrandDNADTO.java new file mode 100644 index 00000000..b6b5a632 --- /dev/null +++ b/src/main/java/com/ai/da/model/dto/BrandDNADTO.java @@ -0,0 +1,13 @@ +package com.ai.da.model.dto; + +import com.ai.da.mapper.primary.entity.BrandDNA; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +//@AllArgsConstructor +//@NoArgsConstructor +public class BrandDNADTO extends BrandDNA { + +} diff --git a/src/main/java/com/ai/da/model/dto/ProductImageInitializeDTO.java b/src/main/java/com/ai/da/model/dto/ProductImageInitializeDTO.java index a3aace06..880d579d 100644 --- a/src/main/java/com/ai/da/model/dto/ProductImageInitializeDTO.java +++ b/src/main/java/com/ai/da/model/dto/ProductImageInitializeDTO.java @@ -7,4 +7,6 @@ import java.util.List; @Data public class ProductImageInitializeDTO { private List libraryIds; + + private Long brandId; } diff --git a/src/main/java/com/ai/da/service/UserLikeGroupService.java b/src/main/java/com/ai/da/service/UserLikeGroupService.java index 4af24898..7030c13e 100644 --- a/src/main/java/com/ai/da/service/UserLikeGroupService.java +++ b/src/main/java/com/ai/da/service/UserLikeGroupService.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; /** @@ -81,4 +82,10 @@ public interface UserLikeGroupService extends IService { ModuleChooseVO saveModuleContent(ModuleSaveDTO moduleSaveDTO); LibraryModelPoint getMannequinDetail(MannequinDTO mannequinDTO); + + String brandLogoUpload(MultipartFile file); + + Boolean brandDNASaveOrUpdate(BrandDNADTO brandDNADTO); + + String brandDNAUpload(MultipartFile file, Long brandId) throws IOException; } diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index 1c90f8f8..5456e39d 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -109,6 +109,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl brandRelLibraryQueryWrapper = new QueryWrapper<>(); + brandRelLibraryQueryWrapper.lambda().eq(BrandRelLibrary::getBrandId, brandId); + List brandRelLibraries = brandRelLibraryMapper.selectList(brandRelLibraryQueryWrapper); + Set collect = brandRelLibraries.stream().map(BrandRelLibrary::getLibraryId).collect(Collectors.toSet()); + AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); accountService.getById(authPrincipalVo.getId()); - for (Long libraryId : productImageInitializeDTO.getLibraryIds()) { + for (Long libraryId : collect) { Library library = libraryMapper.selectById(libraryId); String url = library.getUrl(); String gender = library.getLevel2Type(); + // 提取sketch TODO + String clothCategory = pythonService.getClothCategory(url, gender); JSONObject attributeRecognition = pythonService.getAttributeRecognition(url, clothCategory, gender); JSONObject data = attributeRecognition.getJSONObject("data"); @@ -1529,7 +1541,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl