# charge-station-latest **Repository Path**: Rhys07/charge-station-latest ## Basic Information - **Project Name**: charge-station-latest - **Description**: Spring Cloud微服务架构模式开发的充电桩项目,Spring Cloud+Spring Boot+Redis+MySQL+Mybatis+RabbitMQ+XXL-job+EMQX+... - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 54 - **Created**: 2025-03-23 - **Last Updated**: 2025-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # charge-station-latest 都开源了,三连走起呗: ![1712412911748](assets/1712412911748.png) 最新版代码已经把相关服务给拆分出来了,并且也实现了部分用户端前端功能和部分管理端功能 https://gitee.com/trsunmu/collections/478121 ### 介绍 充电桩的输入端与交流电网直接连接,输出端都装有充电插头用于为电动汽车充电。充电桩一般提供常规充电和快速充电两种充电方式,人们可以使用特定的充电卡在充电桩提供的人机交互操作界面上刷卡使用,进行相应的充电操作和费用数据打印,充电桩显示屏能显示充电量、费用、充电时间等数据。 系统角色:普通用户、商家、管理员 核心流程: 1、商户入驻,商户登录,缴纳保证金,开通站点,该站点安装充电桩。 2、用户组注册,登录,认证,缴纳保证金。用户添加车辆信息,用户使用微信充值,用户充电,获取积分。 3、用户邀请其他用户注册,其他用户完成认证,用户获取邀请收益。 4、积分商城:包括赚钱积分、积分兑换礼券、积分兑换记录 5、首页(附近电站、我的钱包、我的爱车、联系客服、开通会员) 用户端主要包括: 1、注册、登录 2、充值中心(微信支付、支付记录) 3、我的收益(邀请收益、收益记录) 4、站点信息(站点列表,我的收藏站点、充电桩列表) 5、优惠券(全部优惠券,可使用优惠券、已过期优惠券、优惠券使用记录) 6、充电(充电启动、充电中、充电记录) 充电桩后台管理系统主要包括以下的模块: 1、站点管理(对充电桩、充电桩的信息管理); 2、加盟合作(对投资商、合约的统一管理); 3、推广运营(对客户、礼券、活动、邀请、组团等模块的管理); 4、交易管理(对充电记录、交易流水、充值记录等记录沉淀管理); 5、隐患故障(对设备存在的隐患、故障处理); 6、统计分析(运营情况、能耗分析、财务报表、故障分析模块管理); 7、实时监控(视频监控、监控看板模块)等多模块的统一管理; ### 部分页面 ![image.png](assets/image-1687432988140.png) ![image.png](assets/image-1687433000465.png) ![image.png](assets/image-1687433009380.png) ![image.png](assets/image-1687433029035.png) ![1725941151470](/assets/1725941151470.png) ![1725941188194](/assets/1725941188194.png) (以上仅展示部分页面) ### 项目架构图 ![1725329961482](assets/1725329961482.png) ### 软件架构 Spring Cloud+Spring Boot+Redis+MySQL+Mybatis+RabbitMQ+XXL-job+Vue+Element Plus... - **Spring Boot** :做项目基础构建 - **EMQX**:物联网通信协议MQTT实现 - **OpenFeign**:服务调用 - **Hystrix**:服务熔断 - **Nacos**:注册中心、分布式配置中心 - **Seata**:分布式事务 - **Gateway**:服务网关 - **Sentinel**:服务限流 - **Spring Boot**:项目基础开发(容器+MVC框架) - **MyBatis**:数据持久层框架 - **Redis**:分布式缓存、分布式锁、排行榜、限流 - **RabbitMQ**:消息队列用于业务解耦 - **MySQL**:数据存储 - **XXL-job**:分布式任务调度 - **Spring Security**:认证和授权框架 - **MyBatisGenerator**:代码字段生成工具 - **Hutool**:开发工具包 - **InfluxDB**:时序数据库 - Vue3+: - Element Plus: ### 说明 付费朋友可以获取: - 原型图 - 原型图转HTML源码 - 项目最新版源码 - 全部设计文档 ![项目实战](assets/星球优惠券.png) ### 联系方式 作者:田哥 微信:tj20120622 ![1687434686949](assets/1687434686949.png) 微信公众号:Java后端技术全栈 ![1687434701756](assets/1687434701756.png) ### 项目亮点 在充电桩项目,使用了以下技术亮点: 1、**分布式锁** 2、AOP 3、自定义注解 4、统一参数验证 5、统一日志处理 6、使用到了**工厂模式+策略模式** 7、**限流** 8、异步处理 9、**保证消息不丢失** 10、**延迟双删实现缓存数据一致性** 11、**缓存击穿** 12、**幂等性** 13、**自定义starter** 14、**模板方法模式** 15、**分布式事务** 16、**分库分表** ### 设计文档 [充电桩项目实战:消息丢失和重复消费问题](https://mp.weixin.qq.com/s/m37kxjA8JXkOLgMwY9j6ZQ) [充电桩项目实战:短信功能 分布式限流](https://mp.weixin.qq.com/s/4RHSOBpOEJEcS_200J5B2A) [充电桩项目实战:搞定多数据源!](https://mp.weixin.qq.com/s/hfDCCCKbY53-TCBxTIPmBQ) [充电桩项目实战:功能详情](https://mp.weixin.qq.com/s/BivpH75TlSGr-H_aUge3WA) [充电桩项目实战:MQTT协议](https://mp.weixin.qq.com/s/0TZ019yWg6qSSzMQIDwL3Q) 完整文档: - 第一篇:充电桩项目需求和功能梳理 - 第二篇:分析与设计--用户基础相关表 - 第三篇:分析与设计--车辆信息相关表 - 第四篇:分析与设计--充电桩相关表 - 第五篇:分析与设计--充电支付业务相关表 - 第六篇:分析与设计--运营相关表 - 第七篇:分析与设计--系统其他表 - 第八篇:项目架构+服务划分 - 第九篇:系统日志处理+异常处理+参数校验 - 第十篇:短信验证码分析 - 第十一篇:短信验证码设计和实现 (分布式限流) - 第十二篇:ThreadLocal在项目中的实际应用 - 第十三篇:多数据源配置和实现 - 第十四篇:MQTT介绍和入门案例 - 第十五篇:充电桩项目中EMQX的应用 - 第十六篇:构建百万用户数据 - 第十七篇:用户使用积分兑换优惠券(实战分布式事务) - 第十八篇:用户积分增加(实战消息丢失和重复消费问题) - 第十九篇:注册邀请码生成规则 - 第二十篇:用户注册设计和实现 - 第二十一篇:项目中设计模式使用场景(1) - 第二十二篇:InfluxDB的介绍和使用案例 - 第二十三篇:分库分表核心点 - 第二十四篇:分库分表在项目中的实际应用 - 第二十五篇:用户积分排行榜设计和实现 - 第二十六篇:用户登录信息存储以及服务调用参数传递 - 第二十七篇:Netty项目实战 - 第二十八篇:项目部署 - 第二十九篇:优惠券使用【问题】 - .....继续更新 - 充电桩项目--应对项目面试篇、完整源代码 现在专门建了一个**项目实战**的知识星球(满100人涨10元): ![星球内容](assets/项目实战内容.png) ![项目实战](assets/xingqiu20240826.png)