新增会员卡模块基础

This commit is contained in:
时舟年
2026-05-21 14:51:29 +08:00
parent 8b8920a53d
commit 0afd1cc865
33 changed files with 2646 additions and 16 deletions
@@ -18,7 +18,8 @@ import java.util.List;
@SpringBootApplication(scanBasePackages = "cn.novalon.gym.manage", exclude = {
ReactiveUserDetailsServiceAutoConfiguration.class })
@EnableR2dbcRepositories(basePackages = { "cn.novalon.gym.manage.db.dao",
"cn.novalon.gym.manage.sys.audit.repository" })
"cn.novalon.gym.manage.sys.audit.repository" ,
"cn.novalon.gym.manage.gymmembercard.dao"})
public class ManageApplication {
private static final Logger logger = LoggerFactory.getLogger(ManageApplication.class);
@@ -1,5 +1,8 @@
package cn.novalon.gym.manage.app.config;
import cn.novalon.gym.manage.gymmembercard.handler.MemberCardHandler;
import cn.novalon.gym.manage.gymmembercard.handler.MemberCardRecordHandler;
import cn.novalon.gym.manage.gymmembercard.handler.MemberCardTransactionHandler;
import cn.novalon.gym.manage.sys.handler.auth.SysAuthHandler;
import cn.novalon.gym.manage.sys.handler.auth.PasswordDiagnosticHandler;
import cn.novalon.gym.manage.sys.handler.config.SysConfigHandler;
@@ -51,7 +54,10 @@ public class SystemRouter {
SysUserMessageHandler messageHandler,
SysFileHandler fileHandler,
SysPermissionHandler permissionHandler,
PasswordDiagnosticHandler passwordDiagnosticHandler) {
PasswordDiagnosticHandler passwordDiagnosticHandler,
MemberCardHandler memberCardHandler,
MemberCardRecordHandler memberCardRecordHandler,
MemberCardTransactionHandler memberCardTransactionHandler) {
return route()
// ========== 诊断路由 ==========
@@ -192,7 +198,53 @@ public class SystemRouter {
.POST("/api/permissions", permissionHandler::createPermission)
.PUT("/api/permissions/{id}", permissionHandler::updatePermission)
.DELETE("/api/permissions/{id}", permissionHandler::deletePermission)
// ========== 会员卡管理路由 ==========
// 会员卡类型
// 1. 获取所有会员卡类型
.GET("/api/memberCard/active", memberCardHandler::getActiveCards)
// 2. 获取会员卡详情
.GET("/api/memberCard/{memberCardId}", memberCardHandler::getMemberCardById)
// 3. 条件查询会员卡列表
.GET("/api/memberCard", memberCardHandler::getMemberCardList)
// 4. 新增/更新会员卡
.POST("/api/memberCard", memberCardHandler::saveMemberCard)
// 5. 逻辑删除会员卡
.DELETE("/api/memberCard/{memberCardId}", memberCardHandler::deleteMemberCard)
// 会员卡持卡
// 1. 会员购卡/发卡
.POST("/api/memberCardRecord", memberCardRecordHandler::insertActiveRecord)
// 2. 会员端“我的卡包” - 按会员ID获取有效卡
.GET("/api/memberCardRecord/member/{memberId}/active", memberCardRecordHandler::getMyCards)
// 3. 管理端按会员ID分页查所有卡记录
.GET("/api/memberCardRecord/member/{memberId}", memberCardRecordHandler::getMemberCardRecords)
// 4. 到期扫描
.GET("/api/memberCardRecord/expired", memberCardRecordHandler::getExpiredCards)
// 5. 扣次/扣费
.POST("/api/memberCardRecord/{id}/deduct", memberCardRecordHandler::deductUsage)
// 6. 续费
.POST("/api/memberCardRecord/{id}/renew", memberCardRecordHandler::renewCard)
// 7. 状态变更(过期/退款)
.PUT("/api/memberCardRecord/{id}/status", memberCardRecordHandler::updateStatus)
// 8. 验证次卡
.GET("/api/memberCardRecord/{id}/validate/count", memberCardRecordHandler::validateCountCard)
// 9. 验证储值卡
.GET("/api/memberCardRecord/{id}/validate/stored", memberCardRecordHandler::validateStoredCard)
// 会员卡交易
// 1. 插入流水记录
.POST("/api/transactions", memberCardTransactionHandler::insertTransaction)
// 2. 后台条件分页查询流水(带多个查询参数)
.GET("/api/transactions", memberCardTransactionHandler::getTransactionsWithConditions)
// 3. 按会员ID查询使用记录(分页 + 时间范围)
.GET("/api/transactions/member/{memberId}", memberCardTransactionHandler::getMemberTransactions)
// 4. 按卡ID查询所有流水记录
.GET("/api/transactions/card/{cardId}", memberCardTransactionHandler::getTransactionsByCardId)
// 5. 统计某卡种总扣次数
.GET("/api/transactions/statistics/deduct/card/{cardId}", memberCardTransactionHandler::getDeductCountByCardId)
// 6. 统计某时间段续费总金额
.GET("/api/transactions/statistics/renew", memberCardTransactionHandler::getRenewAmountByTimeRange)
// 7. 统计某会员购卡总金额
.GET("/api/transactions/statistics/purchase/member/{memberId}", memberCardTransactionHandler::getPurchaseAmountByMember)
.build();
}
}