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

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

一.项目基础介绍:

P1.项目介绍

架构图
商城模式B2C,自营商品客户。

P2.项目介绍

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

P3.分布式基础

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

P6.使用vagran快速安装Linux

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

P8.linux暗转docker

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

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

二.项目搭建

P14.项目构建

gitee搭建(希望大家适当支持国产,科技真的无国界?)
gitee配置
构建各个模块,复制一个pom建立父pom,聚合模块,添加总服务,设置忽略文件,idea安装gitee。
项目构建

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

在这里插入图片描述

P16.人人项目后台搭建

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

P17.代码生成器逆向工程

提取公共代码common中

P18.测试使用

(1).整合Mybatis-Plus
1).导入依赖
2).修改配置
①.配置数据源
A.导入数据库驱动
B.在application.yml文件中配置相关信息
yml配置
②.配置MyBAties-Plus
A.主启动类@MapperScan注解,告诉Mybaties-Plus映射文件位置。
注解

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多配置集

加载多配置集

P26.网关Getway配置

路由,断言,过滤器

P27.网关模块创建

客户端发请求给服务端。中间有网关。先交给映射器,如果能处理就交给handler处理,然后交给一系列filer,然后给指定的服务,再返回回来给客户端。
在这里插入图片描述

P28-35.ES6

P36-44 Vue

四.业务代码:三级分类

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

service获取三级分类调用方法查询结果

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

人人fast前端  界面添加位置
三个模板:方法模板,get、post请求模板
修改前端请求路径,改为网关请求地址
网关路由
前端请求路径修改

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

跨域:指浏览器不能执行其他网站的脚本。
同源策略:指协议,域名,端口都要相同,其中有一个不同就会产生跨域。
跨域流程
nginx解决跨域
配置哪些请求允许跨域
注解掉原有renrenFast跨域
配置允许跨域请求解决方案

P48.树形展示三级分类

product断音跨域
前端获取数据。

P49.删除效果

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

P50逻辑删除

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

P51删除效果细化

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

P52新增三级分类

前端添加框,表单提交

P53修改三级分类

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

P54-57.修改拖拽效果

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

P58.批量删除

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

五.业务代码:品牌管理

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

P60效果优化快速开关显示

自定义显示开关,和图片上传
自定义开关显示
开关前后端修改,修改方法。

P61云存储开通与使用

阿里云Oss
创建子用户,创建项目
签名上传文件

62.Oss整合测试

(1).pom
(2).阿里云查找编写上传文件流, 地址、账户、密码,也可以写在yml文件中
配置文件方法
两种上传方法

P63.Oss获取服务端签名

创建第三方服务模块,改
阿里云找到代码复制到controller
阿里云代码复制
controller编写返回签名

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

步骤:修改单文件上传和多文件删除上传地址
模块引用
模块使用
注意:签名使用
签名信息
同时设置阿里云允许跨域。

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

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

P66.后端数据校验

JSR303校验
(1).给Bean添加注解
(2).controller具体方法前加标注校验注解,@Valid
(3)j校验的controller方法内加BindingResult,就可以获取到校验结果
(4).分组校验(多场景复杂校验)
1).给实体类加注解
2).controller上该@Valid注解为@Validated({AddGroup.class})
3).默认没有指定分组的校验,在分组校验情况下不生效
在这里插入图片描述实体类校验

67.统一的异常处理类

集中异常处理类
异常处理细化
不用谢BingResult注解。
枚举定义异常状态码

P68.JSR303分组校验规则

controller指定校验组
实体类设置组名

P69.自定义校验

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

六.SPU&SKU属性管理

P70.spu&sku概念

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

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

三姐分类组件使用
子组件发送向父组件
父组件引用自己定义的方法

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

根据id或崎岖属性信息

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

级联新增

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

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

mybatiesplus分页插件
一个品牌对应多个分类,一个分类可以有多个品牌
关联设计
修改品牌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.规格修改

修改

P79.销售属性维护

枚举类型确定是销售属性还是基本属性
枚举确定,后期规则变化后方便修改

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

关联关系

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

关联属性

P82.新增分组与属性关联

七.代码模块:新增商品

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

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

P84获取分类包含的品牌

分类包含的品牌

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

规格参数获取

P86商品新增VO抽取

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

保存流程

P88保存SPU基本信息

P89保存SKU基本信息

P90远程调用保存优惠信息

P91商品保debug修改

P92保存其他问题处理

P93SPU检索

SPU检索

P94.SKU管理

SKU管理

八.代码部分:仓储服务

P95.仓储服务模块

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

P96.创建采购单

P97.合并采购单

采购单流程
获取采购单,先获取未领取的采购任务,将采购单合并后分配人员。

P98.领取采购单

P99.完成采购

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

P100.SPU规格维护

P101.分布式基础篇总结

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值