【36-业务开发-基础业务-商品服务SPU-前后端处理商品数据Json-发布商品前后端业务逻辑-feign服务远程调用-DTO数据传输对象-商品服务的检索-商品管理的检索项目中修改更正完善逻辑操作】

一.知识回顾

【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】
【1-系统架构演进过程】
【2-微服务系统架构需求】
【3-高性能、高并发、高可用的三高商城系统项目介绍】
【4-Linux云服务器上安装Docker】
【5-Docker安装部署MySQL和Redis服务】
【6-Git安装与配置过程、Gitee码云上创建项目、IDEA关联克隆的项目】
【7-创建商城系统的子模块并将修改后的信息使用Git提交到Gitee上】
【8-数据库表结构的创建&后台管理系统的搭建】
【9-前端项目的搭建部署、Node安装、VSCode安装】
【10-Node的安装以及全局环境变量的相关配置&解决启动报错的问题(1.Error: Cannot find module ‘fs/promises)(2.npm安装node-sass报错)】
【11-导入人人generator项目并自动生成相关的文件&商品子模块的调试&公共模块common子模块的抽离与实现&Lombok插件的安装】
【12-商品子模块整合MyBatisPlus技术&其它模块通过generator的自动生成与补充完善】
【13-项目中微服务组件的学习-SpringCloudAlibaba微服务生态体系的学习&SpringCloudAlibaba的依赖管理&项目中SpringBoot和SpringCloud版本的统一】
【14-微服务的注册中心与配置中心Nacos&Windows操作系统上安装Nacos和Linux操作系统上用Docker中安装Nacos&每个子项目模块使用Nacos进行服务注册与发现】
【15-项目中服务的远程调用之OpenFeign&订单模块与商品模块集成使用OpenFeign的案例】
【16-配置中心之Nacos的基本使用&Nacos服务之命令空间、Nacos服务之配置组、Nacos服务之配置拆分】
【17-微服务网关之Spring Cloud Gateway&Spring Cloud Gateway网关服务搭建】
【18-业务开发-基础业务-商品模块-分类管理-前后端管理系统的启动-为分类管理表增加数据-Json插件的下载-返回具有层级目录、父子关系结构的数据】
【19-业务开发-基础业务-商品模块-分类管理-管理系统新建菜单-后端项目renren注册到Nacos注册中心和配置中心去-项目gateway网关模块的搭建-浏览器的同源策略与解决跨域问题实操案例】
【20-业务开发-基础业务-商品模块-分类管理-前端展示后端具有层级关系的目录数据-商品系统三级分类的逻辑删除前后端代码实现】
【21-业务开发-基础业务-商品模块-分类管理-商品系统三级分类的新增类别前后端代码实现-商品系统三级分类的更新类别前后端代码实现-之前错误的Bug修正】
【22-业务开发-基础业务-商品模块-分类管理-商品系统三级分类拖拽页面的功能-前后端代码的逻辑实现-访问测试-拖拽开关的开启和关系-批量更新拖拽数据-批量删除选定数据】
【23-业务开发-基础业务-品牌管理-品牌管理项目搭建-品牌管理实现的增删改查操作测试-后端数据显示状态使用前端组件开关按钮展示-以及数据处理以及测试】
【24-业务开发-基础业务-品牌管理-图片管理-阿里云OSS服务开通和使用-阿里云OSS服务API使用-SpringCloudAlibaba OSS服务的使用】
【25-业务开发-基础业务-品牌管理-图片管理-图片上传方式的三种实现方式-第三方公共服务模块集成到项目中-服务端生成签名实战】
【26-业务开发-基础业务-品牌管理-图片管理-上传图片功能实现-基于阿里云OSS服务-解决跨域问题-设置跨域规则-修改ACL权限为公共读】
【27-业务开发-基础业务-品牌管理-图片管理-添加修改品牌信息并显示图片-前端数据校验-后端数据JSR303校验实现-统一异常处理-自定义响应编码规则-分组校验-自定义校验注解-项目Bug解决】
【28-业务开发-基础业务-属性管理-SKU和SPU基本概念-SKU和SPU关联关系-属性实体之间的关联关系-批量菜单创建】
【29-业务开发-基础业务-属性管理-属性组业务逻辑开发-页面布局-三级分类组件功能-属性组表单-父子组件传值-属性组数据展示-属性组数据添加-属性组数据修改-前后端项目整合交互测试】
【30-业务开发-基础业务-品牌管理-分类维护-解决分类维护业务开发中的一个Bug-品牌管理-分页插件-分页功能的逻辑实现-品牌管理-检索条件模糊查询品牌管理-增加更新操作中排序字段检验还是存在问题】
【31-业务开发-基础业务-品牌管理-级联类别信息业务功能实现-品牌管理和商品分类管理俩者业务关联出现数据冗余,导致数据不同步的问题-开启事务-项目测试】
【32-业务开发-基础业务-规格参数-保存数据-查询数据-更新操作之数据回显展示-更新操作-前后端项目交互整合与测试-总结收获】
【33-业务开发-基础业务-规格参数-销售属性-多表之间的关联增删改查操作-前后端项目交互整合与测试-Cannot read property ‘publish‘ of undefined】
【34-业务开发-基础业务-属性组和基本属性-属性组和基本属性建立关联-属性组和基本属性解除关联-未关联属性查询-确认新增】
【35-业务开发-基础业务-商品服务-新增商品-会员模块服务-mall-member-会员模块数据维护-规格参数维护-前端项目Bug解决-PubSub依赖缺失】

二.商品服务SPU-前后端处理商品数据信息的实体类定义

2.1 前端控制台上输出后端要接受的Json数据

在这里插入图片描述

2.2 将前端输出的Json信息在在线JSON格式化工具上显示

在线JSON格式化工具
在这里插入图片描述

2.3 后端为了能够响应前端数据,需要与前端数据相关的实体类及其属性对应,直接利用JSON工具在线生成

在这里插入图片描述

2.4 将所有生成的实体类拷贝到我们的VO包下,删除Getter/Setter方法,加上@Data注解

在这里插入图片描述

三.商品服务SPU-发布商品前后端业务逻辑处理

3.1 发布商品前端请求逻辑

这个地方只看核心发送请求的代码,更多的前端代码更多此处就不展示了。
商品保存操作,前端发送保存的请求接口。
在这里插入图片描述

3.2 发布商品后端处理流程梳理1

SpuInfoController控制器处理前端发送来保存商品数据的请求
在这里插入图片描述
SpuInfoService定义的接口方法
在这里插入图片描述
SpuInfoServiceImpl定义具体的实现逻辑逻辑:保存商品的发布信息(主要过程步骤如下,具体的实现代码过多就展示了:)

  1. 保存spu的基本信息
  2. 保存spu的详情信息
  3. 保存图集信息
  4. 保存规格参数
  5. 保存当前的spu对应的所有的sku信息(mall-product模块需要RPC调用mall-coupon模块中相关的接口方法)
  6. 保存spu的积分信息

3.3 发布商品后端处理逻辑2-feign服务远程调用

3.3.1 业务开发中feign服务远程调用框架思路

在这里插入图片描述

3.3.2 mall-coupon模块提供相关接口

提供接口1:
在这里插入图片描述

提供接口2:
在这里插入图片描述

3.3.3 mall-product模块处理相关逻辑

pom.xml文件中引入依赖loadbalancer依赖,openfeign依赖我们之前引入过,此处不做过多强调
在这里插入图片描述

mall-product模块下新建立feign包,定义处理远程调用模块的CouponFeginService接口
在这里插入图片描述
主启动类上配置扫描注解:

在这里插入图片描述

3.4 发布商品后端处理逻辑3-DTO对象

3.4.1 DTO对象的基本概念

DTO:Data transfer Object 数据传输对象 “DTO就是数据传输对象(Data Transfer Object)的缩写。 DTO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。 DTO类似信使,是同步系统中的Message。 该JavaBeans可以是一个数据模型Model。

3.4.2 定义发布商品中需要的DTO对象

在mall-commons模块下,新建一个dto包,包下创建多个dto文件
在这里插入图片描述

3.4.3 mall-commons模块下自定义的R实体工具类方法完善

在这里插入图片描述

3.4 重启项目,访问测试

添加商品成功
在这里插入图片描述

查看数据库表中的信息都更新成功!有多个表,此此处只是列举一个![](https://img-blog.csdnimg.cn/8cc33d1cf97b4ed2918d4d416c74e2fa.png)

四.商品服务的检索

商品服务分页功能的基础上补充提供不同条件的检索,分类,品牌,状态,关键字检索。

4.1 前端发送请求的逻辑接口

在这里插入图片描述

4.2 后端处理接口的逻辑

SpuInfoController商品信息控装器处理流程,原有的分页操作上加上多条件的模糊匹配、等值匹配
在这里插入图片描述
SpuInfoService定义相关的接口方法
在这里插入图片描述
SpuInfoServiceImpl具体实现类的逻辑上加上多条件的判断,判断前端传送的所有检索字段是否都是null,如果是null,直接返回,跳过,否则,加上相关的检索逻辑操作。

在这里插入图片描述

4.3 启动项目,测试多条件检索

在这里插入图片描述

在这里插入图片描述

五.商品管理的检索

商品管理分页功能的基础上补充提供不同条件的检索,分类,品牌,状态,关键字检索。

5.1 前端发送请求的逻辑接口

在这里插入图片描述

5.2 后端处理接口的逻辑

SkuInfoController控制器中处理流程,原有的分页操作上加上多条件的模糊匹配、等值匹配
在这里插入图片描述
SkuInfoService定义相关接口
在这里插入图片描述

SkuInfoServiceImpl具体实现类中在原来的基础上+实现信息检索的逻辑方法
在这里插入图片描述

5.3 启动项目,测试多条件检索

在这里插入图片描述

在这里插入图片描述

六.项目中修改更正完善逻辑操作

6.1 修改数据库表注释信息

在这里插入图片描述

6.2 项目中格式化显示数据的问题

解决页面显示数据的问题,比如类别和品牌显示的编号,创建时间和更新时间显示格式问题。

在这里插入图片描述

重启服务并测试访问

在这里插入图片描述

上面的是设置全局的格式化方式,如果我也特殊设置,这时我们可以在对应的entity对象的属性上通过@JsonFormat 来指定,此处指定的会覆盖掉全局的设置。

在这里插入图片描述

重启服务并测试访问

image.png

6.3 将前端显示的分类和品牌id换成对应的名字

修改之前的显示
在这里插入图片描述

后端逻辑

image.png
前端修改显示属性
在这里插入图片描述

访问测试效果

在这里插入图片描述

好了,关于【36-业务开发-基础业务-商品服务SPU-前后端处理商品数据Json-发布商品前后端业务逻辑-feign服务远程调用-DTO数据传输对象-商品服务的检索-商品管理的检索项目中修改更正完善逻辑操作】就先学习到这里,更多的内容持续创作学习中,敬请期待。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值