From e40199b564b53fd00e709b6c2512d146d72c6cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 14 Jun 2025 16:46:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=A7=E5=93=81=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/pojo/vo/ProductModelInfoVO.java | 27 +++++++++++++++++++ .../product/controller/InfoController.java | 13 +++++++++ .../src/main/resources/bootstrap.properties | 2 +- .../mapper/ProductModelFileMapper.java | 6 ++++- .../service/IProductModelFileService.java | 2 ++ .../service/IProductModelHotimageService.java | 3 +++ .../service/impl/ProductCaseServiceImpl.java | 2 +- .../impl/ProductModelFileServiceImpl.java | 7 ++++- .../impl/ProductModelHotimageServiceImpl.java | 10 +++++++ .../ProductModelParamsItemServiceImpl.java | 2 ++ .../service/impl/ProductModelServiceImpl.java | 14 ++++++++-- .../mapper/ProductModelFileMapper.xml | 9 ++++++- 12 files changed, 90 insertions(+), 7 deletions(-) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/ProductModelInfoVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/ProductModelInfoVO.java index 95e2a361..11ac8548 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/ProductModelInfoVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/ProductModelInfoVO.java @@ -3,6 +3,8 @@ package com.nflg.mobilebroken.common.pojo.vo; import lombok.Data; import lombok.experimental.Accessors; +import java.util.List; + @Data @Accessors(chain = true) public class ProductModelInfoVO { @@ -43,4 +45,29 @@ public class ProductModelInfoVO { * 图片地址 */ private String image; + + /** + * 热图 + */ + private ProductHotImageInfoVO hotImage; + + /** + * 主要参数列表 + */ + private List params; + + /** + * 产品图册 + */ + private List images; + + /** + * 产品视频 + */ + private List videos; + + /** + * 产品资料 + */ + private List files; } diff --git a/nflg-mobilebroken-product/src/main/java/com/nflg/mobilebroken/product/controller/InfoController.java b/nflg-mobilebroken-product/src/main/java/com/nflg/mobilebroken/product/controller/InfoController.java index 625dce0b..6d4013e2 100644 --- a/nflg-mobilebroken-product/src/main/java/com/nflg/mobilebroken/product/controller/InfoController.java +++ b/nflg-mobilebroken-product/src/main/java/com/nflg/mobilebroken/product/controller/InfoController.java @@ -1,10 +1,12 @@ package com.nflg.mobilebroken.product.controller; +import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.ProductSeriesSearchRequest; import com.nflg.mobilebroken.common.pojo.vo.*; import com.nflg.mobilebroken.common.util.MultilingualUtil; +import com.nflg.mobilebroken.repository.entity.DictionaryItem; import com.nflg.mobilebroken.repository.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -39,6 +41,9 @@ public class InfoController extends BaseController{ @Resource private IProductModelService productModelService; + @Resource + private IDictionaryItemService dictionaryItemService; + /** * 获取介绍列表 */ @@ -63,6 +68,14 @@ public class InfoController extends BaseController{ return ApiResult.success(productCaseService.get(MultilingualUtil.getLanguage())); } + /** + * 获取模块列表 + */ + @GetMapping("/getModuleList") + public ApiResult> getModuleList(){ + return ApiResult.success(dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_PRODUCT_MODULE)); + } + /** * 搜索产品系列 */ diff --git a/nflg-mobilebroken-product/src/main/resources/bootstrap.properties b/nflg-mobilebroken-product/src/main/resources/bootstrap.properties index 9696db1d..1cfdb0f8 100644 --- a/nflg-mobilebroken-product/src/main/resources/bootstrap.properties +++ b/nflg-mobilebroken-product/src/main/resources/bootstrap.properties @@ -1,6 +1,6 @@ spring.application.name=product spring.profiles.active=dev -server.port=8084 +server.port=8085 # 设置最大文件大小 (默认为1MB) spring.servlet.multipart.max-file-size=100MB # 设置所有文件总大小 (默认为10MB) diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelFileMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelFileMapper.java index 4d63274e..7b752875 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelFileMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelFileMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nflg.mobilebroken.common.pojo.vo.ProductFileVO; import com.nflg.mobilebroken.repository.entity.ProductModelFile; +import java.util.List; + /** *

* 产品中心-产品机型-文件 Mapper 接口 @@ -14,7 +16,9 @@ import com.nflg.mobilebroken.repository.entity.ProductModelFile; */ public interface ProductModelFileMapper extends BaseMapper { - ProductFileVO getListByLanguage(Integer modelId, String language); + ProductFileVO getDefaultByLanguage(Integer modelId, String language); void copyItems(Integer oldId, Integer newId); + + List getListByLanguage(Integer modelId, String language); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelFileService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelFileService.java index e513467a..daf7d241 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelFileService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelFileService.java @@ -50,4 +50,6 @@ public interface IProductModelFileService extends IService { List getDefaultConfig(@Valid @NotNull Integer modelId); void setFileDefaultCondig(@Valid FileDefaultConfigRequest request); + + List getListByLanguage(Integer modelId, String language); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelHotimageService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelHotimageService.java index 3db1ba7c..f6d7d7c7 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelHotimageService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelHotimageService.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.request.*; +import com.nflg.mobilebroken.common.pojo.vo.ProductHotImageInfoVO; import com.nflg.mobilebroken.repository.entity.ProductModelHotimage; import javax.validation.Valid; @@ -37,4 +38,6 @@ public interface IProductModelHotimageService extends IService ids); void copyTo(Integer oldId, Integer newId); + + ProductHotImageInfoVO getListByLanguage(Integer modelId); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductCaseServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductCaseServiceImpl.java index f7c11125..226043f9 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductCaseServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductCaseServiceImpl.java @@ -81,7 +81,7 @@ public class ProductCaseServiceImpl extends ServiceImpl(request.getPage(), request.getPageSize())); return PageUtil.convert(page, d -> Convert.convert(ProductCaseSearchVO.class, d)); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java index 7428660e..c18be1a2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java @@ -159,7 +159,7 @@ public class ProductModelFileServiceImpl extends ServiceImpl getListByLanguage(Integer modelId, String language) { + return baseMapper.getListByLanguage(modelId,language); + } } \ No newline at end of file diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelHotimageServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelHotimageServiceImpl.java index ae0136cb..89911ec8 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelHotimageServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelHotimageServiceImpl.java @@ -1,11 +1,13 @@ package com.nflg.mobilebroken.repository.service.impl; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.constant.PublishState; import com.nflg.mobilebroken.common.pojo.request.*; +import com.nflg.mobilebroken.common.pojo.vo.ProductHotImageInfoVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.ProductModelHotimage; @@ -131,4 +133,12 @@ public class ProductModelHotimageServiceImpl extends ServiceImpl intros = productModelIntroService.lambdaQuery().eq(ProductModelIntro::getModelId, oldId).list(); if (CollectionUtil.isNotEmpty(intros)) { intros.forEach(intro -> { - Integer oId=intro.getId(); + int oId = intro.getId(); + intro.setId(null); productModelIntroService.save(intro); productModelIntroService.copyItems(oId, intro.getId()); }); @@ -113,6 +114,7 @@ public class ProductModelServiceImpl extends ServiceImpl { Integer oId=file.getId(); + file.setId(null); productModelFileService.save(file); productModelFileService.copyItems(oId, file.getId()); }); @@ -122,6 +124,7 @@ public class ProductModelServiceImpl extends ServiceImpl { Integer oId=image.getId(); + image.setId(null); productModelImageService.save(image); productModelImageService.copyItems(oId, image.getId()); }); @@ -130,6 +133,7 @@ public class ProductModelServiceImpl extends ServiceImpl { Integer oId=video.getId(); + video.setId(null); productModelVideoService.save(video); productModelVideoService.copyItems(oId, video.getId()); }); @@ -138,6 +142,7 @@ public class ProductModelServiceImpl extends ServiceImpl { Integer oId=param.getId(); + param.setId(null); productPartParamsService.save(param); productPartParamsService.copyItems(oId, param.getId()); }); @@ -257,7 +262,12 @@ public class ProductModelServiceImpl extends ServiceImpl - SELECT pmfi.name, pmfi.* FROM product_model_file pmf INNER JOIN product_model_file_item pmfi ON pmf.id = pmfi.model_file_id @@ -19,4 +19,11 @@ FROM product_model_file_item WHERE model_file_id=#{oldId} + +