# mall **Repository Path**: miracle100/mall ## Basic Information - **Project Name**: mall - **Description**: 电商项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-10 - **Last Updated**: 2023-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mall 一个基于Spring Cloud、openFeign、Eureka、Config、Mysql的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发的电商平台系统。 ## 前言 本商城致力于为中大型企业打造一个功能完整、易于维护的微服务B2B2C电商商城系统,采用主流微服务技术实现。后台管理系统包含商品管理、订单管理、权限管理、购物车管理等模块。 ## 项目链接 JAVA后台:https://gitee.com/miracle100/mall ## 目录结构规范 我们也有自己的目录结构 - FeignClient:由于微服务之间存在互相调用,这里是内部请求的接口。 - Controller:主要是对内部访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。为了简单起见,一些与事务无关的代码也在这里编写。 - Service 层:相对具体的业务逻辑服务层。 - Manager 层:通用业务处理层,它有如下特征: - 1) 对第三方平台封装的层,预处理返回结果及转化异常信息,适配上层接口。 - 2) 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理。 - 3) 与 DAO 层交互,对多个 DAO 的组合复用。 - Mapper持久层:数据访问层,与底层 MySQL进行数据交互。 关于`FeignClient`,由于微服务之间存在互相调用,`Feign` 是http协议,理论上是为了解耦,而实际上提供方接口进行修改,调用方却没有进行修改的时候,会造成异常,所以我们抽取出来。还有就是对内暴露的接口,是很多地方都公用的,所以我们还将接口抽取了出了一个模块,方便引用。可以看到`mall-api`这个模块下是所有对内`feign`接口的信息。 ## 目录结构 ``` mall ├─mall-api -- 内网接口模块 │ ├─mall-api-user -- 用户对内接口 │ ├─mall-api-goods -- 商品对内接口 │ ├─mall-api-admin -- 管理员对内接口 │ ├─mall-api-order -- 订单对内接口 │ └─mall-api-cart -- 购物车对内接口 │ ├─mall-entity -- 一些公共的实体类 │ └─Result -- 结果集类 ├─mall-config -- 配置中心微服务 ├─mall-eureka -- 注册中心微服务 ├─mall-order -- 订单微服务 ├─mall-cart -- 购物车微服务 ├─mall-admin -- 管理员微服务 ├─mall-user -- 用户微服务 ├─mall-goods -- 商品服务 └─mall-category -- 商品类微服务 ``` ## 技术选型 **核心框架:Spring Cloud 2021** ​ **Mybatis** **服务注册和发现:Eureka** **负载均衡:Ribbon** **服务调用:OpenFeign** **配置中心:Spring Config** **关系数据库:Mysql5.7** **JS工具:JQuery** ## 商城部署后 API 地址 | 服务 | 地址 | | ------------------------------------------------- | --------------------- | | mall-config 配置中心服务 | http://127.0.0.1:7100 | | mall-eureka 注册中心服务(如图片上传/短信等) | http://127.0.0.1:7001 | | mall-goods 商品微服务 | http://127.0.0.1:8001 | | mall-goodstype 商品类微服务 | http://127.0.0.1:8002 | | mall-user 用户微服务 | http://127.0.0.1:8008 | | mall-admin 管理员微服务 | http://127.0.0.1:8009 |