栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

商城电商day 04 spu相关业务介绍

商城电商day 04 spu相关业务介绍

day 04 spu相关业务介绍 1.1 销售属性

销售属性,就是商品详情页右边,可以通过销售属性来定位一组spu下的哪款sku。可以让当前的商品详情页,跳转到自己的“兄弟”商品。
一般每种商品的销售属性不会太多,大约1-4种。整个电商的销售属性种类也不会太多,大概10种以内。比如:颜色、尺寸、版本、套装等等。不同销售属性的组合也就构成了一个spu下多个sku的结构。

因此,在制作spu之前要先确定当前商品有哪些销售属性!

1.2 spu数据结构图 二、列表查询功能开发

分析用到那几张表
spuInfo
SQL语句

控制层

 @GetMapping("{page}/{size}")
    public Result getSpuInfoPage(@PathVariable Long page,
                                 @PathVariable Long size,
                                 SpuInfo spuInfo)

业务层Dao层

IPage getSpuInfoPage(Page pageParam, SpuInfo spuInfo);

难点

E:淘宝下载电商视频day111 12
有几种获取三级分类id的方法呢

用实体类接收 传进来的参数 因为实体类中有这个对象属性 为的是接收categoryId
控制器 多了个spuInfo 所以manageService.getSpuInfoPage要改变

//品牌分页查询
  @GetMapping("{page}/{size}")
    public Result getSpuInfoPage(@PathVariable Long page,
                                 @PathVariable Long size,
                                 SpuInfo spuInfo){
        // 创建一个Page 对象
        Page spuInfoPage = new Page<>(page,size);
        // 获取数据
        IPage spuInfoPageList = manageService.getSpuInfoPage(spuInfoPage, spuInfo);
        // 将获取到的数据返回即可!
        return Result.ok(spuInfoPageList);
    }
}

实现类

    @Override
    public IPage getSpuInfoPage(Page pageParam, SpuInfo spuInfo) {
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("category3_id", spuInfo.getCategory3Id());
        queryWrapper.orderByDesc("id");
        return spuInfoMapper.selectPage(pageParam, queryWrapper);
    }
三、商标品牌管理

分析用到那几张表

SQL语句

控制层
@GetMapping("{page}/{limit}")
public Result index(@PathVariable Long page,
@PathVariable Long limit)

业务层Dao层
IPage getPage(Page pageParam);

难点

@ApiOperation(value = "分页列表")
   @GetMapping("{page}/{limit}")
   public Result index(@PathVariable Long page,
                       @PathVariable Long limit) {

      Page pageParam = new Page<>(page, limit);
      IPage pageModel = baseTrademarkService.getbaseTradeMarkList(pageParam);
      return Result.ok(pageModel);
   }

实现类

 @Override
   public IPage getbaseTradeMarkList(Page pageParam) {
      QueryWrapper queryWrapper = new QueryWrapper<>();
      queryWrapper.orderByAsc("id");

      IPage page = baseTrademarkMapper.selectPage(pageParam, queryWrapper);
      return page;
   }

四、spu的保存功能中的图片上传

介绍
FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站、短视频网站、文档、app 下载站等,UC、京东、支付宝、迅雷、酷狗等都有使用。

4.2 FastDFS上传的流程

只要 storage 返回图片的路径图片名称,我们就能通过浏览器来访问图片了?
图片服务器在linux ? nginx 做反向代理{图片服务器}!

分析用到那几张表

SQL语句

控制层

业务层Dao层

难点

五、spu保存 保存商品数据 5.3 保存后台代码
在这里插入代码片

分析用到那几张表

spu_image(商品图片表) spu_id(商品Id)
spu_info(商品表) category3_id(三级分类Id) tm_id(品牌Id)
没用  spu_poster(商品海报表) spu_id(商品Id)
spu_sale_attr(商品销售属性表) spu_id(商品Id) base_sale_attr_id(销售属性Id)
spu_sale_attr_value(商品销售属性值) spu_id(商品Id) base_sale_attr_id(销售属性Id)

SQL语句
记得看实体类中包含的数据库中不存在的集合包含关系型

@PostMapping("saveSpuInfo")
public Result saveSpuInfo(@RequestBody SpuInfo spuInfo)
return Result.ok();

业务层Dao层

@Transactional(rollbackFor = Exception.class)
public void saveSpuInfo(SpuInfo spuInfo)

难点

// spuInfo 商品表
spuImage 商品图片表
// spuSaleAttr 销售属性表
// spuSaleAttrValue 销售属性值表

找到那几个表 再看对应的实体类

 //        spuSaleAttr 销售属性表  多个 spuSaleAttrList
        List spuSaleAttrList = spuInfo.getSpuSaleAttrList();
        if (spuSaleAttrList != null && spuSaleAttrList.size() > 0) {

            for (SpuSaleAttr spuSaleAttr : spuSaleAttrList) {
                spuSaleAttr.setId(spuInfo.getId());
                spuSaleAttrMapper.insert(spuSaleAttr);

                //        spuSaleAttrValue 销售属性值表
                //一个销售属性对应多个销售属性值

                List spuSaleAttrValueList = spuSaleAttr.getSpuSaleAttrValueList();
                if (spuSaleAttrValueList != null && spuSaleAttrValueList.size() > 0) {
                    for (SpuSaleAttrValue spuSaleAttrValue : spuSaleAttrValueList) {
                        spuSaleAttrValue.setSpuId(spuInfo.getId());
                        spuSaleAttrValue.setSaleAttrName(spuSaleAttr.getSaleAttrName());
                        spuSaleAttrValueMapper.insert(spuSaleAttrValue);
                    }
                }


            }
        }

表结构 是个问题 你是如何设计表的?
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号