본문 바로가기
코딩/백앤드

프로젝트 세 번째 단계, service와 serviceImpl 생성

by act2 2024. 12. 4.
728x90

entity와 repository를 만든 후,

service를 생성하는데, 여기에는 UserService와 UserServiceImpl 두 개의 클래스가 있습니다.

 

UserService

package com.lion.demo.service;

import com.lion.demo.entity.User;
import java.util.List;

public interface UserService {

    int CORRECT_LOGIN = 0;
    int WRONG_PASSWORD = 1;
    int USER_NOT_EXIST = 2;

    User findByUid(String uid);

    List<User> getUsers();

    void registerUser(User user);

    void updateUser(User user);

    void deleteUser(String uid);

    int login(String uid, String pwd);
}

 

 

UserServiceImpl

package com.lion.demo.service;

import com.lion.demo.entity.User;
import com.lion.demo.repository.UserRepository;
import java.util.List;
import org.mindrot.jbcrypt.BCrypt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository;

    @Override
    public User findByUid(String uid) {
        return userRepository.findById(uid).orElse(null);
    }

    @Override
    public List<User> getUsers() {
        return userRepository.findAll();
    }

    @Override
    public void registerUser(User user) {
        userRepository.save(user);
    }

    @Override
    public void updateUser(User user) {
        userRepository.save(user);
    }

    @Override
    public void deleteUser(String uid) {
        userRepository.deleteById(uid);
    }

    @Override
    public int login(String uid, String pwd) {
        User user = findByUid(uid);
        if (user == null) {
            return USER_NOT_EXIST;
        }
        if (BCrypt.checkpw(pwd, user.getPwd())) {
            return CORRECT_LOGIN;
        }
        return WRONG_PASSWORD;
    }
}
728x90