# cloud优惠券微服务功能 **Repository Path**: XUDOD/cloud_imooc ## Basic Information - **Project Name**: cloud优惠券微服务功能 - **Description**: 优惠券的微服务功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-21 - **Last Updated**: 2021-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **项目名称** : 优惠券项目 **开发环境** : Windows10、JDK1.8、Tomcat 8.0 **开发工具** : IDEA、git **使用技术** : Maven、MySQL、kafka、redis、spring boot、spring cloud、Actuator_监控 **项目描述** :为了短期刺激消费的工具,也为了刺激消费者更多消费,提高销售量。 ### **项目模块:** **1.优惠券模板微服务:** 先由运营人员创建优惠券模板,之后再去生成对应数量的优惠券,最后用户才可以去领取优惠券。这个模板的核心都是微软优惠券模板的。运营人员设定好条件(名称,logo,分类,产品线,数量,规则等),后台异步创建优惠券模板。使用了MySQL后端存储优惠券模板信息,然后用redis缓存优惠券码同时将状态的流转过程放在redis中优化运行效率。处理过期的优惠券有创建的两种过期策略来处理 1.template模块自己的定期清理策略 2.使用template模块的其他模块自己校验 **2.优惠券分发微服务:** 用户根据自身id和优惠券状态查找用户优惠券记录,当用户查询优惠券时,会校验用户优惠券与数据库优惠券是否相同,因为用户数据都存储到redis中,所以向到Kafka发送优惠券判断是否有过期的优惠券然后进行过期处理。然后再将结果回写进数据库中 **3.优惠券结算微服务** :当使用满减卷结算时后台会根据其条件满足多少金额然后折扣多少并给予结算。当使用折扣卷结算时则会根据折扣结算。当使用立减卷结算时会算上应付金额减去立减并且给予结算。使用任意优惠券时会判断店家是否允许可以和其他优惠券同时使用,然后算上折扣再给予结算。 **4.优惠券有效期微服务:** 由于优惠券一般是基于活动进行发放,大多数是设定一个有效期限,比如3天、10天,起始日期已领取开始计算的模式。 **5.网关模块 :** 减少了客户端与微服务之间的交互次数,增加项目安全性,方便实时对项目各个功能实施安全控制、日志统一处理,易于监控的相关功能 **6.注册中心 :** 所有的服务治理相关的操作都围绕注册中心进行。服务提供者注册到注册中心,服务消费者到注册中心订阅,同时,注册中心中的变更也会通知服务消费者 **项目责任** :1.全程参与项目需求开发,负责优惠券结算微服务与网关服务和后期项目整体的测试与完善 2.参与数据库设计和相关文档的编写。