开发时间:2024 . 02~ 至今
已经部署上线(可以在微信里搜索“塬号星球”),仍在完善阶段。
塬号星球——周边信息社交生活服务平台
项目介绍:项目主要是针对于在大学有流量却不知道该如何变现的朋友,比如校园表白墙。将每一个学校/周边看成
一个星球,平台会 在每一个星球提供多种功能,比如:星球特价市场,星球店铺,星球二手市场,星球排行榜,星球交友
,星球服务大厅,星球论坛,星球兼职,今天吃点啥?周末去哪玩?星球好物,星球圈子,星球优惠劵,星球赛事和星球
活动等,每种功能又可以自定义参数。球主/校园表白墙可自定义添加需要的功能到自己的星球。打造自己的校园生态、
实现流量变现。
前端技术:uniapp+原生微信小程序+uview2.0+xr-frame+websocket+element-plus+three.js+axios
后端技术:SpringBoot+SpringCloud+Mybatis-plus+Mysql+Mongodb+Redis+RabbitMQ+Ribbon+Gateway+Nacos+OpenFeign+Websocket+Docker
项目亮点:
1.使用 Redis 的 Set 集合实现点赞、浏览、关注、共同好友等功能。
2.使用 Redis 的 Zset 有序集合实现星球排名,用户活跃度排名,多类型动态的顺序分页存储等。
3.使用 Redis 的 Geospatial 实现查找附近星球,查找附近店铺,查找附近用户等。
4.使用 Redis 的 Hash 数据结构的计数器,实现点赞数,浏览数,关注数,粉丝数等自增自减。
5.使用 Redis 的 Bitmap 位图,实现每日签到功能。
6.使用 Aop 封装自定义日志注解,判空注解,Redis 获取存入注解等。
7.使用 Nacos 服务注册中心与服务配置中心,实现服务注册与服务配置。
8.使用 RabbitMQ 消息队列,优化发送短信验证码,添加记录等。
9.使用 OpenFeign 实现各个服务之间的远程调用。
10.使用 Websocket 实现在线聊天,服务通知等。
11.使用 Mongodb 数据库存储聊天记录。
12.使用 docker-compose 一键部署到服务器。
13.使用了微信支付,实名认证,短信验证码,分销二维码,OSS 存储等第三方服务。
我负责的内容:
星球服务大厅模块、订单模块、管理星球模块等等
涉及到的技术或框架:
Spring、Springcloud、RabbitMQ、自定义AOP
涉及到的数据库:
Mysql+MongoDB+Redis
业务逻辑:
- 订单模块
大致是以上这些接口。
接单逻辑:
首先会使用分布式锁,防止出现访问共享资源的情况,再根据用户id查询用户基础信息,查询“信誉分”,满足系统给定的接单信誉分,则可以进行接单,在订单信息中绑定接单用户的用户id,并且删除redis里的订单信息(防止下次获取到的是旧的数据),最后发送微信订阅通知给下单用户。
2. 管理星球模块
管理星球业务逻辑:
这是星球管理员权限及以上的用户才有的接口,在控制层会进行判断权限拦截。平台可以生成兑换码供管理员去开启一个星球或是开启星球的功能(例如可以让球民发布订单,接单)。兑换码设置了四种类型(开通所有,开通一个父功能,开通一个子功能,给予开通优惠)。
球民管理业务逻辑:
球主可以通过发起请求给后端,后端根据星球id去查询星球用户表,查询该星球的所有用户,并循环查询用户基础信息及判断是否是管理员,进行取消和添加管理员。
注销星球:
首先会将星球信息的enable设置为0(默认为1,表示可用),再将星球用户表里的有此星球id的记录的enable设置为0,将星球功能信息删除,给每个球民发送小程序内部通知,最后删除redis,因为redis中存有星球基础信息,星球排名等等。