This commit is contained in:
@@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.soune.nocopy.entity.file.moderation.ModerationPassportFile;
|
||||
import ru.soune.nocopy.repository.ModerationFileRepository;
|
||||
import ru.soune.nocopy.service.user.moderation.UserVerificationService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -14,6 +15,8 @@ public class ModerationFileService {
|
||||
|
||||
private final ModerationFileRepository moderationFileRepository;
|
||||
|
||||
private final UserVerificationService userVerificationService;
|
||||
|
||||
public void addFiles(Long userId, Map<Integer, String> files) {
|
||||
List<ModerationPassportFile> moderationFileRepositoryByStatus =
|
||||
moderationFileRepository.findByStatus(ModerationFileStatus.ACTIVE.getName());
|
||||
@@ -33,6 +36,8 @@ public class ModerationFileService {
|
||||
|
||||
moderationFileRepository.save(moderationFile);
|
||||
}
|
||||
|
||||
userVerificationService.initUserVerification(userId);
|
||||
}
|
||||
|
||||
public List<ModerationPassportFile> getActiveFiles() {
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package ru.soune.nocopy.service.user.moderation;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.soune.nocopy.entity.user.ModerationStatus;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.entity.user.moderation.UserVerification;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.repository.UserVerificationRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UserVerificationService {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
|
||||
private final UserVerificationRepository userVerificationRepository;
|
||||
|
||||
public void initUserVerification(Long userId) {
|
||||
User user = userRepository.findById(userId).orElse(null);
|
||||
|
||||
if (user == null) return;
|
||||
|
||||
UserVerification userVerification = UserVerification.builder()
|
||||
.moderationStatus(ModerationStatus.VERIFICATION_IN_PROGRESS)
|
||||
.build();
|
||||
|
||||
userVerificationRepository.save(userVerification);
|
||||
|
||||
user.setVerificationStatus(ModerationStatus.VERIFICATION_IN_PROGRESS);
|
||||
|
||||
userRepository.save(user);
|
||||
}
|
||||
|
||||
public UserVerification verifyUser(Long userId, String message, Long adminId, boolean verified) {
|
||||
User user = userRepository.findById(userId).orElse(null);
|
||||
|
||||
if (user == null) return null;
|
||||
|
||||
UserVerification userVerification = userVerificationRepository.findById(userId).orElse(null);
|
||||
|
||||
if (userVerification == null) return null;
|
||||
|
||||
ModerationStatus moderationStatus = verified ? ModerationStatus.VERIFIED: ModerationStatus.VERIFICATION_FAILED;
|
||||
|
||||
userVerification.setModerationStatus(moderationStatus);
|
||||
|
||||
if (message != null) userVerification.setMessage(message);
|
||||
|
||||
userVerification.setAdminId(adminId);
|
||||
|
||||
UserVerification save = userVerificationRepository.save(userVerification);
|
||||
|
||||
user.setVerificationStatus(moderationStatus);
|
||||
|
||||
userRepository.save(user);
|
||||
|
||||
return save;
|
||||
}
|
||||
|
||||
public List<UserVerification> verifications() {
|
||||
return userVerificationRepository.findAll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user