好,我是田哥
很多人,最近都在关注我的充电桩项目,之前建了一个微服务架构的项目,也有单体项目的代码开源。
今天,我把最新版微服务架构的充电桩项目源代码开源。
充电桩的输入端与交流电网直接连接,输出端都装有充电插头用于为电动汽车充电。充电桩一般提供常规充电和快速充电两种充电方式,人们可以使用特定的充电卡在充电桩提供的人机交互操作界面上刷卡使用,进行相应的充电操作和费用数据打印,充电桩显示屏能显示充电量、费用、充电时间等数据。
系统角色:普通用户、商家、管理员
核心流程和功能
1、商户入驻,商户登录,缴纳保证金,开通站点,该站点安装充电桩。
2、用户组注册,登录,认证,缴纳保证金。用户添加车辆信息,用户使用微信充值,用户充电,获取积分。
3、用户邀请其他用户注册,其他用户完成认证,用户获取邀请收益。
4、积分商城:包括赚钱积分、积分兑换礼券、积分兑换记录
5、首页(附近电站、我的钱包、我的爱车、联系客服、开通会员)
用户端主要包括:
1、注册、登录
2、充值中心(微信支付、支付记录)
3、我的收益(邀请收益、收益记录)
4、站点信息(站点列表,我的收藏站点、充电桩列表)
5、优惠券(全部优惠券,可使用优惠券、已过期优惠券、优惠券使用记录)
6、充电(充电启动、充电中、充电记录)
充电桩后台管理系统主要包括以下的模块:
1、站点管理(对充电桩、充电桩的信息管理);
2、加盟合作(对投资商、合约的统一管理);
3、推广运营(对客户、礼券、活动、邀请、组团等模块的管理);
4、交易管理(对充电记录、交易流水、充值记录等记录沉淀管理);
5、隐患故障(对设备存在的隐患、故障处理);
6、统计分析(运营情况、能耗分析、财务报表、故障分析模块管理);
7、实时监控(视频监控、监控看板模块)等多模块的统一管理。
部分页面
(篇幅有限,仅展示部分页面)
软件架构
Spring Cloud+Spring Boot+Redis+MySQL+Mybatis+RabbitMQ+XXL-job+EMQX+...
Spring Boot :做项目基础构建
EMQX:物联网通信协议MQTT实现
OpenFeign:服务调用
Hystrix:服务熔断
Nacos:注册中心、分布式配置中心
Seata:分布式事务
Gateway:服务网关
Sentinel:服务限流
Spring Boot:项目基础开发(容器+MVC框架)
MyBatis:数据持久层框架
Redis:分布式缓存、分布式锁、排行榜、限流
RabbitMQ:消息队列用于业务解耦
MySQL:数据存储
XXL-job:分布式任务调度
Spring Security:认证和授权框架
MyBatisGenerator:代码字段生成工具
Hutool:开发工具包
项目亮点
在充电桩项目,使用了以下技术亮点:
1、分布式锁
2、AOP
3、自定义注解
4、统一参数验证
5、统一日志处理
6、使用到了工厂模式+策略模式
7、限流
8、异步处理
9、保证消息不丢失
10、延迟双删实现缓存数据一致性
11、缓存击穿
12、幂等性(消息不被重复消费)
13、自定义starter
14、模板方法模式
回复:828,获取源码地址,star哦!
相关文章
充电桩项目实战:消息丢失和重复消费问题
充电桩项目实战:短信功能 分布式限流
充电桩项目实战:搞定多数据源!
Java后端面试复习规划表,5万字
手把手教你【优化简历】
物联网项目:充电桩项目实战~