自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(787)
  • 资源 (1)
  • 收藏
  • 关注

原创 尚品汇-秒杀列表、详情、倒计时、获取下单码(五十二)

立即购买,该按钮我们要加以控制,该按钮就是一个链接,页面只是控制能不能点击,一般用户可以绕过去,直接点击秒杀下单,所以我们要加以控制,在秒杀没有开始前,不能进入秒杀页面。

2024-09-17 11:51:14 770

原创 尚品汇-秒杀商品存入缓存、Redis发布订阅实现状态位(五十一)

/”代表触发步进(step),”/”前面的值代表初始值(““等同”0”),后面的值代表偏移量,比如”0/20”或者”/20”代表从0秒钟开始,每隔20秒钟触发1次,即0秒触发1次,20秒触发1次,40秒触发1次;”5/20”代表5秒触发1次,25秒触发1次,45秒触发1次;{星期} ==> 允许值范围: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六(一星期的最后一天),不允许为空值,若值不合法,调度器将抛出SchedulerException异常。

2024-09-16 13:36:57 872

原创 尚品汇-订单拆单、支付宝关闭交易、关闭过期订单整合(五十)

远程接口。

2024-09-14 21:32:01 619

原创 尚品汇-支付宝退款、支付成功库存系统对接实现(四十九)

而你之前的ex.getStackTrace()是没有这种能力的,有时,我们从底层抛出的异常需要被上层统一收集,而又不想在底层new出一大堆业务相关的异常实例,这时使用@SneakyThrows可以简化我们的代码。消息确认参数:参数一:消息的唯一标识,参数二:是否批量确认 false 确认一个消息,true 批量确认。查看看《库存管理系统接口手册》中【减库存的消息队列消费端接口】中的描述,组织相应的消息数据进行传递。,因为他们是不同的微服务模块,所以我们采用消息队列的方式,保证数据最终一致性;

2024-09-10 22:32:40 531

原创 尚品汇-支付宝支付同步异步回调(幂等性处理)实现(四十八)

这里更上面返回的不一样,返回sucess,支付宝就不会再发送了,如果返回faild支付宝会间隔一段的时间持续发送,返回啥都一样功能都能够实现。支付宝异步回调,需要我们的应用在公网上,怎么办呢?可以使用一个软件把我们的应用跟公网绑定,相当于我们的应用就在公网了。static修饰,不能通过Vuale注解获取配置文件的值,可以通过下面的方法进行获取值。新版本的支付接口已经取消了同步回调的支付结果传递。双击启动:就实现了我们的应用进行了公网地址的绑定。幂等性:多次操作跟一次操作是一样的。确认并记录用户已付款。

2024-09-08 18:02:03 471

原创 尚品汇-支付宝下单接口显示二维码实现(四十七)

25 小时以内完成 8 次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h)如果同步通知的过程中;第二是携带支付状态的get参数;让自己的网站用于验证;支付宝的服务器会在一段时间内持续的往自己的服务器发送。这是一个对安全和稳定要求比较严格的场景;还需要异步通知主要是为了防止出现意外情况;第一是从支付宝的页面上返回自己的网站继续后续操作;如果自己的服务器没有正确返回接受到通知的状态;支付宝有了同步通知为什么还需要异步通知?回调时间,初始为空,支付宝异步回调时记录。

2024-09-07 20:48:52 566

原创 尚品汇-支付宝介绍、跳转支付订单页面实现(四十六)

支付宝简介支付宝(中国)网络技术有限公司[1]是国内的第三方支付平台,致力于提供简单、安全、快速的支付解决方案[2]。支付宝公司从2004年建立开始,始终以信任作为产品和服务的核心。旗下有支付宝与支付宝钱包两个独立品牌。自2014年第二季度开始成为当前全球最大的移动支付厂商。当用户提交订单会跳转到选择支付渠道页面!orderId=43当用户点击立即支付时生成支付的二维码使用支付宝app 进行扫码支付搭建service-payment。

2024-09-07 12:10:18 857

原创 尚品汇-延迟插件实现订单超时取消(四十五)

传的是订单id,这里orderId会接受到,赋值给他,message不是接受到的消息。在消费者这里进行实现,消费者不管发送者发送多少条消息,只消费一次。修改retrySendMsg方法 – 添加判断是否属于延迟消息。在消息的重试发送消息的方法里封装:retrySendMsg。在发送一次消息:Redis有了就不会消费了。service-order模块配置队列。利用封装好的工具类 测试发送延迟消息。结果会 回发送三次,也被消费三次!幂等性:执行多次,结果都是一样的。创建订单时,发送延迟消息。

2024-09-05 21:39:43 464

原创 尚品汇-商品上下架完善(更新ES)、延迟消息(四十四)

超过了这个时间,我们认为这个消息就死了,称之为死信。只是在某一个设置Dead Letter Exchange的队列中有消息过期了,会自动触发消息的转发,发送到Dead Letter Exchange中去。我们创建一个队列queue.temp,在Arguments 中添加x-message-ttl 为5000 (单位是毫秒),那所在压在这个队列的消息在5秒后会消失。使用RabbitMQ来实现延迟消息必须先了解RabbitMQ的两个概念:消息的TTL和死信Exchange,通过这两者的组合来实现延迟队列。

2024-09-03 20:48:06 1087

原创 尚品汇-MQ模块搭建测试、消息不丢失(重)(四十三)

为了防止消息不丢失 ,从以下三方面考虑:1,生产者不丢数据2,MQ服务器不丢数据3,消费者不丢数据生产者:MQ服务器:RabbitMQ重启之后消息不丢失消息队列丢数据的情况,一般是开启持久化磁盘的配置。这个持久化配置可以和confirm机制配合使用,你可以在消息持久化磁盘后,再给生产者发送一个Ack信号开启确认回调(成功到达交换机发送ack标识,没有达到重发)、失败回调(设置重发机制)为了防止消费者处理消息丢失,我们开启消费者消息消费确认回调,消息被成功处理之后才告知rabbitmq以。

2024-09-01 14:14:07 1147

原创 尚品汇-项目目前存在问题、引入MQ(四十二)

目录:(1)目前存在的问题(2)消息队列解决什么问题(3)消息队列工具 RabbitMQ(4)搭建mq测试环境service-mq下面我们先做的是前面后台管理系统商品上下架的没完成的功能,解耦操作,我们前面只做了添加上下架商品只是,写了往ES中添加数据的接口,并没有跟后台管理连接起来,下面完成链接,就用到MQ。

2024-09-01 10:35:30 785

原创 尚品汇-我的订单接口实现(四十一)

目录:(1)我的订单(2)web-all 中添加控制器(3)订单接口。

2024-08-31 12:00:38 225

原创 尚品汇-引入库存系统、校验库存、异步编排优化下单(四十一)

在进入结算页面时,生成一个结算流水号,然后保存到结算页面的隐藏元素中,每次用户提交都检查该流水号与页面提交的是否相符,订单保存以后把后台的流水号删除掉。我们做的不是B2B2C的项目,不会存在多家商家,这里只是我们自己的项目,可能只是仓库不在同一位置。一般电商系统的商品库存,都不由电商系统本身来管理,由另外一套仓库管理系统,或者进销存系统来管理,电商系统通过第三方接口调用该系统。修改一下plus的版本,我们父工程用的高版本,高版本不兼容低版本,这里用的低版本的方法, 不修改启动会保存。获取前台页面的流水号。

2024-08-29 22:21:00 1173

原创 尚品汇-订单接口实现(四十)

所以我们可以定义一个拦截器,每次微服务调用之前都先检查下头文件,将请求的头文件中的。在service-order-client暴露接口。搭建过程同service-cart-client。再放入到header中,再调用其他微服务即可。在web-all中添加控制器。实体类:OrderInfo。如上图:因为微服务之间。

2024-08-27 21:16:18 557

原创 尚品汇-结算页数据接口封装实现(三十九)

订单业务在整个电商平台中处于核心位置,也是比较复杂的一块业务。是把“物”变为“钱”的一个中转站。结算下单对接支付服务对接库存管理系统。

2024-08-25 11:06:11 820

原创 尚品汇-选中状态缓存变更、删除缓存购物车(三十八)

目录:(1)选中状态的变更 用户每次勾选购物车的多选框,都要把当前状态保存起来。由于可能会涉及更频繁的操作,所以这个勾选状态不必存储到数据库中。保留在缓存状态即可。编写业务接口:CartService:实现类 继续编写控制器CartApiController:刷新页面,会存到缓存,装态实现保留 取消选中第三条: 封装业务接口CartService实现类继续编写控制器CartApiController 删除2个没选中的:Redis只剩下一条选中的 显示跳转加入购物车的

2024-08-24 11:18:15 515

原创 尚品汇-购物车列表、临时用户购物车与登录用户购物车合并实现(三十七)

更改实现类:CartServiceImpl:cartList的实现。添加跳转到购物车详情页面的controller。控制器:CartApiController。在购物车页面点击登录:或者结算时会跳转登录。数据进行了合并,临时id数据页进行了清楚。实现类:CartServiceImpl。购物车列表接口:CartService。在nacos的配置网关中添加。

2024-08-23 22:00:59 479

原创 尚品汇-添加购物车实现(三十六)

购物车模块要能够存储顾客所选的的商品,记录下所选商品,还要能随时更新,当用户决定购买时,用户可以选择决定购买的商品进入结算页面。利用缓存提高性能。未登录状态也可以存入购物车,一旦用户登录要进行合并操作。

2024-08-23 20:09:37 1092

原创 尚品汇-网关过滤用户请求、登录流程(三十五)

登录时我们返回用户token,在服务网关中获取到token后,我在到redis中去查看用户id,如果用户id存在,则token合法,否则不合法,同时校验ip,防止token被盗用。网关中的过滤器:如果有多个过滤器可以实现Order,执行过滤器的执行顺序,谁的越小谁就先执行。配置类:因为这个模块没有扫描service-util。server-gateway 项目中添加一个过滤器。输入信息out 方法。

2024-08-20 21:32:34 842

原创 尚品汇-登录、退出实现(三十四)

目录:流程分析。

2024-08-18 11:09:14 326

原创 尚品汇-前端面包屑平台属性、排序处理(三十三)

早期单一服务器,用户认证。缺点:单点性能压力,无法扩展分布式,SSO(single sign on)模式解决 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略跨域不是问题缺点:认证服务器访问压力较大。业务流程图{用户访问业务时,必须登录的流程}{单点登录的过程}

2024-08-17 17:45:45 603

原创 尚品汇-前端调用搜索实现(三十二)

目录:(1)修改web-all模块(2)配置网关(3)页面渲染。

2024-08-17 11:16:42 626

原创 尚品汇-ES数据搜索实现-Logstash整合日志(三十一)

Logstash在项目中用于日志文件的收集,收集完只收存到es。其次,将日志配置文件放入到 目录下!首先在service模块中添加依赖。封装查询DSL语句正确打印。启动service-list。

2024-08-11 18:15:02 426

原创 尚品汇-ES中DSL查询案例、整合(三十)

目录:(1)利用es开发电商的搜索列表功能(2) DSL查询案例(3)案例全部整合。

2024-08-11 11:33:49 815

原创 尚品汇-商品热度实现利用Redis更新ES字段(二十九)

目录:(1)商品热度排名(2)在service-list-client封装远程接口(3)在service-item模块调用接口。

2024-08-10 11:20:04 524

原创 尚品汇-商品上下架添加数据到ES库(二十八)

目录:(1)商品上架,下架(2)在service-product-client添加接口(3)实现商品上架,下架功能(ES库中添加数据)

2024-08-10 10:16:33 642

原创 尚品汇-创建ES索引库(二十七)

根据用户输入的检索条件,查询出对应的商品检索两个入口首页的分类:搜索栏:检索列表展示页面。

2024-08-06 22:41:44 1095

原创 尚品汇-首页三级分类实现-nginx静态代理生成的静态页面(二十六)

商品分类保存在base_category1、base_category2和base_category3表中,由于需要静态化页面,我们需要一次性加载所有数据,前面我们使用了一个。就可以通过nginx实现代理访问静态资源 ,使用nginx他抗并发的能力非常强。三级分类视图: 一级,二级分类有重复的,三级分类没有重复的。模块,我们在该模块封装数据,数据结构为父子层级。使用分组去重,但是分组后,就不好获取其他数据了。页面生成了不能直接访问,他需要css,js..三级分类:没有重复的不需要分组。

2024-08-04 21:38:28 882 1

原创 尚品汇-CompletableFuture异步编排-优化商品详情页(二十五)

目录:(1)创建异步对象(2)计算完成时回调方法(3)线程串行化与并行化方法(4)多任务组合(5)优化商品详情页。

2024-07-31 23:43:59 785

原创 尚品汇-布隆过滤器解决缓存穿透问题(二十四)

Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,你也可以使用cancel方法停止任务的执行。,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。

2024-07-30 20:26:59 475

原创 尚品汇-sku存入Redis缓存(二十三)

定义一个注解后面两个注解可加可不加/*** 缓存key的前缀* @return*/定义一个切面类加上注解/*** 处理环绕通知*/@Component@Aspect@Autowired@Autowired// 切GmallCache注解// 声明一个对象// 在环绕通知中处理业务逻辑 {实现分布式锁}// 获取到注解,注解使用在方法上!// 获取到注解上的前缀// sku// 方法传入的参数。

2024-07-24 23:05:34 419

原创 尚品汇-redisson 解决分布式锁、可重入锁、读写锁(二十二)

目录:(1)使用redisson 解决分布式锁(2)可重入锁(Reentrant Lock)

2024-07-20 18:32:35 595

原创 尚品汇-redis实现分布式锁、优化之设置锁的过期时间、优化之UUID防误删、优化之LUA脚本保证删除的原子性(二十一)

1加锁// 1. 从redis中获取锁,set k1 v1 px 20000 nx2.使用lua释放锁// 2. 释放锁 del// 设置lua脚本返回的数据类型// 设置lua脚本返回类型为Long3.重试testLock();为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:- 互斥性。在任意时刻,只有一个客户端能持有锁。- 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。- 解铃还须系铃人。

2024-07-18 23:34:38 375

原创 尚品汇-商品详情页面优化、分布式锁(二十)

目录:一:商品详情页面优化(1)思路(2)整合redis到工程(3)使用redis进行业务开发相关规则(4)缓存常见问题二:分布式锁本地锁的局限性(1)并发请求Redis的问题(2)本地锁 解决(3)集群下,并发访问Reids(4)分布式锁实现的解决方案。

2024-07-17 23:02:08 763

原创 尚品汇-(十九)

目录:一:搭建service-client父模块(1)搭建service-product-client(2)service-item模块汇总数据(3)搭建service-item-client模块(4)搭建web-util模块二:搭建web父模块(4)搭建web-util模块(5)构建web-all模块。

2024-07-14 17:25:40 877

原创 尚品汇-实现商品切换、取海报信息、Sku对应的平台属性(十八)

(1)实现商品切换(2)获取海报信息(3)Sku对应的平台属性。

2024-07-13 16:52:51 298

原创 尚品汇-获取价格信息、获取销售信息(十七)

销售属性跟销售属性值表,没有外键,他们之间不是通过外键关联的,他们是通过两个字段进行关联的。通过spuid和skuid查询 选中sku的销售属性。3、点击其他销售属性值的组合,跳转到另外的sku页面。选中关系表:选中了sku,然后跟销售属性关联过滤。继续编写接口:ManagerService。1、查出该商品的spu的所有销售属性和属性值。继续编写接口ManageService 接口。查询的是sku_info里面的价格。查询出sku对应spu的销售属性。2、标识出本商品对应的销售属性。,并关联某skuid。

2024-07-12 23:41:51 717

原创 尚品汇-获取sku基本信息与图片信息、查看三级分类(十六)

点击service,选择New–>Module,操作如下修改配置pom.xml添加配置文件bootstrap.properties添加启动类因为父模块引入了mysql的依赖,由于自动配置,如果没有配置会报错,我们把他关了class排除数据库链接jar表示当前项目不参与数据库查询service-item服务接口封装说明:商品详情相关信息在微服务都可以获取,所以我们在模块编写所需要的接口在service-product微服务提供api接口。

2024-07-10 22:17:04 663

原创 尚品汇-(十五)

Sku基本信息Sku图片信息Sku分类信息Sku销售属性相关信息Sku价格信息(平台可以单独修改价格,sku后续会放入缓存,为了回显最新价格,所以单独获取)展示商品的海报获取skuId 对应的商品规格参数...

2024-07-08 22:13:19 656

原创 尚品汇-(十四)

商品详情页,简单说就是以购物者的角度展现一个sku的详情信息。用户点击不同的销售属性值切换不同的商品点击添加购物车,将商品放入购物车列表中Thymeleaf 简介Thymeleaf是一款用于渲染内容的模板引擎。类似JSPVelocityFreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用!

2024-07-07 19:09:29 297

简单模拟-学生信息管理系统窗体

面对C#初级学习学习者

2022-04-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除