77 lines
2.9 KiB
Java
77 lines
2.9 KiB
Java
package com.eactive.testmaster.user.service;
|
|
|
|
import static com.eactive.testmaster.user.service.UserService.USER_NOT_FOUND_MESSAGE;
|
|
|
|
import com.eactive.testmaster.common.entity.EnabledStatus;
|
|
import com.eactive.testmaster.common.exception.UserNotFoundException;
|
|
import com.eactive.testmaster.user.entity.StaffUser;
|
|
import com.eactive.testmaster.user.entity.UserStatus;
|
|
import com.eactive.testmaster.user.repository.StaffUserRepository;
|
|
import java.util.UUID;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
@Service
|
|
@Transactional
|
|
public class StaffUserService {
|
|
|
|
@Autowired
|
|
private StaffUserRepository staffUserRepository;
|
|
|
|
public Page<StaffUser> findAll(Specification<StaffUser> spec, Pageable pageable) {
|
|
return staffUserRepository.findAll(spec, pageable);
|
|
}
|
|
|
|
public StaffUser findById(String id) {
|
|
return staffUserRepository.findById(id).orElseThrow(() -> new UserNotFoundException(USER_NOT_FOUND_MESSAGE));
|
|
}
|
|
|
|
public void update(String esntlId, StaffUser user) {
|
|
StaffUser original = staffUserRepository.findById(esntlId).orElseThrow(() -> new UserNotFoundException(USER_NOT_FOUND_MESSAGE));
|
|
original.setUserId(user.getUserId());
|
|
original.setMobilePhone(user.getMobilePhone());
|
|
original.setStatus(user.getStatus());
|
|
original.setLockAt(user.getLockAt());
|
|
if (original.getLockAt().equals(EnabledStatus.N)) {
|
|
original.setLockCnt(0);
|
|
original.setLastLockDate(null);
|
|
}
|
|
|
|
original.setUserSecurity(user.getUserSecurity());
|
|
staffUserRepository.save(original);
|
|
}
|
|
|
|
public void deleteById(String esntlId) {
|
|
StaffUser user = staffUserRepository.findById(esntlId).orElseThrow(() -> new UserNotFoundException(USER_NOT_FOUND_MESSAGE));
|
|
user.setUserId(UserStatus.DELETED.toString());
|
|
user.setUsername(UserStatus.DELETED.toString());
|
|
user.setStatus(UserStatus.DELETED);
|
|
user.setLockAt(EnabledStatus.Y);
|
|
staffUserRepository.save(user);
|
|
}
|
|
|
|
public void create(StaffUser user) {
|
|
user.setEsntlId(UUID.randomUUID().toString());
|
|
user.setStatus(UserStatus.ACTIVE);
|
|
user.setLockAt(EnabledStatus.N);
|
|
user.setLockCnt(0);
|
|
|
|
staffUserRepository.save(user);
|
|
|
|
}
|
|
|
|
public void updatePassword(String id, String newPassword) {
|
|
StaffUser user = staffUserRepository.findById(id).orElseThrow(() -> new UserNotFoundException(USER_NOT_FOUND_MESSAGE));
|
|
user.setUserSecurity(newPassword);
|
|
user.setLockAt(EnabledStatus.N);
|
|
user.setLockCnt(0);
|
|
user.setLastLockDate(null);
|
|
staffUserRepository.save(user);
|
|
}
|
|
|
|
}
|