【SpringBoot】微信点餐系统

1,115 阅读3分钟

欢迎访问原文: 【SpringBoot】微信点餐系统项目总结微信特性模板消息,授权,支付和退款 Token 认证在卖家端登录管理系统用到 我在 aop 中已经屏蔽了,因为我没有微信开放平台的认证账号,......

欢迎访问原文: 【SpringBoot】微信点餐系统

微信特性

模板消息,授权,支付和退款

Token 认证

在卖家端登录管理系统用到 我在 aop 中已经屏蔽了,因为我没有微信开放平台的认证账号,无法登录 可以自行去 cn.chenhaoxiang.aspect.SellerAuthorizeAspect 将类上的注解放开

WebSocket 消息

在买家下订单后,对买家端有消息提示并播放音乐

Redis 缓存 + 分布式锁

Redis 的缓存的话,注意增删改更新缓存,否则会出现无法预知的后果 在这里,如果有商品的抢购活动,就可以使用到 Redis 的分布式锁了

我觉得该项目还有一些需要完善的地方 比如卖家端没有权限控制 比如应用没有独立,项目里面的商品,订单 比如哪天修改了商品的代码,会影响到订单的部分 应该把商品和订单拆分开来,作为两个独立的应用

在这个项目中学到了很多。 学到的最重要的不是一些知识点的学习,而是项目架构方面的学习,比如 DTO,比如工具类,比如 From, 前端表单数据提交的实体类,比如应用独立,前后端分离,分布式和集群等等。

在项目中使用了微信公众平台的账号和微信开放平台的账号。 需要自己去申请一些权限。 目前用到的权限有: 微信公众号的登录支付权限,消息推送权限。登录和消息推送可以在开发文档中使用测试账号。 至于支付权限,则需要你自己去找朋友借借账号了。 我是学习的廖师兄的视频进行的开发, 需要有支付权限测试的,可以看这篇文档: github.com/Pay-Group/b… 还有微信开放平台的登录权限,这个也需要自己去认证或者找朋友借下了。

在这里微信公众号接入开发和微信开放平台接入开发就没有重复造轮子了。 分别使用了两个开源的 SDK。 链接如下 github.com/Wechat-Grou… 这个非常全,你看了就知道了 github.com/Pay-Group/b… 这个就是廖师兄开发的 SDK,支付使用的就是该 SDK

centos7 提倡的用法

cd /ets/systemd/system 到这个目录下,新建一个 AAA.service,可以把 AAA 设置为项目名的

vim AAA.service 文件内容 Start:

[Unit]  
Description=AAA #描述  
After=syslog.target network.target  #依赖  

[Service]  
Type=simple  

ExecStart=/usr/bin/java -jar /opt/javaapps/AAA.jar  
#前面是java命令的绝对路径  后面是jar包的绝对路径  
ExecStop=/bin/kill -15 $MAINPID   

User=root  
Group=root   

[Install]  
WantedBy=multi-user.target  

文件结束 END

使用 systemctl start AAA 或者 systemctl start AAA.service 如果被改变了: 先运行 systemctl daemon-reload 再运行 systemctl start sell.service

停止服务: systemctl stop AAA 或者 systemctl stop AAA.service

开机自启动: systemctl enable AAA 或者 systemctl enable AAA.service

不想开机启动: systemctl disable AAA 或者 systemctl disable AAA.service

在此感谢廖师兄分享的视频教程。

GITHUB 项目地址: 点我进行访问