谷粒商城项目总结(一)-基础篇

谷粒商城基础篇高级篇,跟着看,也敲了部分代码,但是感觉后续随着业务增加代码部分敲了也记不住,就想着应该重视解决问题的思路,理清思路比代码更重要,写这篇文章,是在看完后在从第一到高级篇,少部分集群篇总结一下思路。
参考文章:参考大哥文章

一.项目基础介绍:

P1.项目介绍

谷粒商城项目总结(一)-基础篇_第1张图片
商城模式B2C,自营商品客户。

P2.项目介绍

1.基础篇:管理员端并发量小业务
2.高级篇:客户端,高并发等复杂业务
3.集群篇:k8s部署

P3.分布式基础

介绍基础概念:
1.微服务
2.集群,分布式,节点
3.远程调用:HTTP+JSON
4.负载均衡:轮询,最小连接数,散列
5.服务注册/发现&注册中心,Client注册到server,Client从server发现
6.配置中心
7.服务熔断降级
8.API网关
P4.微服务架构图
P5.微服务划分图
谷粒商城项目总结(一)-基础篇_第2张图片

P6.使用vagran快速安装Linux

P7.虚拟网络设置,保证Ping通,也可以购买服务器

P8.linux暗转docker

P9.环境配置docker阿里云镜像下载,保证下载速度

P10-13,docker安装mysql,redis;idea的maven,jdk1.8,lombok等,安装git环境。

二.项目搭建

P14.项目构建

gitee搭建(希望大家适当支持国产,科技真的无国界?)
谷粒商城项目总结(一)-基础篇_第3张图片
构建各个模块,复制一个pom建立父pom,聚合模块,添加总服务,设置忽略文件,idea安装gitee。
谷粒商城项目总结(一)-基础篇_第4张图片

P15.renren项目,逆向工程,生成代码,数据库生成

谷粒商城项目总结(一)-基础篇_第5张图片

P16.人人项目后台搭建

包db文件,生成数据库。
后台搭建,纳入项目管理,改配置。
前端vscode,配置前端

P17.代码生成器逆向工程

提取公共代码common中

P18.测试使用

(1).整合Mybatis-Plus
1).导入依赖
2).修改配置
①.配置数据源
A.导入数据库驱动
B.在application.yml文件中配置相关信息
谷粒商城项目总结(一)-基础篇_第6张图片
②.配置MyBAties-Plus
A.主启动类@MapperScan注解,告诉Mybaties-Plus映射文件位置。
谷粒商城项目总结(一)-基础篇_第7张图片

P19.生成全部代码

三.SpringCloud Alibaba

P20、SpringCloud Alibaba简介

Nacos 注册中心
Nacos 配置中心
Ribbon 负载均衡
Feign 远程调用
Sentinel 服务容错(限流、降级、熔断)
Gateway API网关
Sleuth 链路监控
Seata 分布式事务解决方案

P21.Nacos

Server 下载,启动
Client:pom,yml(server地址,服务名称),主启动类@EnableDiscoveryClient,启动

P22.OpenFeign远程调用

引pom,调用者建feign包,开启主启动@EnableFeignClients(baesPackage=“feign包名”),远程调用@FeignClient(“接口名称”)

P23.Nacos配置中心

(1).引pom
(2).新建bootstrap.yml,注册中心配置:spring.cloud.nacos.config.server-addr=;spring.application.name=
(3).nacos上进行配置
(4).动态获取配置
@RefreshScope
@Value("${名称路径}")

P24Nacos配置中更新进阶

(1)…命名空间:每个微服务之间相互隔离配置,每个微服务都创建自己的命名空间,只加载自己命名空间下的配置
(2).配置集,所有配置的集合
(3)配置集ID:类似文件名
(4)配置分组:
总结:每个微服务创建自己的命名空间,使用配置分组区分环境。

P25多配置集

谷粒商城项目总结(一)-基础篇_第8张图片

P26.网关Getway配置

路由,断言,过滤器

P27.网关模块创建

客户端发请求给服务端。中间有网关。先交给映射器,如果能处理就交给handler处理,然后交给一系列filer,然后给指定的服务,再返回回来给客户端。
谷粒商城项目总结(一)-基础篇_第9张图片

P28-35.ES6

P36-44 Vue

四.业务代码:三级分类

P45.递归树形结构数据获取

谷粒商城项目总结(一)-基础篇_第10张图片谷粒商城项目总结(一)-基础篇_第11张图片

P46配置网关路由及路径重写

谷粒商城项目总结(一)-基础篇_第12张图片
三个模板:方法模板,get、post请求模板
修改前端请求路径,改为网关请求地址
谷粒商城项目总结(一)-基础篇_第13张图片
谷粒商城项目总结(一)-基础篇_第14张图片

P47.网关统一配置跨域问题

跨域:指浏览器不能执行其他网站的脚本。
同源策略:指协议,域名,端口都要相同,其中有一个不同就会产生跨域。
谷粒商城项目总结(一)-基础篇_第15张图片
谷粒商城项目总结(一)-基础篇_第16张图片
谷粒商城项目总结(一)-基础篇_第17张图片
注解掉原有renrenFast跨域
谷粒商城项目总结(一)-基础篇_第18张图片

P48.树形展示三级分类

谷粒商城项目总结(一)-基础篇_第19张图片
前端获取数据。

P49.删除效果

前端:节点没有子节点才允许删除,三级分类允许添加子节点

P50逻辑删除

(1).配置全局逻辑删除(可省略)
(2).配置逻辑删除组件Bean(可省略)
(3).给Bean上加逻辑删除注解@TableLogic
逻辑删除数据项

P51删除效果细化

删除确认框,刷新新菜单后默认展开的菜单

P52新增三级分类

前端添加框,表单提交

P53修改三级分类

发送请求获取修改数据。
确定是修改框还是添加框,可以增加额外变量确定。

P54-57.修改拖拽效果

个人感觉没用就不看第二遍了

P58.批量删除

前端获取选中节点,获取id,后端假删除

五.业务代码:品牌管理

P59.品牌管理你像生成前后端

P60效果优化快速开关显示

自定义显示开关,和图片上传
谷粒商城项目总结(一)-基础篇_第20张图片
开关前后端修改,修改方法。

P61云存储开通与使用

阿里云Oss
创建子用户,创建项目
谷粒商城项目总结(一)-基础篇_第21张图片

62.Oss整合测试

(1).pom
(2).阿里云查找编写上传文件流, 地址、账户、密码,也可以写在yml文件中
谷粒商城项目总结(一)-基础篇_第22张图片
谷粒商城项目总结(一)-基础篇_第23张图片

P63.Oss获取服务端签名

创建第三方服务模块,改
阿里云找到代码复制到controller
谷粒商城项目总结(一)-基础篇_第24张图片
谷粒商城项目总结(一)-基础篇_第25张图片

64.阿里云Oss测试前后端文件上传

步骤:谷粒商城项目总结(一)-基础篇_第26张图片
谷粒商城项目总结(一)-基础篇_第27张图片
谷粒商城项目总结(一)-基础篇_第28张图片
注意:签名使用
谷粒商城项目总结(一)-基础篇_第29张图片
同时设置阿里云允许跨域。

P65表单校验&自定义校验器

修改列表自定义列获取图片。
前端表单校验器

P66.后端数据校验

JSR303校验
(1).给Bean添加注解
(2).controller具体方法前加标注校验注解,@Valid
(3)j校验的controller方法内加BindingResult,就可以获取到校验结果
(4).分组校验(多场景复杂校验)
1).给实体类加注解
2).controller上该@Valid注解为@Validated({AddGroup.class})
3).默认没有指定分组的校验,在分组校验情况下不生效
谷粒商城项目总结(一)-基础篇_第30张图片谷粒商城项目总结(一)-基础篇_第31张图片

67.统一的异常处理类

谷粒商城项目总结(一)-基础篇_第32张图片
谷粒商城项目总结(一)-基础篇_第33张图片
不用谢BingResult注解。
谷粒商城项目总结(一)-基础篇_第34张图片

P68.JSR303分组校验规则

谷粒商城项目总结(一)-基础篇_第35张图片
谷粒商城项目总结(一)-基础篇_第36张图片

P69.自定义校验

(1).编写一个自定义校验注解
(2).编写一个自定义校验器
(3).关联自定义的家欧安器和自定义校验注解

六.SPU&SKU属性管理

P70.spu&sku概念

spu:标准化产品单元,商品信息聚合最小单位,一组可服用、医检所的表转化信息集合,该集合描述了一个产品的特征。个产品共享的属性。
SKU:库存量单位。库存进出计量的基本单元,可以以件、盒等为单位,现已引申为产品统一编号的简称,每个商品均对应一个sku。
基本属性【规格参数】与销售属性:每个分类下的商品共享规格参数,只是有些商品不一定要用这个分类下的全部商品。
谷粒商城项目总结(一)-基础篇_第37张图片
谷粒商城项目总结(一)-基础篇_第38张图片

P71.前端组件抽取,父子组件交互

谷粒商城项目总结(一)-基础篇_第39张图片
谷粒商城项目总结(一)-基础篇_第40张图片
谷粒商城项目总结(一)-基础篇_第41张图片

P72.获取属性分类属性分组

谷粒商城项目总结(一)-基础篇_第42张图片

P73.分组新增&级联选择器

谷粒商城项目总结(一)-基础篇_第43张图片

P74.分组修改,级联选择器修改

P75.品牌分类关联以及级联更新

谷粒商城项目总结(一)-基础篇_第44张图片
一个品牌对应多个分类,一个分类可以有多个品牌
谷粒商城项目总结(一)-基础篇_第45张图片
修改品牌name时注意其他关联name的修改关系,级联更新。

P76规格参数新增与Vo

1.PO持久对象:Po就是对数据库中某个表中的一条记录,多个记录可以是用Po集合,po不包含对数据库的操作
2.DO领域对象:从现实世界中抽取出来的邮箱或无形的业务实体。
3.TO数据传输对象:不同应用程序之间传输的对象。
4.DTO数传输对象:泛指用于展示层与业务之间的传输对象
5.VO值对象:用于业务层之间的数据传递,但是应该是抽象出的业务对象,可与表对应也可以不用,根据业务取药。
视图对象,接收页面传来的数据,也可封装为完成业务逻辑,界面所需要的数据。
6.BO业务对象:把业务逻辑封装为一个对象。
7.POJO剪短无规则java对象:传统意义的java对象。
8.DAO数据访问对象:持久化层提供接口,用于访问数据库。

属性新增后,对应的关联品牌和属性关系表也要新增。

P77.规格参数列表

P78.规格修改

谷粒商城项目总结(一)-基础篇_第46张图片

P79.销售属性维护

枚举类型确定是销售属性还是基本属性
谷粒商城项目总结(一)-基础篇_第47张图片

P80查询分组关联关系,以及删除

谷粒商城项目总结(一)-基础篇_第48张图片

P81.查询未关联属性进行关联

谷粒商城项目总结(一)-基础篇_第49张图片

P82.新增分组与属性关联

七.代码模块:新增商品

P83新增商品-测试会员等级接口

getway设置会员路由,设置会员等级接口

P84获取分类包含的品牌

谷粒商城项目总结(一)-基础篇_第50张图片

P85分类下的所有分组及属性

谷粒商城项目总结(一)-基础篇_第51张图片

P86商品新增VO抽取

P87新增商品业务业务流程分析

谷粒商城项目总结(一)-基础篇_第52张图片

P88保存SPU基本信息

P89保存SKU基本信息

P90远程调用保存优惠信息

P91商品保debug修改

P92保存其他问题处理

P93SPU检索

谷粒商城项目总结(一)-基础篇_第53张图片

P94.SKU管理

谷粒商城项目总结(一)-基础篇_第54张图片

八.代码部分:仓储服务

P95.仓储服务模块

ware模块加入到注册中心
getway加入网关
加入模糊查询

P96.创建采购单

P97.合并采购单

谷粒商城项目总结(一)-基础篇_第55张图片
获取采购单,先获取未领取的采购任务,将采购单合并后分配人员。

P98.领取采购单

P99.完成采购

修改采购状态并添加库存(有加无新建)

P100.SPU规格维护

P101.分布式基础篇总结

谷粒商城项目总结(一)-基础篇_第56张图片

你可能感兴趣的:(谷粒商城,spring,cloud,java,架构)