
分布式电商项目mall
文章平均质量分 70
主要使用springboot alibaba的技术,正在编写学习中
猛肝自然强
这个作者很懒,什么都没留下…
展开
-
分布式电商项目五十:完成采购单的请求
完成采购单的请求最后来编写完成采购单的请求,采购人员领取到采购单之后实施采购,完成之后提交到系统,对应的API文档:07、完成采购POST/ware/purchase/done请求参数{ id: 123,//采购单id items: [{itemId:1,status:4,reason:""}]//完成/失败的需求详情}响应数据{ "msg": "success", "code": 0}postman模拟场景:注意出现{“msg”:“invalid token”,“原创 2020-06-08 13:51:18 · 428 阅读 · 0 评论 -
分布式电商项目四十九:采购人员领取采购单功能
采购人员领取采购单功能本章编写采购人员领取采购单的功能,对应的API文档:06、领取采购单POST/ware/purchase/received请求参数[1,2,3,4]//采购单id分页数据响应数据{ "msg": "success", "code": 0}首先需要在系统中添加一位采购人员:同时添加一份采购单:之后合并需求成为一张整单采购单:对应数据库中也有了采购单的数据之后来到postman来模拟请求:此时的返回是404,之后来编写这个借口来完成这个服务原创 2020-06-08 13:22:08 · 240 阅读 · 0 评论 -
分布式电商项目四十八:库存服务
库存服务本章开始编写库存服务相关的内容,首先把库存的微服务添加到注册中心中,添加配置文件:spring: datasource: username: root password: 123456 url: jdbc:mysql://IP地址/mall_wms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai driver-class-原创 2020-06-08 12:49:46 · 764 阅读 · 0 评论 -
分布式电商项目四十七:商品服务-SPU和SKU检索
商品服务-SPU检索本章完成SPU的检索功能,对应前端页面:对应的API接口文档:18、spu检索GET/product/spuinfo/list请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序方式 key: '华为',//检索关键字 catelogId: 6,//三级分类id brandId: 1,//品牌id status: 0,原创 2020-06-08 10:53:09 · 1260 阅读 · 0 评论 -
分布式电商项目四十六:批量管理微服务的内存占用和重启
批量管理微服务的内存占用和重启由于需要启动的微服务数量较多,如果使用原有的JVM虚拟机设置,会造成内存不足的问题,所以给众多微服务进行内存设置,首先创建一个集中管理重启的compound:来到配置设置:点击添加,创建一个compound:之后将需要使用的微服务统一添加进去:之后逐个设置最大内存:点击确定之后重启服务:...原创 2020-06-08 10:17:35 · 454 阅读 · 0 评论 -
分布式电商项目四十五:发布商品功能-保存商品信息的远程调用
发布商品功能-保存商品信息的远程调用本章实现商品服务提交的信息保存至优惠服务的远程调用。package com.lastingwar.mall.product.service.impl;import com.lastingwar.common.to.SkuReductionTo;import com.lastingwar.common.to.SpuBoundTo;import com.lastingwar.common.utils.R;import com.lastingwar.mall.pr原创 2020-06-07 16:02:27 · 537 阅读 · 0 评论 -
分布式电商项目四十四:发布商品功能-保存商品信息
发布商品功能-保存商品信息本章编写保存商品信息接口,在发布商品功能的最后,需要保存商品信息,对应前端接口:对应接口文档:19、新增商品POST/product/spuinfo/save请求参数{ "spuName": "Apple XR", "spuDescription": "Apple XR", "catalogId": 225, "brandId": 12, "weight": 0.048, "publishStatus": 0, "decript": ["https:/原创 2020-06-07 14:59:11 · 573 阅读 · 0 评论 -
分布式电商项目四十三:发布商品功能-获取分类下所有分组&关联属性
发布商品功能-获取分类下所有分组&关联属性本章来到发布商品功能的下一步,添加商品的规格参数:对应的API文档:17、获取分类下所有分组&关联属性GET/product/attrgroup/{catelogId}/withattr响应数据{ "msg": "success", "code": 0, "data": [{ "attrGroupId": 1, "attrGroupName": "主体", "sort": 0, "descript": "主体",原创 2020-06-07 11:12:41 · 339 阅读 · 0 评论 -
分布式电商项目四十二:发布商品功能-获取分类关联的品牌
发布商品功能-获取分类关联的品牌在发布商品时,还需要获取当前选择分类的所有品牌,对应前端请求:对应API文档:由于返回的数据不是整个品牌表对应的数据,所有新建一个VO来保存返回的信息:package com.lastingwar.mall.product.vo;import lombok.Data;@Datapublic class BrandVo { /** * "brandId": 0, * "brandName": "string", */原创 2020-06-07 10:34:35 · 309 阅读 · 0 评论 -
分布式电商项目四十一:发布商品功能-打开会员功能
发布商品功能本章开始编写发布商品等相关功能,对应前端页面如下:在这个发布商品功能中需要调用用户的会员等级接口,对应的API接口如下:01、获取所有会员等级POST/member/memberlevel/list请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序方式 key: '华为'//检索关键字}分页数据响应数据{ "msg": "succe原创 2020-06-07 10:14:50 · 254 阅读 · 0 评论 -
分布式电商项目四十:分组关联属性的新增
分组关联属性的新增在能够正确显示未关联属性之后,添加能够新增关联属性的功能,对应前端页面,可以看到对应的新增请求还是404的返回:新增功能对应的API文档:首先来到控制响应层:... @Autowired AttrAttrgroupRelationService relationService;... /** * 处理响应/product/attrgroup/attr/relation * @param vos 添加管理的列表 * @ret原创 2020-06-06 17:09:19 · 417 阅读 · 0 评论 -
分布式电商项目三十九:查询分组未关联的属性
查询分组未关联的属性本章添加关联属性中未关联的属性的功能,对应前端页面:对应的API文档如下:13、获取属性分组没有关联的其他属性GET/product/attrgroup/{attrgroupId}/noattr/relation接口描述获取属性分组里面还没有关联的本分类里面的其他基本属性,方便添加新的关联请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序原创 2020-06-06 16:23:30 · 273 阅读 · 0 评论 -
分布式电商项目三十八:分组关联属性删除功能
分组关联属性功能在分类下的分组中,需要关联基本属性,用于商品页面的展示:本章完成分组关联属性的功能。对应的API文档如下:请求是/product/attrgroup/{attrgroupId}/attr/relation;首先来到响应控制层,添加响应处理: @Autowired AttrService attrService; /** * 处理响应 product/attrgroup/{attrgroupId}/attr/relation * 返回分组原创 2020-06-06 15:47:02 · 303 阅读 · 0 评论 -
分布式电商项目三十七:销售属性维护
销售属性维护销售属性对应前端页面:对应API文档09、获取分类销售属性GET/product/attr/sale/list/{catelogId}请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序方式 key: '华为'//检索关键字}分页数据响应数据{ "msg": "success", "code": 0, "page": { "t原创 2020-06-06 11:29:39 · 400 阅读 · 1 评论 -
分布式电商项目三十六:查询与修改属性详情
查询与修改属性详情本章编写查询商品属性详情功能,包括有查询与修改的功能:查询属性详情对应的API文档对应前端的页面:生产代码返回的/product/attr/info/{attrId}响应的内容,不包括以下内容;"catelogPath": [2, 34, 225] //分类完整路径需要在响应中添加以上内容。首先把字段添加进AttrRespVo中:package com.lastingwar.mall.product.vo;import lombok.Data;@Datapu原创 2020-06-06 09:44:35 · 384 阅读 · 0 评论 -
分布式电商项目三十五:查询规格参数列表
查询规格参数列表这个功能用于展示平台属性的规格参数,对应的API文档如下:05、获取分类规格参数GET /product/attr/base/list/{catelogId}请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序方式 key: '华为'//检索关键字}分页数据响应数据{ "msg": "success", "code": 0, "p原创 2020-06-05 17:15:53 · 300 阅读 · 0 评论 -
分布式电商项目三十四:平台属性-规则参数功能添加
平台属性-规则参数功能添加本章实现平台属性-规则参数功能添加,对应前端页面的内容如下:对应api文档:这里引入VO(通常用于业务层直接的传递,只包含数据)的概念,不再将传入的请求字段添加到实体类当中。这主要是因为请求提交的数据通常会包含多个数据库表的内容,引入VO,之后对数据库中的表分别保存针对API文档中的请求内容,创建对应的vo:package com.lastingwar.mall.product.vo;import lombok.Data;@Datapublic clas原创 2020-06-05 15:38:37 · 544 阅读 · 0 评论 -
分布式电商项目三十三:商品服务-品牌管理
商品服务-品牌管理在之前做好的品牌管理中,有两个问题需要解决:查询端口没有后台支持,无法完成查询功能,分页功能无法正确显示分页的内容。引入Mybatis分页插件参考官方文档,springboot的使用方法是添加PaginationInterceptor的bean组件。新建config包,之后创建对应的文件:package com.lastingwar.mall.product.config;import com.baomidou.mybatisplus.extension.plugins.P原创 2020-06-05 14:38:43 · 462 阅读 · 0 评论 -
分布式电商项目三十二:商品服务-新增分组功能
新增分组功能前端页面的新增分组功能,为其提供后端实现:首先修改一个后端返回的问题在分组没有子分类的时候,页面依然会显示有白框。这是因为第三级分类中会出现children字段,并且为空,需要在后端返回的时候,为空则不显示。来到对应的实体类,添加注解即可:package com.lastingwar.mall.product.entity;/** * 商品三级分类 * * @author yhm * @email 403627000@qq.com * @date 2020-05-29原创 2020-06-05 11:47:33 · 331 阅读 · 0 评论 -
分布式电商项目三十一:商品服务-获取分类属性分组
商品服务-获取分类属性分组本章编写根据三级分类之后的分组属性,API文档如下:03、获取分类属性分组GET/product/attrgroup/list/{catelogId}请求参数{ page: 1,//当前页码 limit: 10,//每页记录数 sidx: 'id',//排序字段 order: 'asc/desc',//排序方式 key: '华为'//检索关键字}分页数据响应数据{ "msg": "success", "code": 0, "原创 2020-06-05 10:34:20 · 467 阅读 · 0 评论 -
分布式电商项目三十:商品服务的后台页面分组
商品服务的后台页面分组之后对该页面功能的实现,只编写后端部分,按照给出的接口文档进行编写。前端资源直接下载放入renren-fast-vue中即可。前端代码本章来添加人人开源的后台页面分组功能,添加侧边栏的内容:可以选择使用系统管理的菜单管理新增功能,或者使用sql语句直接向对应的数据库中添加内容:使用以下sql语句,在mall-admin数据库中执行:/*SQLyog Ultimate v11.25 (64 bit)MySQL - 5.7.27 : Database - gulimall_原创 2020-06-04 18:04:38 · 252 阅读 · 0 评论 -
分布式电商项目二十九:商品服务的分类介绍-SCU和SKU
商品服务的分类介绍电商网站中,由于产品众多,型号复杂,通常情况下不会由一种产品对应一整个数据信息,而是通过通过不断的数据分类分级来记录的。之前已经完成了产品分类的三级分类功能,之后还需要对同一SPU的产品细化出SKU的产品:SPU是指:商品信息聚合的最小单位,是一组可复用易检索的标准化信息集合,描述一种商品的特性。SKU是指:销售产品的具体规格信息。大致关联的关系如下:数据库依照上面的分类进行设计,实现如下:首先使用SPU来记录当前的产品具有有哪些属性值,例如电脑的尺寸,重量,内存,显卡…之原创 2020-06-04 16:31:09 · 1874 阅读 · 0 评论 -
分布式电商项目二十八:完善品牌管理的添加功能-分组校验
完善品牌管理的添加功能-分组校验针对不同的请求,不能使用相同的校验规则,例如在添加品牌时,不能携带id信息,应该是系统自动生成,而在修改品牌信息是时,必须要有id才能修改,所以需要添加分组校验的功能。添加分组注解由于所有的功能都有分组校验的需求,所以把分组的包放在common模块中,添加三个空接口进行分组:package com.lastingwar.common.valid;public interface AddGroup {}package com.lastingwar.common原创 2020-06-04 16:01:37 · 329 阅读 · 0 评论 -
分布式电商项目二十七:完善品牌管理的添加功能-字段参数的前后端校验
完善品牌管理的添加功能-字段参数的前后端校验完成阿里云OSS的上传功能之后,让它能显示出来:来到品牌的组件src\views\modules\product\brand.vue,修改el-table-column标签: <el-table-column prop="logo" header-align="center" align="center" label="品牌logo地址"> <template slot-scope="scope">原创 2020-06-04 14:00:53 · 632 阅读 · 0 评论 -
分布式电商项目二十六:使用阿里云存储的服务端签名后直传(前端联调)
使用阿里云存储的服务端签名后直传(前端联调)原创 2020-06-04 11:12:01 · 504 阅读 · 0 评论 -
分布式电商项目二十五:使用阿里云存储的服务端签名后直传(后端配置)
使用阿里云存储的服务端签名后直传(后端配置)由于需要大量的功能用到阿里云存储功能,每次都要先把文件上传太麻烦,所有我们使用阿里云存储的服务端签名后直传。新建一个第三方模块之后选择版本和依赖:完成之后在新模块的pom文件中添加common的依赖: <dependency> <groupId>com.lastingwar.mall</groupId> <artifactId>mall-co原创 2020-06-03 18:40:37 · 454 阅读 · 0 评论 -
分布式电商项目二十四:使用阿里云oss上传图片
使用阿里云oss上传品牌图标实际使用中,需要替换掉品牌图标的输入框,改为图片上传。上传品牌图标,使用云存储分布式的服务会有多台服务器上传内容,如果保存在自己搭建的服务器上,维护成本高还麻烦,使用阿里云存储功能springcloud alibaba-OSS,按量收费,即开即用。来到阿里云OSS,点击开通即可,不使用不收费。之后点击创建存储空间:根据测试使用的性质,选择如下:OSS简单使用测试来到创建好的存储空间,点击上传文件,拖拽上传一张图片上传成功之后,点击详情就会有一串URL地原创 2020-06-03 17:19:48 · 815 阅读 · 0 评论 -
分布式电商项目二十三:品牌管理-使用逆向生成的vue组件
品牌管理首先看一下品牌管理的数据库结构:之后在人人开发平台上添加品牌管理的菜单:之后都采用人人平台逆向生成的vue模块,不再自己编写来到目录mall-product/src/main/resources/src/views/modules/product,复制文件brand.vue和brand-add-or-update.vue到renren-fast-vue\src\views\modules\product。重启前端代码npm run dev就能看到逆向生成的代码的页面;之后修改权限显示原创 2020-06-03 16:36:03 · 599 阅读 · 0 评论 -
分布式电商项目二十二:三级分类编写修改和拖拽功能
三级分类添加修改和拖拽功能上一章完成了添加和删除功能,现在开始添加修改分类菜单的功能,首先添加修改的按钮和修改的方法:<el-button type="text" size="mini" @click="() => edit(data)">edit</el-button>... edit(data) { console.log("要修改的数据", data); this.dialogVisible = true; },修改标签的原创 2020-06-03 12:05:46 · 255 阅读 · 0 评论 -
分布式电商项目开发前言及操作系统准备
SpringCloud分布式商城项目架构本文将开发一个分布式微服务结构的电商网站。网站服务架构图如下:首先对项目的基础服务进行开发,后续会不断更新整合中间件。原创 2020-05-28 11:46:20 · 346 阅读 · 0 评论 -
分布式电商项目一:安装软件
安装软件使用配置好的虚拟机进行docker安装,并使用docker安装mysql和redis。安装docker可以参考docker的官方文档docker官网.删除系统已经有的docker:yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-lat原创 2020-05-28 14:45:37 · 310 阅读 · 0 评论 -
分布式电商项目三:使用码云初始化一个服务项目
使用码云初始化一个项目进入码云新建仓库,进行如下配置:复制好仓库的连接:https://gitee.com/lastingwar/mall-1995.git,进入到IDEA之中创建一个项目:新建第一个服务:商品服务导入两个必要的微服务,web和openFeign随后使用相同的方法创建多个服务以此创建优惠券服务 mall-coupon;商城会员服务 mall-member;商城订单服务 mall-order;商城仓储服务 mall-ware。在根目录下创建pom文件作为聚合模块。将其他原创 2020-05-28 19:32:27 · 305 阅读 · 0 评论 -
分布式电商项目四:创建微服务项目中的数据库
创建微服务项目中的数据库使用之前配置好的mysql数据库,用软件SQLyog连接,按照微服务的名称创建数据库:配置数据库字符集选用utf8mb4能够兼容utf8 。按照名称创建好需要用的5个数据库。创建表结构oms表示订单的数据库,使用如下sql语句创建表:DROP TABLE IF EXISTS oms_order;DROP TABLE IF EXISTS oms_order_item;DROP TABLE IF EXISTS oms_order_operate_history;原创 2020-05-29 08:12:32 · 801 阅读 · 0 评论 -
分布式电商项目五:使用人人开源搭建前后分离的后台管理系统
分布式电商项目五:使用人人开源搭建前后分离的后台管理系统现在我们开始搭建一个后台管理系统,使用的是码云上面的开源项目:人人开源需要使用两个开源项目:fast和fast-vue。使用git把需要的项目克隆下来使用git的bash控制台,默认克隆到桌面:删除掉fast中的.git版本控制文件,把文件添加到项目的目录中:然后在pom文件中添加模块:<module>renren-fast</module>随后根据开源项目/db/目录下的mysql文件创建mall_adm原创 2020-05-29 09:50:00 · 1347 阅读 · 0 评论 -
分布式电商项目六:使用人人开源的代码生成器反向开发代码
分布式电商项目六:使用人人开源的代码生成器反向开发代码克隆人人开源的代码生成器项目同之前克隆的fast项目,不再演示。删除掉.gti版本控制文件夹,放入到mall-1995项目中。之后编辑pom文件,添加模块:<module>renren-generator</module>之后更新maven依赖,修改模块的配置文件。每一次添加开源项目,都要优先修改配置文件:配置文件有两个,先修改application.yml,主要修改mysql配置:# mysqlspring:原创 2020-05-29 11:36:21 · 813 阅读 · 2 评论 -
分布式电商项目七:配置商品服务基本的CRUD功能
配置商品服务基本的CRUD功能生成完数据库文件之后,要对product模块进行配置才能使用。整合Mybatis-Plus导入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1<原创 2020-05-29 12:57:28 · 393 阅读 · 0 评论 -
分布式电商项目八:为所有微服务添加CEUD代码
为所有微服务添加CEUD代码由于进行了基础类的common配置,为其他服务生产代码会方便很多。修改代码生成器模块的配置打开renren-generator/src/main/resources/application.yml文件,修改数据库的名称spring: datasource: type: com.alibaba.druid.pool.DruidDataSource #MySQL配置 driverClassName: com.mysql.cj.jdbc.Driver原创 2020-05-29 17:43:55 · 495 阅读 · 0 评论 -
分布式电商项目九:使用springCloud Alibaba开启分布式服务配置-Nacos作为注册中心
使用springCloud Alibaba开启分布式服务配置介于springCloud Alibaba使用的组件都性能强大, 所以分布式项目主要使用springCloud Alibaba的组件来进行,部分使用springCloud 。具体如下:springCloud Alibaba -Nacos :注册中心(服务发现,服务注册)springCloud Alibaba -Nacos:配置中心(动态配置管理)springCloud -Ribbon :负载均衡springCloud -Feign:声明式原创 2020-05-29 18:50:22 · 381 阅读 · 0 评论 -
分布式电商项目十:Nacos注册的服务进行远程调用
在上一章中,我们已经能够将我们所有的微服务添加到Nacos注册中心中,这一章,我们挑选其中的两个服务,优惠券服务和会员服务来进行远程调用的测试。远程调用的中间件,我们选择的是Springcloud 的Feign。原创 2020-05-30 13:01:32 · 787 阅读 · 0 评论 -
分布式电商项目十一:使用Nacos作为配置中心
Nacos作为注册中心,管理服务,以及服务直接进行远程调用我们已经测试好了,现在开始使用Nacos完成配置中心的内容原创 2020-05-30 15:30:38 · 418 阅读 · 0 评论