|
|
@@ -782,6 +782,7 @@ public class MembershipService implements MembershipServiceInterface {
|
|
|
if (adminUser == null) {
|
|
|
return false;
|
|
|
}
|
|
|
+ String fromLevel = adminUser.getMemberLevel();
|
|
|
|
|
|
// 插入FamilyMembership记录
|
|
|
FamilyMembership membership = new FamilyMembership();
|
|
|
@@ -1058,6 +1059,7 @@ public class MembershipService implements MembershipServiceInterface {
|
|
|
}
|
|
|
|
|
|
// 降级管理员:若无其他有效付费会员,降级全家为 FREE
|
|
|
+ Family family = familyMapper.selectById(order.getFamilyId());
|
|
|
if (family != null && family.getCreatorId() != null) {
|
|
|
User adminUser = userMapper.selectById(family.getCreatorId());
|
|
|
if (adminUser != null && order.getLevelCode().equals(adminUser.getMemberLevel())) {
|
|
|
@@ -1379,23 +1381,10 @@ public class MembershipService implements MembershipServiceInterface {
|
|
|
membership.setAmount(0);
|
|
|
membershipMapper.insert(membership);
|
|
|
|
|
|
- User adminUser = userMapper.selectById(adminUserId);
|
|
|
- if (adminUser != null) {
|
|
|
- adminUser.setMemberLevel("FAMILY");
|
|
|
- adminUser.setMemberExpireTime(endDate);
|
|
|
- adminUser.setUpdatedAt(now);
|
|
|
- userMapper.updateById(adminUser);
|
|
|
- }
|
|
|
-
|
|
|
- MemberUpgradeRecord upgradeRecord = new MemberUpgradeRecord();
|
|
|
- upgradeRecord.setUserId(adminUserId);
|
|
|
- upgradeRecord.setFromLevel("FREE");
|
|
|
- upgradeRecord.setToLevel("FAMILY");
|
|
|
- upgradeRecord.setUpgradeType("trial");
|
|
|
- upgradeRecord.setOrderId(order.getId());
|
|
|
- upgradeRecord.setExpireTime(endDate);
|
|
|
- upgradeRecord.setCreatedAt(now);
|
|
|
- memberUpgradeRecordMapper.insert(upgradeRecord);
|
|
|
+ // 方案B:试用会员也全家同步
|
|
|
+ if (family != null) {
|
|
|
+ syncMembershipToFamilyMembers(familyId, "FAMILY", endDate, "trial", order.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private MembershipLevelDTO toLevelDTO(MembershipLevel level) {
|