feat: 新增会员时选择卡类型(月卡/季卡/年卡/无限期),自动计算到期日期和价格

This commit is contained in:
Administrator 2026-07-13 08:51:16 +08:00
commit 6d07ec2b2b
2 changed files with 14 additions and 1 deletions

View file

@ -13,6 +13,8 @@ public class MemberAddDTO {
private Integer sex;
private String phone;
private String level;
private String cardType;
private Integer price;
private String remark;
private MultipartFile file;
}

View file

@ -74,10 +74,21 @@ public class MemberServiceImpl implements MemberService {
member.setLevel(memberAddDTO.getLevel());
member.setRemark(memberAddDTO.getRemark());
member.setStartDate(DateUtil.today());
member.setEndDate(null);
member.setRemainCount(null);
member.setTotalSpend(0);
// 根据卡类型计算到期日期
String cardType = memberAddDTO.getCardType();
if ("月卡".equals(cardType)) {
member.setEndDate(DateUtil.offsetDay(DateUtil.date(), 30).toString().substring(0, 10));
} else if ("季卡".equals(cardType)) {
member.setEndDate(DateUtil.offsetDay(DateUtil.date(), 90).toString().substring(0, 10));
} else if ("年卡".equals(cardType)) {
member.setEndDate(DateUtil.offsetDay(DateUtil.date(), 365).toString().substring(0, 10));
} else {
member.setEndDate(null); // 无限期
}
if (memberAddDTO.getFile() != null && !memberAddDTO.getFile().isEmpty()) {
try {
String avatar = saveAvatar(memberAddDTO.getFile());