谷粒商城--商品新增业务流程分析

简介: 谷粒商城--商品新增业务流程分析

开发流程如下: 开发需求,就像在线接口文档如下https://easydoc.net/s/78237135/ZUqEdvA4/OXTgKobR这里一样, 别人告诉你需要什么功能,需要返回什么样的数据,你就通过接口的形式把他们呢实现出来即可!


商品新增vo抽取


设置完属性,点击保存之后取消保存,复制控制台输出

image.png

[在线JSON字符串转Java实体类(JavaBean、Entity)-BeJSON.com](https://www.bejson.com/json2javapojo/new/)

直接解析json数据封装成实体类

这里我简单截取一个主要的Vo

此Vo包括每个步骤所携带的数据,有的是单个字段有的是一个集合

逻辑不难,难点是要理清逻辑,注意细节!

@Data
public class SpuSaveVo {
    @NotEmpty(groups = {AddGroup.class})
    private String spuName;
    private String spuDescription;
    @NotEmpty(groups = {AddGroup.class})
    private Long catalogId;
    @NotEmpty(groups = {AddGroup.class})
    private Long brandId;
    private double weight;
    private int publishStatus;
    private List<String> decript;
    private List<String> images;
    private Bounds bounds;
    @NotEmpty(groups = {AddGroup.class})
    private List<BaseAttrs> baseAttrs;
    @NotEmpty(groups = {AddGroup.class})
    private List<Skus> skus;
}


商品新增业务流程分析


逻辑很简单那,就是把数据保存到多张表

因为这个Vo收集的数据很多,包括每个步骤你所选择的数据

这个业务逻辑并不复杂,写这个逻辑之前我们一定要对每张表都非常熟悉,并且我们还要对它们之间的关系很清楚,因为下面的业务都是把数据保存到多张表中!

1.保存spu基本信息 pms_spu_info

因为所有传来的信息都在vo里,所以我们把信息拷贝到对应的实体类中,如果vo没有的那就可以自己赋值

表结构如下:

image.png

这里的infoEntity.setCreateTime(new Date());infoEntity.setUpdateTime(new Date());是因为前端传入的是没有这两个字段的,我们自己赋值即可

SpuInfoEntity infoEntity = new SpuInfoEntity();
BeanUtils.copyProperties(vo, infoEntity);
infoEntity.setCreateTime(new Date());
infoEntity.setUpdateTime(new Date());
this.saveBaseInfo(infoEntity);

2.保存spu的描述图片 pms_spu_info_desc

保存哪个数据到哪个表,就注入那个service

String.join()的作用是把集合中的元素通过","分割形成一个一个的字符串

List<String> decript = vo.getDecript();
SpuInfoDescEntity descEntity = new SpuInfoDescEntity();
descEntity.setSpuId(infoEntity.getId());
descEntity.setDecript(String.join(",", decript));
spuInfoDescService.saveSpuInfoDesc(descEntity);

3.保存spu的图片集 pms_spu_images

从vo中获取所有图片集合 调用图片service进行保存,保存只需要两个点 图片id和url地址,传入对象即可

List<String> images = vo.getImages();
imagesService.saveImages(infoEntity.getId(), images);

4.保存spu的规格参数 pms_product_attr_value

从vo中获取所有规格参数集合 对规格参数集合进行遍历,设置每项的属性

List<BaseAttrs> baseAttrs = vo.getBaseAttrs();
List<ProductAttrValueEntity> collect = baseAttrs.stream().map((attr) -> {
    ProductAttrValueEntity valueEntity = new ProductAttrValueEntity();
    valueEntity.setAttrId(attr.getAttrId());
    AttrEntity id = attrService.getById(attr.getAttrId());
    valueEntity.setAttrName(id.getAttrName());
    valueEntity.setAttrValue(attr.getAttrValues());
    valueEntity.setQuickShow(attr.getShowDesc());
    valueEntity.setSpuId(infoEntity.getId());
    return valueEntity;
}).collect(Collectors.toList());
attrValueService.saveProductAttr(collect);

5.保存spu的积分信息 mall_sms -> sms_spu_bounds

保存积分信息,这里用到了另外一个微服务 其实就是调用另一个微服务的保存积分方法...

Bounds bounds = vo.getBounds();
SpuBoundTo spuBoundTo = new SpuBoundTo();
BeanUtils.copyProperties(bounds, spuBoundTo);
spuBoundTo.setSpuId(infoEntity.getId());
R r0 = couponFeignService.saveSpuBounds(spuBoundTo);
if (r0.getCode() != 0) {
    log.error("远程保存spu积分信息异常");
}
couponFeignService.saveSpuBounds(spuBoundTo);



相关文章
|
3天前
|
数据采集 API 开发者
淘宝商品详情数据接口调用,商城上货实战案例(仅供参考)
本案例介绍了如何利用淘宝开放平台API实现商品信息同步至个人或第三方商城的完整流程。首先需注册淘宝开放平台账号并创建应用,获取API密钥。接着,使用Python代码调用API获取商品详情,经过数据清洗整理后上传至目标商城。最后,通过设置定时任务确保商品信息的及时更新,保证商城商品信息的准确性与时效性。
|
3月前
|
存储 SQL NoSQL
商城业务---购物车
这篇文章讨论了商城业务中购物车功能的实现,包括用户登录状态下和未登录状态下购物车的处理方式。文章详细描述了购物车的基本需求、流程分析、判断用户登录状态的拦截器实现、临时购物车和登录购物车的数据操作,以及添加商品到购物车的过程。此外,还提到了可能遇到的问题和解决方案,以及在Redis中存储商品信息的不同数据结构选择。最后,文章展示了未登录和登录状态下购物车的使用效果和Redis中数据的存储情况。
商城业务---购物车
|
4月前
|
数据采集 API 开发者
当当网商品列表数据采集丨当当网商品列表数据接口
当当网商品列表数据接口提供商品数据(名称、价格等),开发者需注册并申请权限。流程包括注册账号、填写申请表、等待审核。接口参数含搜索关键字、分类ID、价格区间、排序方式等。支持HTTP POST/GET请求。可用于市场调研、商品管理和营销策略制定,确保合法合规使用。体验API: c0b.cc/R4rbK2.
|
5月前
|
XML 监控 API
淘宝商品详情数据接口全攻略:如何高效获取与分析商品信息
【淘宝商品详情数据接口全攻略】:注册开发者账号,申请API权限,构建HTTP请求获取商品信息,包括基础属性、价格等。遵循规则,处理并分析数据,用于竞品分析、价格监控和用户行为洞察。利用接口高效获取数据,助力电商决策。#淘宝API #数据分析
|
5月前
|
API 开发者
淘宝商品详情接口如何实现竞品分析
使用淘宝商品详情接口,你可以获取到竞品的多项数据,包括商品的标题、价格、库存、销量、评价等。 特别注意竞品的详情页、评价、主图、SKU逻辑、入店词和成交词等关键信息,这些都是竞品分析的重要数据点。
|
5月前
|
前端开发 数据库
电商购物商城项目商品详情页设置
电商购物商城项目商品详情页设置
|
6月前
|
监控 供应链 API
为多渠道销售集成商品API接口的正式步骤指南
摘要: 在当今的零售环境中,企业通过多渠道销售策略来扩大市场覆盖范围并提高客户接触率。商品API接口的集成是实现这一目标的关键技术手段之一。本文旨在提供一套系统的步骤指南,帮助企业高效地为其多渠道销售体系集成商品API接口。
|
6月前
|
存储 数据采集 搜索推荐
淘宝商品详情接口在电商运营中的应用实例
某电商企业A在运营过程中,发现手动更新商品信息效率低下,且容易出现信息不一致的情况。为了解决这个问题,企业A决定采用淘宝商品详情接口,实现商品信息的自动获取和更新。
|
前端开发 JavaScript
23分布式电商项目 - 商品分类管理(列表实现)
23分布式电商项目 - 商品分类管理(列表实现)
109 0
|
JavaScript
28分布式电商项目 - 商品录入(富文本编辑器)
28分布式电商项目 - 商品录入(富文本编辑器)
82 0