package com.pollex.pam.service;
|
|
import com.pollex.pam.domain.LoginRecord;
|
import com.pollex.pam.enums.LoginResult;
|
import com.pollex.pam.repository.LoginRecordRepository;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.Optional;
|
|
import static com.pollex.pam.enums.LoginMethod.E_SERVICE;
|
import static com.pollex.pam.enums.LoginMethod.OTP;
|
import static com.pollex.pam.enums.LoginResult.FAIL;
|
import static com.pollex.pam.enums.LoginResult.SUCCESS;
|
|
|
@Service
|
@Transactional
|
public class LoginRecordService {
|
|
@Autowired
|
LoginRecordRepository loginRecordRepository;
|
|
public Optional<LoginRecord> findLatestLoginRecord(String account, LoginResult loginResult) {
|
return loginRecordRepository.findTopByAccountAndResultOrderByLoginDate(account, loginResult);
|
}
|
|
public void saveOTPLoginSuccessRecord(String account) {
|
LoginRecord loginRecord = new LoginRecord();
|
loginRecord.setAccount(account);
|
loginRecord.setLoginMethod(OTP);
|
loginRecord.setResult(SUCCESS);
|
|
loginRecordRepository.save(loginRecord);
|
}
|
|
public void saveOTPLoginFailRecord(String account, String failReason) {
|
LoginRecord loginRecord = new LoginRecord();
|
loginRecord.setAccount(account);
|
loginRecord.setLoginMethod(OTP);
|
loginRecord.setResult(FAIL);
|
loginRecord.setFailedReason(failReason);
|
|
loginRecordRepository.save(loginRecord);
|
}
|
|
public void saveEServiceLoginSuccessRecord(String account) {
|
LoginRecord loginRecord = new LoginRecord();
|
loginRecord.setAccount(account);
|
loginRecord.setLoginMethod(E_SERVICE);
|
loginRecord.setResult(SUCCESS);
|
|
loginRecordRepository.save(loginRecord);
|
}
|
|
public void saveEServiceLoginFailRecord(String account, String failReason) {
|
LoginRecord loginRecord = new LoginRecord();
|
loginRecord.setAccount(account);
|
loginRecord.setLoginMethod(E_SERVICE);
|
loginRecord.setResult(FAIL);
|
loginRecord.setFailedReason(failReason);
|
|
loginRecordRepository.save(loginRecord);
|
}
|
}
|