商品详情具体有哪些信息可以了解?

2026-05-05 23:481阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计731个文字,预计阅读时间需要3分钟。

商品详情具体有哪些信息可以了解?

一、商品详情

1.1 域名跳转环境

修改本机hosts文件

文件路径:C:\Windows\System32\drivers\etc\hosts

添加以下内容:

二、域名跳转环境

1.域名解析

2.修改本机hosts文件

3.文件路径:C:\Windows\System32\drivers\etc\hosts

4.添加以下内容:

一、商品详情 1.1 域名跳转环境

修改本机 hosts 文件:

# guli mall # 192.168.163.131 gulimall.com 192.168.163.131 search.gulimall.com 192.168.163.131 item.gulimall.com 1.2 配置网关

- id: mall_host_route uri: lb://mall-product predicates: - Host=gulimall.com, item.gulimall.com 1.3 静态页面

将 item.html 放在templates 目录下,静态文件可以选择放在 nginx 目录下实现动静分离,我这里还选择放在项目的 static 目录下。

1.4 规格测试

@Override public SkuItemVo item(Long skuId) throws ExecutionException, InterruptedException { SkuItemVo skuItemVo = new SkuItemVo(); CompletableFuture<SkuInfoEntity> infoFuture = CompletableFuture.supplyAsync(() -> { //1、sku基本信息的获取 pms_sku_info SkuInfoEntity info = this.getById(skuId); skuItemVo.setInfo(info); return info; }, executor); CompletableFuture<Void> saleAttrFuture = infoFuture.thenAcceptAsync((res) -> { //3、获取spu的销售属性组合 List<SkuItemSaleAttrVo> saleAttrVos = skuSaleAttrValueService.getSaleAttrBySpuId(res.getSpuId()); skuItemVo.setSaleAttr(saleAttrVos); }, executor); CompletableFuture<Void> descFuture = infoFuture.thenAcceptAsync((res) -> { //4、获取spu的介绍 pms_spu_info_desc SpuInfoDescEntity spuInfoDescEntity = spuInfoDescService.getById(res.getSpuId()); skuItemVo.setDesc(spuInfoDescEntity); }, executor); CompletableFuture<Void> baseAttrFuture = infoFuture.thenAcceptAsync((res) -> { //5、获取spu的规格参数信息 List<SpuItemAttrGroupVo> attrGroupVos = attrGroupService.getAttrGroupWithAttrsBySpuId(res.getSpuId(), res.getCatalogId()); skuItemVo.setGroupAttrs(attrGroupVos); }, executor); // Long spuId = info.getSpuId(); // Long catalogId = info.getCatalogId(); //2、sku的图片信息 pms_sku_images CompletableFuture<Void> imageFuture = CompletableFuture.runAsync(() -> { List<SkuImagesEntity> imagesEntities = skuImagesService.getImagesBySkuId(skuId); skuItemVo.setImages(imagesEntities); }, executor); CompletableFuture<Void> seckillFuture = CompletableFuture.runAsync(() -> { //3、远程调用查询当前sku是否参与秒杀优惠活动 R skuSeckilInfo = seckillFeignService.getSkuSeckilInfo(skuId); if (skuSeckilInfo.getCode() == 0) { //查询成功 SeckillSkuVo seckilInfoData = skuSeckilInfo.getData("data", new TypeReference<SeckillSkuVo>() { }); skuItemVo.setSeckillSkuVo(seckilInfoData); if (seckilInfoData != null) { long currentTime = System.currentTimeMillis(); if (currentTime > seckilInfoData.getEndTime()) { skuItemVo.setSeckillSkuVo(null); } } } }, executor); //等到所有任务都完成 CompletableFuture.allOf(saleAttrFuture,descFuture,baseAttrFuture,imageFuture,seckillFuture).get(); return skuItemVo; }

@Override public List<SkuItemSaleAttrVo> getSaleAttrBySpuId(Long spuId) { SkuSaleAttrValueDao baseMapper = this.getBaseMapper(); List<SkuItemSaleAttrVo> saleAttrVos = baseMapper.getSaleAttrBySpuId(spuId); return saleAttrVos; }

/* List<SkuItemSaleAttrVo> getSaleAttrBySpuId(@Param("spuId") Long spuId);*/ <select id="getSaleAttrBySpuId" resultMap="skuItemSaleAttrVo"> SELECT ssav.attr_id attr_id, ssav.attr_name attr_name, ssav.attr_value, group_concat( DISTINCT info.sku_id ) sku_ids FROM pms_sku_info info LEFT JOIN pms_sku_sale_attr_value ssav ON ssav.sku_id = info.sku_id WHERE info.spu_id = #{spuId} GROUP BY ssav.attr_id, ssav.attr_name, ssav.attr_value </select>

@Override public List<SpuItemAttrGroupVo> getAttrGroupWithAttrsBySpuId(Long spuId, Long catalogId) { //1、查出当前spu对应的所有属性的分组信息以及当前分组下的所有属性对应的值 AttrGroupDao baseMapper = this.getBaseMapper(); List<SpuItemAttrGroupVo> vos = baseMapper.getAttrGroupWithAttrsBySpuId(spuId,catalogId); return vos; }

/* List<SpuItemAttrGroupVo> getAttrGroupWithAttrsBySpuId(@Param("spuId") Long spuId, @Param("catalogId") Long catalogId);*/ <select id="getAttrGroupWithAttrsBySpuId" resultMap="spuAttrGroup"> SELECT product.spu_id, pag.attr_group_id, pag.attr_group_name, product.attr_id, product.attr_name, product.attr_value FROM pms_product_attr_value product LEFT JOIN pms_attr_attrgroup_relation paar ON product.attr_id = paar.attr_id LEFT JOIN pms_attr_group pag ON paar.attr_group_id = pag.attr_group_id WHERE product.spu_id = #{spuId} AND pag.catelog_id = #{catalogId} </select>

@Override public List<SkuImagesEntity> getImagesBySkuId(Long skuId) { List<SkuImagesEntity> imagesEntities = this.baseMapper.selectList(new QueryWrapper<SkuImagesEntity>().eq("sku_id", skuId)); return imagesEntities; }

商品详情具体有哪些信息可以了解?