项目笔记
胡辣汤麻辣烫
洗澡之后挖耳朵,湿湿一大坨。
展开
-
乐优商城项目总结——01技术介绍
项目介绍 最近学习了乐优商城,想把遇到的问题和知识点总结一下。1.技术选型前端技术:基础的HTML、CSS、JavaScript(基于ES6标准)JQueryVue.js 2.0以及基于Vue的UI框架:Vuetify前端构建工具:WebPack前端安装包工具:NPMVue脚手架:Vue-cliVue路由:vue-routerajax框架:axios基于Vue的富文本框...原创 2019-07-30 17:30:48 · 1933 阅读 · 1 评论 -
乐优商城项目总结——12.5 微信支付(生成支付链接,回调确认,检查支付状态和内网穿透)
生成支付链接(用户点提交订单后)用户点了提交订单后该给他显示微信支付二维码了。生成步骤1 controller接收的是订单编号/** * 创建支付链接 * * @param orderId * @return */ @GetMapping("/url/{id}") public ResponseEntity<Strin...原创 2019-08-02 10:36:55 · 779 阅读 · 7 评论 -
乐优商城项目总结——12 微信支付(前台接收数据和微信支付相关配置)
下单支付商城的主线剧情到这就要结束了。实现步骤:我先从前台数据接收和下单讲。1 接收前台商品和用户数据(购物车里点下提交订单)前台传来的数据需要进行校验,从数据库里查一查传来的价格是否和数据库一样,不然可能被某些人篡改,改成一分钱付款,那就赔的裤头都没了。1.1 DTO类用来接收前台传来的信息,然后转为对象:CartDTO :@Data@NoArgsConstructor@Al...原创 2019-08-02 10:27:27 · 393 阅读 · 0 评论 -
乐优商城项目总结——11.5 授权中心(JWT和RSA实现)
创建授权中心上一篇介绍了JWT和RSA,这里就用这两种技术实现授权中心。先在网关(zuul)中配置一下,前面几篇没讲到yml:最后一段是授权中心的路由。zuul: prefix: /api # 添加路由前缀,是全局的前缀,请求都得加上api routes: item-service: /item/** #可以省略,但是默认是/item-service/**,这样改下路径...原创 2019-08-01 18:27:00 · 731 阅读 · 3 评论 -
乐优商城项目总结——11授权中心(JWT和RSA介绍)
无状态登录先了解一下什么叫无状态有状态有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户...原创 2019-08-01 17:23:10 · 573 阅读 · 0 评论 -
乐优商城项目总结——10解决数据同步(RabbitMQ)
为什么要用RabbitMQ前面已经完成了商品详情和搜索系统的开发,但是还有一些问题商品的原始数据保存在数据库中,增删改查都在数据库中完成。搜索服务数据来源是索引库,如果数据库商品发生变化,索引库数据不能及时更新。商品详情做了页面静态化,静态页面数据也不会随着数据库商品发生变化。如果后台更改了商品价格,搜索页面和商品详情页显示的还是是旧的价格。所以要用消息队列(MQ)来解决这个问题。...原创 2019-08-01 17:07:31 · 413 阅读 · 0 评论 -
乐优商城项目总结——09商品详情页和页面静态化(Thymeleaf)
商品详情页商品详情浏览量比较大,并发高,要独立开启一个微服务,来展示商品详情。首先应该知道,商品详情页上面的数据它是多个SKU的集合,即SPU。所以,页面跳转时,我们应该携带SPU的id信息。页面静态化我们展示的页面是通过Thymeleaf模板引擎渲染后返回到客户端。通过在resources里创建一个文件夹,这个文件夹的名字必须是templates,这是Thymeleaf的规定。i...原创 2019-08-01 16:27:57 · 945 阅读 · 0 评论 -
乐优商城项目总结——08搜索功能(Elasticsearch等)
商城搜索功能平时购物时习惯都是直接搜索要买的商品,可以发现商品很快的就整齐的列到面前。但是只靠从数据库里查的话不仅数据库的压力大,有人买要减库存,商家上架商品要存商品,用户搜索商品也要搜索很多数据,只靠数据库不崩溃也会很慢。为了解决这个问题,我们可以使用全文检索技术:Elasticsearch。Elasticsearch简介Elasticsearch甚至可以当做数据库使用,不过这里我们把...原创 2019-08-01 16:00:14 · 1048 阅读 · 0 评论 -
乐优商城项目总结——07商品规格管理(spu,sku)
商品管理商品的管理不能像以前写的小demo一样,一个表解决所有的问题。全品类的商品种类很多,商品的属性也不一样,存到一起商品又多又难管理。所以抽出来两个概念:spu和sku。商品管理的难点就在于搞清楚商品spu和sku,搞清楚以后业务逻辑很容易实现。SPU和SKUSPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKU:Stock Keep...原创 2019-08-01 11:25:13 · 2089 阅读 · 0 评论 -
乐优商城项目总结——06商品新增(图片上传FastDFS等)
品牌新增新增的功能实现就是填写spu数据,传入到数据库,不过这里还涉及到了图片,需要上传到linux里的FastDFS。实体类spu的实体类有一点区别@JsonIgnore他可以返回数据到页面的时候不返回这些,忽略这些字段。@Transient 加上这个注释,就不会持久化到数据库中,因为spu的表中没有这些字段,这些数据需要到存到其他表中,但是传入的时候传入多个对象接收不方便,我们可以...原创 2019-07-31 17:40:26 · 561 阅读 · 0 评论 -
乐优商城项目总结——05品牌查询(stream流,自定义异常等)
品牌查询品牌查询实现步骤基本跟分类差不多,只不过有的需要接收很多参数。代码service:/** * 分页查询spu * * @param page * @param rows * @param saleable * @param key * @return */ @GetMapping("/spu/p...原创 2019-07-31 15:51:54 · 357 阅读 · 0 评论 -
乐优商城项目总结——04商品分类知识总结(跨域问题等)
item微服务的结构首先介绍一下商品微服务:因为是父工程里面嵌套的一个父工程,item里有两个服务,一个是专门处理商品业务逻辑的微服务,一个是实体类的微服务,所以实体类那个微服务不需要yml文件,不需要启动类,只需要被调用就可以。商品业务相关首先贴一下启动类@SpringBootApplication@EnableDiscoveryClient@MapperScan("com.ha...原创 2019-07-31 11:39:05 · 1091 阅读 · 0 评论 -
乐优商城项目总结——03统一环境(nginx反向代理)
使用域名访问我们现在访问页面使用的是:http://localhost:9001实际开发中,会有不同的环境:开发环境:自己的电脑测试环境:提供给测试人员使用的环境预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试生产环境:项目最终发布上线的环境如果不同环境使用不同的ip去访问,可能会出现一些问题。为了保证所有环境的一致,我们会在各种环境下都使用域名来访问。域名解...原创 2019-07-31 09:43:24 · 576 阅读 · 0 评论 -
乐优商城项目总结——02项目搭建
项目搭建的知识点搭建聚合工程由于之前都是简单的小demo,小项目,只是简单搭建过这样的工程,真正写的时候还是有一点小知识在里面。1,父工程pom文件父工程的相当于一个空壳,也就是几乎啥都不干,自己感觉就像一个装东西的容器,管理子工程所用的依赖。pom文件需要注意的点:让父工程管理资源的版本子工程的依赖不标明版本截取一点:properties中设置了使用依赖的版本号。depe...原创 2019-07-31 09:04:33 · 230 阅读 · 0 评论 -
乐优商城项目总结——13 一些没讲到的
项目已经结束了,但是其中有一些没有讲到1 购买商品减库存减库存是一件容易的事,但是当有多台服务器的时候呢,好几个集群一起减库存,如果由于网络原因延迟了,库存变成0的时候另外一个服务还在减库存。这种情况加上一个事务是解决不了问题的,因为它只能对当前的集群产生效果,就算都加事务也都是管着自己的,所以这时候就要想其他的办法。解决:通过原生sql语句查询就可以轻松解决,在sql语句上添加一条判断...原创 2019-08-02 15:03:15 · 827 阅读 · 3 评论