diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeHomepage/StoreHomeDecorationVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeHomepage/StoreHomeDecorationVO.java index 837bc33ac..c5640211d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeHomepage/StoreHomeDecorationVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeHomepage/StoreHomeDecorationVO.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.List; /** @@ -36,8 +37,12 @@ public class StoreHomeDecorationVO { private String bizName; @ApiModelProperty(value = "跳转类型 1. 不跳转 2. 跳转店铺 3. 跳转商品") private Integer jumpType; + @ApiModelProperty(value = "文件名称") + private String fileName; @ApiModelProperty(value = "文件路径") private String fileUrl; + @ApiModelProperty(value = "文件大小") + private BigDecimal fileSize; @ApiModelProperty(value = "文件类型 1轮播大图") private Integer fileType; @ApiModelProperty(value = "排序") diff --git a/sql/ry_20240629.sql b/sql/ry_20240629.sql index 6c308a43a..8fe0b6e0f 100644 --- a/sql/ry_20240629.sql +++ b/sql/ry_20240629.sql @@ -3291,6 +3291,7 @@ CREATE TABLE `store_homepage` `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '档口首页ID', `store_id` bigint UNSIGNED NOT NULL COMMENT '档口ID', `file_type` int UNSIGNED NULL DEFAULT NULL COMMENT '档口各位置类型', + `jump_type` tinyint UNSIGNED NULL DEFAULT NULL COMMENT '跳转类型 1不跳转 2跳转档口 3 跳转商品', `biz_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '不跳转是null,跳转店铺为storeId,跳转商品是storeProdId', `file_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '档口各位置文件ID', `order_num` int UNSIGNED NULL DEFAULT NULL COMMENT '排序', @@ -3300,7 +3301,6 @@ CREATE TABLE `store_homepage` `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `jump_type` tinyint UNSIGNED NULL DEFAULT NULL COMMENT '跳转类型 1不跳转 2跳转档口 3 跳转商品', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '档口首页' ROW_FORMAT = DYNAMIC; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeHomepage/StoreHomeDecorationResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeHomepage/StoreHomeDecorationResDTO.java index 530cbe6b7..13ea47d81 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeHomepage/StoreHomeDecorationResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeHomepage/StoreHomeDecorationResDTO.java @@ -17,6 +17,8 @@ import java.util.List; public class StoreHomeDecorationResDTO { + @ApiModelProperty(value = "档口ID") + private Long storeId; @ApiModelProperty(value = "档口首页装修模板Num") private Integer templateNum; @ApiModelProperty(value = "档口首页装修大轮播图") diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java index e9f8f63c2..078e487fe 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java @@ -116,6 +116,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { .setFileType(x.getFileType()).setFileUrl(finalMainPicMap.get(x.getBizId()))) .collect(Collectors.toList()); return new StoreHomeDecorationResDTO() {{ + setStoreId(storeId); setTemplateNum(store.getTemplateNum()); setBigBannerList(bigBannerList); setDecorationList(decorList); @@ -431,8 +432,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { List homePageList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(homepageDTO.getBigBannerList())) { // 新增的首页轮播大图部分 - List bigBannerFileList = homepageDTO.getBigBannerList().stream().filter(x -> StringUtils.isNotBlank(x.getFileUrl()) - && StringUtils.isNotBlank(x.getFileName()) && ObjectUtils.isNotEmpty(x.getFileSize()) && ObjectUtils.isNotEmpty(x.getOrderNum())) + List bigBannerFileList = homepageDTO.getBigBannerList().stream().filter(x -> StringUtils.isNotBlank(x.getFileUrl())) .map(x -> BeanUtil.toBean(x, SysFile.class)).collect(Collectors.toList()); this.fileMapper.insert(bigBannerFileList); Map bigBannerMap = bigBannerFileList.stream().collect(Collectors.toMap(SysFile::getFileName, Function.identity())); @@ -440,7 +440,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { .setFileId(bigBannerMap.containsKey(x.getFileName()) ? bigBannerMap.get(x.getFileName()).getId() : null)) .collect(Collectors.toList())); } - if (CollectionUtils.isNotEmpty(homepageDTO.getDecorationList())) { + if (CollectionUtils.isNotEmpty(homepageDTO.getDecorationList())) { homePageList.addAll(homepageDTO.getDecorationList().stream().map(x -> BeanUtil.toBean(x, StoreHomepage.class).setStoreId(homepageDTO.getStoreId())) .collect(Collectors.toList())); } @@ -531,7 +531,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { }).collect(Collectors.toList()); } else { topRightRecommendList = topRightList.stream().map(x -> { - StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getId()); + StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getBizId()); return BeanUtil.toBean(dto, StoreHomeTemplateItemResDTO.class) .setDisplayType(AdDisplayType.PRODUCT.getValue()).setProdPrice(ObjectUtils.isNotEmpty(dto) ? dto.getMinPrice() : null) .setTags(ObjectUtils.isNotEmpty(dto) && StringUtils.isNotBlank(dto.getTagStr()) ? StrUtil.split(dto.getTagStr(), ",") : null); @@ -565,7 +565,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { }).collect(Collectors.toList()); } else { recommendList = storeRecommendList.stream().map(x -> { - StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getId()); + StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getBizId()); return BeanUtil.toBean(dto, StoreHomeTemplateItemResDTO.class) .setDisplayType(AdDisplayType.PRODUCT.getValue()).setProdPrice(ObjectUtils.isNotEmpty(dto) ? dto.getMinPrice() : null) .setTags(ObjectUtils.isNotEmpty(dto) && StringUtils.isNotBlank(dto.getTagStr()) ? StrUtil.split(dto.getTagStr(), ",") : null); @@ -600,7 +600,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { }).collect(Collectors.toList()); } else { popularRecommendList = popularSaleList.stream().map(x -> { - StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getId()); + StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getBizId()); return BeanUtil.toBean(dto, StoreHomeTemplateItemResDTO.class) .setDisplayType(AdDisplayType.PRODUCT.getValue()).setProdPrice(ObjectUtils.isNotEmpty(dto) ? dto.getMinPrice() : null) .setTags(ObjectUtils.isNotEmpty(dto) && StringUtils.isNotBlank(dto.getTagStr()) ? StrUtil.split(dto.getTagStr(), ",") : null); @@ -634,7 +634,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { }).collect(Collectors.toList()); } else { seasonNewRecommendList = seasonNewProductsList.stream().map(x -> { - StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getId()); + StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getBizId()); return BeanUtil.toBean(dto, StoreHomeTemplateItemResDTO.class) .setDisplayType(AdDisplayType.PRODUCT.getValue()).setProdPrice(ObjectUtils.isNotEmpty(dto) ? dto.getMinPrice() : null) .setTags(ObjectUtils.isNotEmpty(dto) && StringUtils.isNotBlank(dto.getTagStr()) ? StrUtil.split(dto.getTagStr(), ",") : null); @@ -668,7 +668,7 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { }).collect(Collectors.toList()); } else { saleRankRecommendList = salesRankingList.stream().map(x -> { - StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getId()); + StoreProdPriceAndMainPicAndTagDTO dto = attrMap.get(x.getBizId()); return BeanUtil.toBean(dto, StoreHomeTemplateItemResDTO.class) .setDisplayType(AdDisplayType.PRODUCT.getValue()).setProdPrice(ObjectUtils.isNotEmpty(dto) ? dto.getMinPrice() : null) .setTags(ObjectUtils.isNotEmpty(dto) && StringUtils.isNotBlank(dto.getTagStr()) ? StrUtil.split(dto.getTagStr(), ",") : null);