无题
1. 支付订单搞定之后就是支付了,首先搭建支付工程。
1.1. 搭建环境
pom.xml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav ...
无题
1. 购物车功能分析1.1. 功能需求 程序源码论坛-1024,网址 www.cx1314.cn 仅分享最流行最优质的IT资源!
不同于其他论坛平台,这里只有精品、稀有资源,已泛滥、已过时、垃圾资源不录入!
Java,前端,python,人工智能,大数据,云计算...持续更新资源-最新完整且均不加密、、、
活动线报,宅男福利,最新大片…
程序员的新大陆-更新最快的IT资源社区!开发者必备平台!
欢迎访问:www.cx1314.cn 百度搜索-> 程序源码论坛
需求描述:
用户可以在登录状态下将商品添加到购物车
用户可以在未登录状态下将商品添加到购物车
用户可以使用购物车一起结算下单
用户可以查询自己的购物车
用户可以在购物车中修改购买商品的数量。
用户可以在购物车中删除商品。
在购物车中展示商品优惠信息
提示购物车商品价格变化
提示购物车商品价格变化,数据结构,首先分析一下购物车的数据结构
1.2. 数据结构首先分析一下购物车的数据结构
因此每一个购物车信息,都是一个对象,基本字段包括:
1234567891011121 ...
无题
1. 搭建订单工程完成购物车页面之后,点击购物车页面的“去结算”按钮,跳转到订单结算页。
接下来,先搭建订单系统:
pom.xml:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch ...
无题
1. ELASTICSEARCH1、安装elastic search dokcer中安装elastic search
(1)下载ealastic search和kibana
12docker pull elasticsearch:7.6.2docker pull kibana:7.6.2
(2)配置
1234mkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataecho "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.ymlchmod -R 777 /mydata/elasticsearch/
(3)启动Elastic search
1234567docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \-e ES_JAVA_OPTS=& ...
无题
1. 用户管理提供数据接口搭建gmall-ums略。。。。
参照课前资料中的《前端商城接口文档.md》编写数据接口
1.1. 数据验证功能根据接口文档知:
请求方式:GET
请求路径:check/{param}/{type}
请求参数:param,type
返回结果:true或false
1.1.2. UserController123456789101112/** * 校验数据是否可用 * @param data * @param type * @return */@GetMapping("check/{data}/{type}")public ResponseVo<Boolean> checkData(@PathVariable("data") String data, @PathVariable("type") Integer type) { Boolean b = this.userSer ...
无题
1. 门户首页商品分类搜索做完之后,把目光移动首页,首页最重要的模块之一便是商品分类,商品分类也是进入商品列表,找到心仪商品的另一个主要途径
接下来就搭建一个module。这个页面作为整个商城的门户入口,访问量巨大,为了方便优化扩展,需要搭建独立的系统。
1.1. 创建首页Module创建gmall-index首页工程
application.yml配置如下:bootstrap.yml配置略。。。
1234567891011121314151617181920212223242526server: port: 18087spring: cloud: nacos: discovery: server-addr: localhost:8848 sentinel: transport: dashboard: localhost:8080 port: 8719 zipkin: base-url: http://localhost:9411/ sender: type: web dis ...
无题
1. 商品详情当用户搜索到商品,肯定会点击查看,就会进入商品详情页,接下来我们完成商品详情页的展示。
商品详情浏览量比较大,并发高,我们会独立开启一个微服务,用来展示商品详情。
1.1. 创建module
pom.xml依赖:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h ...
无题
1. RabbitMQ1.1. 现实问题目前我们已经完成了商品和搜索系统的开发。我们思考一下,是否存在问题?
商品的原始数据保存在数据库中,增删改查都在数据库中完成。
搜索服务数据来源是索引库,如果数据库商品发生变化,索引库数据不能及时更新。
如果我们在后台修改了商品的价格,搜索页面依然是旧的价格,这样显然不对。该如何解决?
这里有两种解决方案:
方案1:每当后台对商品做增删改操作,同时要修改索引库数据
方案2:搜索服务对外提供操作接口,后台在商品增删改后,调用接口
以上两种方式都有同一个严重问题:就是代码耦合,后台服务中需要嵌入搜索和商品页面服务,违背了微服务的独立原则。
所以,我们会通过另外一种方式来解决这个问题:消息队列
1.2. 消息队列(MQ)1.2.1. 什么是消息队列消息队列,即MQ,Message Queue。
消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。
结合前面所说的问题:
...
无题
1. 认识thymeleaf1.1. 模板技术把页面中的静态数据替换成从后台数据库中的数据。这种操作用jsp就可以实现。但是Spring boot 的架构不推荐使用Jsp,而且支持也不好,所以如果你是用springboot的话,一般使用Freemarker或者Thymeleaf。
官方推荐使用Thymeleaf。
1.2. 简介官方网站:https://www.thymeleaf.org/index.html
Thymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。
Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。
借助Spring Framework的模块,可以根据自己的喜好进行自由选择,可插拔功能组件,Thymeleaf是现代HTML5 JVM Web开发的理想选择 - 尽管它可以做的更多。
Springboot官方支持的服务端渲染模板中,并不包含jsp。而是Thymeleaf和Freemarker等,而Thymeleaf与Spri ...
无题
1. 导入商品数据1.1. 搭建搜索工程
pom.xml内容如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd&qu ...