家族满员后自动拒绝其他所有申请
This commit is contained in:
parent
91812a3caa
commit
65d5a6fbfc
@ -75,6 +75,7 @@ public class FamilyMessageHandleExe {
|
|||||||
Integer familyCurrentMemberCount = getMemberCount(levelConfig);
|
Integer familyCurrentMemberCount = getMemberCount(levelConfig);
|
||||||
|
|
||||||
if (familyCurrentMemberCount >= levelConfig.getMaxMember()) {
|
if (familyCurrentMemberCount >= levelConfig.getMaxMember()) {
|
||||||
|
familyMessageService.rejectFamilyPendingMessages(msg.getFamilyId());
|
||||||
ResponseAssert.failure(FamilyErrorCode.FAMILY_MEMBER_MAX);
|
ResponseAssert.failure(FamilyErrorCode.FAMILY_MEMBER_MAX);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -82,9 +83,13 @@ public class FamilyMessageHandleExe {
|
|||||||
updateMsg(cmd, msg, FamilyMessageStatusEnum.APPROVED);
|
updateMsg(cmd, msg, FamilyMessageStatusEnum.APPROVED);
|
||||||
userJoinFamily(cmd, msg, levelConfig);
|
userJoinFamily(cmd, msg, levelConfig);
|
||||||
|
|
||||||
//取消其他申请记录
|
|
||||||
familyMessageService.cancelUserPendingMessages(msg.getSenderUser());
|
familyMessageService.cancelUserPendingMessages(msg.getSenderUser());
|
||||||
|
|
||||||
|
Integer newMemberCount = getMemberCount(levelConfig);
|
||||||
|
if (newMemberCount >= levelConfig.getMaxMember()) {
|
||||||
|
familyMessageService.rejectFamilyPendingMessages(msg.getFamilyId());
|
||||||
|
}
|
||||||
|
|
||||||
sendNotification(msg.getSenderUser(), true);
|
sendNotification(msg.getSenderUser(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,4 +26,6 @@ public interface FamilyMessageService extends BaseService<FamilyMessage> {
|
|||||||
void cancelUserPendingMessages(Long userId);
|
void cancelUserPendingMessages(Long userId);
|
||||||
|
|
||||||
void cancelMessageIfUserJoined(Long messageId, Long userId);
|
void cancelMessageIfUserJoined(Long messageId, Long userId);
|
||||||
|
|
||||||
|
void rejectFamilyPendingMessages(Long familyId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,4 +88,16 @@ public class FamilyMessageServiceImpl extends
|
|||||||
.eq(FamilyMessage::getSenderUser, userId)
|
.eq(FamilyMessage::getSenderUser, userId)
|
||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void rejectFamilyPendingMessages(Long familyId) {
|
||||||
|
if (Objects.isNull(familyId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
update()
|
||||||
|
.set(FamilyMessage::getStatus, FamilyMessageStatusEnum.REJECTED.getCode())
|
||||||
|
.eq(FamilyMessage::getFamilyId, familyId)
|
||||||
|
.eq(FamilyMessage::getStatus, FamilyMessageStatusEnum.PENDING.getCode())
|
||||||
|
.execute();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user