membercard与member-reguster合并,能进行编译和启动
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto
|
||||||
|
;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建会员卡类型请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CreateMemberCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡名称
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "会员卡名称不能为空")
|
||||||
|
private String memberCardName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型:TIME_CARD-时长卡, COUNT_CARD-次卡, STORED_VALUE_CARD-储值卡
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "会员卡类型不能为空")
|
||||||
|
private String memberCardType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡价格
|
||||||
|
*/
|
||||||
|
@NotNull(message = "会员卡价格不能为空")
|
||||||
|
private BigDecimal memberCardPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效天数(时长卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardValidityDays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总次数(次卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardTotalTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 面额(储值卡用)
|
||||||
|
*/
|
||||||
|
private BigDecimal memberCardAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:0-下架, 1-上架
|
||||||
|
*/
|
||||||
|
private Integer memberCardStatus = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展配置(JSON格式)
|
||||||
|
*/
|
||||||
|
private String extraConfig;
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 购买会员卡请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PurchaseCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "会员ID不能为空")
|
||||||
|
private Long memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "会员卡类型ID不能为空")
|
||||||
|
private Long memberCardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 来源订单ID
|
||||||
|
*/
|
||||||
|
private Long sourceOrderId;
|
||||||
|
}
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款申请请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RefundCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款原因
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "退款原因不能为空")
|
||||||
|
private String reason;
|
||||||
|
}
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 续费会员卡请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RenewCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加的次数
|
||||||
|
*/
|
||||||
|
private Integer addTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加的金额
|
||||||
|
*/
|
||||||
|
private Double addAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加的天数
|
||||||
|
*/
|
||||||
|
private Integer addDays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 来源订单ID
|
||||||
|
*/
|
||||||
|
private Long sourceOrderId;
|
||||||
|
}
|
||||||
+60
@@ -0,0 +1,60 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新会员卡类型请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateMemberCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡名称
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "会员卡名称不能为空")
|
||||||
|
private String memberCardName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型:TIME_CARD-时长卡, COUNT_CARD-次卡, STORED_VALUE_CARD-储值卡
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "会员卡类型不能为空")
|
||||||
|
private String memberCardType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡价格
|
||||||
|
*/
|
||||||
|
@NotNull(message = "会员卡价格不能为空")
|
||||||
|
private BigDecimal memberCardPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效天数(时长卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardValidityDays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总次数(次卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardTotalTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 面额(储值卡用)
|
||||||
|
*/
|
||||||
|
private BigDecimal memberCardAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:0-下架, 1-上架
|
||||||
|
*/
|
||||||
|
private Integer memberCardStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展配置(JSON格式)
|
||||||
|
*/
|
||||||
|
private String extraConfig;
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
package cn.novalon.gym.manage.member.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用会员卡请求 DTO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UseCardRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扣减的次数
|
||||||
|
*/
|
||||||
|
private Integer deductTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扣减的金额
|
||||||
|
*/
|
||||||
|
private Double deductAmount;
|
||||||
|
}
|
||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
package cn.novalon.gym.manage.member.card.entity;
|
package cn.novalon.gym.manage.member.entity;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.entity.BaseEntity;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+2
-3
@@ -1,7 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.entity;
|
package cn.novalon.gym.manage.member.entity;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardRecordStatus;
|
import cn.novalon.gym.manage.member.enums.MemberCardRecordStatus;
|
||||||
import cn.novalon.gym.manage.member.entity.BaseEntity;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
package cn.novalon.gym.manage.member.card.entity;
|
package cn.novalon.gym.manage.member.entity;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.entity.BaseEntity;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+2
-3
@@ -1,7 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.entity;
|
package cn.novalon.gym.manage.member.entity;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.enums.RefundStatus;
|
import cn.novalon.gym.manage.member.enums.RefundStatus;
|
||||||
import cn.novalon.gym.manage.member.entity.BaseEntity;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员卡流水关联业务类型枚举
|
* 会员卡流水关联业务类型枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员卡状态机事件枚举
|
* 会员卡状态机事件枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员卡记录状态枚举
|
* 会员卡记录状态枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员卡类型枚举
|
* 会员卡类型枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退款申请状态枚举
|
* 退款申请状态枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.enums;
|
package cn.novalon.gym.manage.member.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员卡流水操作类型枚举
|
* 会员卡流水操作类型枚举
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
+3
-4
@@ -1,8 +1,7 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCard;
|
import cn.novalon.gym.manage.member.entity.MemberCard;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.service.IMemberCardService;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardService;
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardRecordService;
|
import cn.novalon.gym.manage.member.service.IMemberCardRecordService;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardService;
|
import cn.novalon.gym.manage.member.service.IMemberCardService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+3
-5
@@ -1,9 +1,7 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.enums.CardEvent;
|
||||||
import cn.novalon.gym.manage.member.card.enums.CardEvent;
|
import cn.novalon.gym.manage.member.repository.MemberCardRecordRepository;
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardRecordStatus;
|
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardRecordRepository;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import cn.novalon.gym.manage.member.card.enums.CardEvent;
|
import cn.novalon.gym.manage.member.enums.CardEvent;
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardRecordStatus;
|
import cn.novalon.gym.manage.member.enums.MemberCardRecordStatus;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+4
-4
@@ -1,9 +1,9 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.hutool.db.PageResult;
|
import cn.hutool.db.PageResult;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import cn.novalon.gym.manage.member.card.enums.TransactionType;
|
import cn.novalon.gym.manage.member.enums.TransactionType;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardTransactionService;
|
import cn.novalon.gym.manage.member.service.IMemberCardTransactionService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import jakarta.validation.Validator;
|
import jakarta.validation.Validator;
|
||||||
+8
-8
@@ -1,12 +1,12 @@
|
|||||||
package cn.novalon.gym.manage.member.card.handler;
|
package cn.novalon.gym.manage.member.handler;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import cn.novalon.gym.manage.member.card.enums.CardEvent;
|
import cn.novalon.gym.manage.member.enums.CardEvent;
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardRecordStatus;
|
import cn.novalon.gym.manage.member.enums.MemberCardRecordStatus;
|
||||||
import cn.novalon.gym.manage.member.card.enums.TransactionType;
|
import cn.novalon.gym.manage.member.enums.TransactionType;
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardRecordRepository;
|
import cn.novalon.gym.manage.member.repository.MemberCardRecordRepository;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardTransactionService;
|
import cn.novalon.gym.manage.member.service.IMemberCardTransactionService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.repository;
|
package cn.novalon.gym.manage.member.repository;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.r2dbc.repository.Modifying;
|
import org.springframework.data.r2dbc.repository.Modifying;
|
||||||
import org.springframework.data.r2dbc.repository.Query;
|
import org.springframework.data.r2dbc.repository.Query;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.repository;
|
package cn.novalon.gym.manage.member.repository;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCard;
|
import cn.novalon.gym.manage.member.entity.MemberCard;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.r2dbc.repository.Modifying;
|
import org.springframework.data.r2dbc.repository.Modifying;
|
||||||
import org.springframework.data.r2dbc.repository.Query;
|
import org.springframework.data.r2dbc.repository.Query;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.repository;
|
package cn.novalon.gym.manage.member.repository;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.r2dbc.repository.Modifying;
|
import org.springframework.data.r2dbc.repository.Modifying;
|
||||||
import org.springframework.data.r2dbc.repository.Query;
|
import org.springframework.data.r2dbc.repository.Query;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.repository;
|
package cn.novalon.gym.manage.member.repository;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.RefundApplication;
|
import cn.novalon.gym.manage.member.entity.RefundApplication;
|
||||||
import org.springframework.data.r2dbc.repository.Query;
|
import org.springframework.data.r2dbc.repository.Query;
|
||||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service;
|
package cn.novalon.gym.manage.member.service;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service;
|
package cn.novalon.gym.manage.member.service;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCard;
|
import cn.novalon.gym.manage.member.entity.MemberCard;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service;
|
package cn.novalon.gym.manage.member.service;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import cn.novalon.gym.manage.member.card.enums.TransactionType;
|
import cn.novalon.gym.manage.member.enums.TransactionType;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service;
|
package cn.novalon.gym.manage.member.service;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.RefundApplication;
|
import cn.novalon.gym.manage.member.entity.RefundApplication;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service.impl;
|
package cn.novalon.gym.manage.member.service.impl;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardRecordRepository;
|
import cn.novalon.gym.manage.member.repository.MemberCardRecordRepository;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardRecordService;
|
import cn.novalon.gym.manage.member.service.IMemberCardRecordService;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
+16
-16
@@ -1,20 +1,20 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service.impl;
|
package cn.novalon.gym.manage.member.service.impl;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCard;
|
import cn.novalon.gym.manage.member.entity.MemberCard;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardRecord;
|
import cn.novalon.gym.manage.member.entity.MemberCardRecord;
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import cn.novalon.gym.manage.member.card.enums.CardEvent;
|
import cn.novalon.gym.manage.member.enums.CardEvent;
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardRecordStatus;
|
import cn.novalon.gym.manage.member.enums.MemberCardRecordStatus;
|
||||||
import cn.novalon.gym.manage.member.card.enums.MemberCardType;
|
import cn.novalon.gym.manage.member.enums.MemberCardType;
|
||||||
import cn.novalon.gym.manage.member.card.enums.TransactionType;
|
import cn.novalon.gym.manage.member.enums.TransactionType;
|
||||||
import cn.novalon.gym.manage.member.card.handler.DistributedLockService;
|
import cn.novalon.gym.manage.member.handler.DistributedLockService;
|
||||||
import cn.novalon.gym.manage.member.card.handler.ExpirationReminderService;
|
import cn.novalon.gym.manage.member.handler.ExpirationReminderService;
|
||||||
import cn.novalon.gym.manage.member.card.handler.MemberCardStateMachine;
|
import cn.novalon.gym.manage.member.handler.MemberCardStateMachine;
|
||||||
import cn.novalon.gym.manage.member.card.handler.RefundSagaHandler;
|
import cn.novalon.gym.manage.member.handler.RefundSagaHandler;
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardRecordRepository;
|
import cn.novalon.gym.manage.member.repository.MemberCardRecordRepository;
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardRepository;
|
import cn.novalon.gym.manage.member.repository.MemberCardRepository;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardService;
|
import cn.novalon.gym.manage.member.service.IMemberCardService;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardTransactionService;
|
import cn.novalon.gym.manage.member.service.IMemberCardTransactionService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service.impl;
|
package cn.novalon.gym.manage.member.service.impl;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.MemberCardTransaction;
|
import cn.novalon.gym.manage.member.entity.MemberCardTransaction;
|
||||||
import cn.novalon.gym.manage.member.card.enums.TransactionType;
|
import cn.novalon.gym.manage.member.enums.TransactionType;
|
||||||
import cn.novalon.gym.manage.member.card.repository.MemberCardTransactionRepository;
|
import cn.novalon.gym.manage.member.repository.MemberCardTransactionRepository;
|
||||||
import cn.novalon.gym.manage.member.card.service.IMemberCardTransactionService;
|
import cn.novalon.gym.manage.member.service.IMemberCardTransactionService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
package cn.novalon.gym.manage.member.card.service.impl;
|
package cn.novalon.gym.manage.member.service.impl;
|
||||||
|
|
||||||
import cn.novalon.gym.manage.member.card.entity.RefundApplication;
|
import cn.novalon.gym.manage.member.entity.RefundApplication;
|
||||||
import cn.novalon.gym.manage.member.card.enums.RefundStatus;
|
import cn.novalon.gym.manage.member.enums.RefundStatus;
|
||||||
import cn.novalon.gym.manage.member.card.repository.RefundApplicationRepository;
|
import cn.novalon.gym.manage.member.repository.RefundApplicationRepository;
|
||||||
import cn.novalon.gym.manage.member.card.service.IRefundApplicationService;
|
import cn.novalon.gym.manage.member.service.IRefundApplicationService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package cn.novalon.gym.manage.member.card.util;
|
package cn.novalon.gym.manage.member.util;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
package cn.novalon.gym.manage.member.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡记录响应 VO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class MemberCardRecordVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡记录ID
|
||||||
|
*/
|
||||||
|
private Long memberCardRecordId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员ID
|
||||||
|
*/
|
||||||
|
private Long memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型ID
|
||||||
|
*/
|
||||||
|
private Long memberCardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡名称
|
||||||
|
*/
|
||||||
|
private String memberCardName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:ACTIVE-有效, USED_UP-用完, EXPIRED-过期, REFUNDED-已退款
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 剩余次数
|
||||||
|
*/
|
||||||
|
private Integer remainingTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 剩余金额
|
||||||
|
*/
|
||||||
|
private Double remainingAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到期时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime expireTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 购买时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime purchaseTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
}
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
package cn.novalon.gym.manage.member.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡交易流水响应 VO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class MemberCardTransactionVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 交易ID
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡记录ID
|
||||||
|
*/
|
||||||
|
private Long memberCardRecordId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员ID
|
||||||
|
*/
|
||||||
|
private Long memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型ID
|
||||||
|
*/
|
||||||
|
private Long memberCardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作类型:PURCHASE-购买, DEDUCT-扣次/扣费, RENEW-续费, REFUND-退款, EXPIRE-过期
|
||||||
|
*/
|
||||||
|
private String operationType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变动次数
|
||||||
|
*/
|
||||||
|
private Integer changeAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变动金额
|
||||||
|
*/
|
||||||
|
private Double changeBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变动后剩余次数
|
||||||
|
*/
|
||||||
|
private Integer afterRemainingCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变动后剩余金额
|
||||||
|
*/
|
||||||
|
private Double afterRemainingBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联业务类型
|
||||||
|
*/
|
||||||
|
private String relatedBizType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
}
|
||||||
+77
@@ -0,0 +1,77 @@
|
|||||||
|
package cn.novalon.gym.manage.member.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型响应 VO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class MemberCardVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡ID
|
||||||
|
*/
|
||||||
|
private Long memberCardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡名称
|
||||||
|
*/
|
||||||
|
private String memberCardName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡类型:TIME_CARD-时长卡, COUNT_CARD-次卡, STORED_VALUE_CARD-储值卡
|
||||||
|
*/
|
||||||
|
private String memberCardType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡价格
|
||||||
|
*/
|
||||||
|
private BigDecimal memberCardPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效天数(时长卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardValidityDays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总次数(次卡用)
|
||||||
|
*/
|
||||||
|
private Integer memberCardTotalTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 面额(储值卡用)
|
||||||
|
*/
|
||||||
|
private BigDecimal memberCardAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:0-下架, 1-上架
|
||||||
|
*/
|
||||||
|
private Integer memberCardStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展配置(JSON格式)
|
||||||
|
*/
|
||||||
|
private String extraConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime updatedAt;
|
||||||
|
}
|
||||||
+77
@@ -0,0 +1,77 @@
|
|||||||
|
package cn.novalon.gym.manage.member.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款申请响应 VO
|
||||||
|
*
|
||||||
|
* @author 付嘉
|
||||||
|
* @date 2026-05-27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class RefundApplicationVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请ID
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员卡记录ID
|
||||||
|
*/
|
||||||
|
private Long recordId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员ID
|
||||||
|
*/
|
||||||
|
private Long memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:PENDING-待审核, APPROVED-已批准, REJECTED-已拒绝, PROCESSING-处理中, SUCCESS-成功, FAILED-失败
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款原因
|
||||||
|
*/
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime applyTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime auditTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核人ID
|
||||||
|
*/
|
||||||
|
private Long auditorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核备注
|
||||||
|
*/
|
||||||
|
private String auditRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款金额
|
||||||
|
*/
|
||||||
|
private BigDecimal refundAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
}
|
||||||
+3
-3
@@ -2,9 +2,9 @@ package cn.novalon.gym.manage.app.config;
|
|||||||
|
|
||||||
|
|
||||||
import cn.novalon.gym.manage.file.handler.SysFileHandler;
|
import cn.novalon.gym.manage.file.handler.SysFileHandler;
|
||||||
import cn.novalon.gym.manage.member.card.handler.MemberCardHandler;
|
import cn.novalon.gym.manage.member.handler.MemberCardHandler;
|
||||||
import cn.novalon.gym.manage.member.card.handler.MemberCardRecordHandler;
|
import cn.novalon.gym.manage.member.handler.MemberCardRecordHandler;
|
||||||
import cn.novalon.gym.manage.member.card.handler.MemberCardTransactionHandler;
|
import cn.novalon.gym.manage.member.handler.MemberCardTransactionHandler;
|
||||||
import cn.novalon.gym.manage.member.handler.MemberHandler;
|
import cn.novalon.gym.manage.member.handler.MemberHandler;
|
||||||
import cn.novalon.gym.manage.member.handler.WechatAuthHandler;
|
import cn.novalon.gym.manage.member.handler.WechatAuthHandler;
|
||||||
import cn.novalon.gym.manage.notify.handler.SysNoticeHandler;
|
import cn.novalon.gym.manage.notify.handler.SysNoticeHandler;
|
||||||
|
|||||||
Reference in New Issue
Block a user