核心包含会员体系搭建、营销活动配置、优惠券全生命周期管理(创建、发放、核销、统计)等能力,支持多渠道触达用户,帮助企业提升用户活跃度与复购率,同时提供数据看板辅助运营决策,降低营销成本,提升转化效率。
1. 整体架构采用前后端分离设计,后端基于Spring Boot + MyBatis-Plus开发,用Redis实现优惠券库存、用户券状态的缓存,MySQL存储核心业务数据;前端使用Vue3 + Element Plus搭建管理后台,通过Nginx实现静态资源部署与负载均衡,整体按业务拆分为会员管理、营销活动、优惠券引擎、数据统计四大模块。
2. 我主要负责优惠券引擎模块的开发,实现了优惠券创建规则配置、发放资格校验、核销幂等控制等核心功能;优化了库存扣减逻辑,通过Redis+数据库双写+异步补偿的方式,解决了高并发下的超发问题,使优惠券发放接口的QPS提升了40%;同时参与开发了用户券包管理接口,支持批量发放与券状态实时查询,累计支撑了10万+用户的优惠券使用场景。
3. 开发中遇到的难点:一是高并发场景下优惠券超发问题,一开始直接操作数据库导致库存扣减不一致,后来通过Redis预扣库存+Lua脚本保证原子性,再通过消息队列异步同步到数据库,解决了超发问题;二是用户重复领取优惠券的问题,通过Redis的Set结构记录已领取用户ID,结合数据库的唯一索引双重校验,避免了用户重复领取,保障了活动的公平性;三是优惠券核销的幂等性问题,通过生成全局唯一核销流水号,结合数据库乐观锁,实现了重复请求的幂等处理,避免了重复核销的问题。