From 42f90c3da44743c4a2805733f70f25e745c7b943 Mon Sep 17 00:00:00 2001 From: wotjd4305 <43901682+wotjd4305@users.noreply.github.com> Date: Thu, 9 May 2019 20:30:56 +0900 Subject: [PATCH 1/2] 5/9 --- build.gradle | 2 + .../sbs/api/AccountController.java | 55 +++++++++ .../sbs/config/SecurityConfig.java | 30 +++++ .../org/dailystudio/sbs/domain/Account.java | 35 ++++++ .../sbs/dto/AccountChangeNameReqDto.java | 13 +++ .../sbs/dto/AccountChangeNameResDto.java | 12 ++ .../AccountFindAccountByUsingEmailReqDto.java | 8 ++ .../sbs/dto/AccountLoginReqDto.java | 9 ++ .../dailystudio/sbs/dto/AccountResDto.java | 16 +++ .../sbs/dto/AccountSignUpReqDto.java | 23 ++++ .../sbs/repository/AccountRepository.java | 8 ++ .../sbs/service/AccountService.java | 106 ++++++++++++++++++ 12 files changed, 317 insertions(+) create mode 100644 src/main/java/org/dailystudio/sbs/api/AccountController.java create mode 100644 src/main/java/org/dailystudio/sbs/config/SecurityConfig.java create mode 100644 src/main/java/org/dailystudio/sbs/domain/Account.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountChangeNameResDto.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountFindAccountByUsingEmailReqDto.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountLoginReqDto.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountResDto.java create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java create mode 100644 src/main/java/org/dailystudio/sbs/repository/AccountRepository.java create mode 100644 src/main/java/org/dailystudio/sbs/service/AccountService.java diff --git a/build.gradle b/build.gradle index d5984ee..6d267f0 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,8 @@ repositories { dependencies { + implementation('org.springframework.boot:spring-boot-starter-security') //security + implementation('io.springfox:springfox-swagger2:+')//swagger implementation('io.springfox:springfox-swagger-ui:+') diff --git a/src/main/java/org/dailystudio/sbs/api/AccountController.java b/src/main/java/org/dailystudio/sbs/api/AccountController.java new file mode 100644 index 0000000..2c4e7b7 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/api/AccountController.java @@ -0,0 +1,55 @@ +package org.dailystudio.sbs.api; + +import lombok.RequiredArgsConstructor; +import org.dailystudio.sbs.dto.AccountLoginReqDto; +import org.dailystudio.sbs.dto.AccountResDto; +import org.dailystudio.sbs.dto.AccountSignUpReqDto; +import org.dailystudio.sbs.service.AccountService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/account") //경로 +@RequiredArgsConstructor +public class AccountController { + + private final AccountService accountService; + + @PostMapping("/login") + public ResponseEntity loginAccount(@RequestBody AccountLoginReqDto accountLoginReqDto) { + AccountResDto accountResDto = accountService.login(accountLoginReqDto); + return ResponseEntity.ok().body(accountResDto); + } + + + @PostMapping("/signUp") + public ResponseEntity signAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + + boolean flag = accountService.signUp(accountSignUpReqDto); + return ResponseEntity.ok(flag); + } + + @GetMapping("/findByUsingEmail") + public ResponseEntity findEmailAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + + boolean flag = accountService.signUp(accountSignUpReqDto); + return ResponseEntity.ok(flag); + } + + @PutMapping("/changName") + public ResponseEntity changeNameAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + + boolean flag = accountService.signUp(accountSignUpReqDto); + return ResponseEntity.ok(flag); + } + + @GetMapping("/returnAllUser") + public ResponseEntity returnAllUserAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + + boolean flag = accountService.signUp(accountSignUpReqDto); + return ResponseEntity.ok(flag); + } + + + +} diff --git a/src/main/java/org/dailystudio/sbs/config/SecurityConfig.java b/src/main/java/org/dailystudio/sbs/config/SecurityConfig.java new file mode 100644 index 0000000..3044365 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/config/SecurityConfig.java @@ -0,0 +1,30 @@ +package org.dailystudio.sbs.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +@Configuration +public class SecurityConfig extends WebSecurityConfigurerAdapter { + + @Override + protected void configure(HttpSecurity http) throws Exception { + http. + authorizeRequests() + .antMatchers("/h2/*") + .permitAll() + .and() + .csrf().disable() + .headers() + .frameOptions() + .disable(); + } + + @Bean + public BCryptPasswordEncoder bCryptPasswordEncoder() { + return new BCryptPasswordEncoder(); + } + +} \ No newline at end of file diff --git a/src/main/java/org/dailystudio/sbs/domain/Account.java b/src/main/java/org/dailystudio/sbs/domain/Account.java new file mode 100644 index 0000000..204c1ca --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/domain/Account.java @@ -0,0 +1,35 @@ +package org.dailystudio.sbs.domain; + + +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@NoArgsConstructor +@Table(name = "account") +@Getter +public class Account { + + @Id //프라이머리 키 + @GeneratedValue(strategy = GenerationType.AUTO) //전략을 정해주는거 + @Column(name = "account_id") //데이터베이스에 저장되는이름 + private Long id; + + @Column(name = "account_email", unique = true, nullable = false) + private String email; + + @Column(name = "account_name", nullable = false) + private String name; + + @Column(name = "account_pass", nullable = false) + private String pass; + + public Account(String email, String name, String pass) { + this.email = email; + this.name = name; + this.pass = pass; + } + +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java new file mode 100644 index 0000000..ee374a7 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java @@ -0,0 +1,13 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +@Getter +public class AccountChangeNameReqDto { + + private String email; + private String name; + private String pass; + private String input_name; +} + diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameResDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameResDto.java new file mode 100644 index 0000000..05bdb3c --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameResDto.java @@ -0,0 +1,12 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +@Getter +public class AccountChangeNameResDto { + private String name; + + public AccountChangeNameResDto(String name) { + this.name= name; + } +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountFindAccountByUsingEmailReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountFindAccountByUsingEmailReqDto.java new file mode 100644 index 0000000..0ffba06 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountFindAccountByUsingEmailReqDto.java @@ -0,0 +1,8 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +@Getter +public class AccountFindAccountByUsingEmailReqDto { + private String email; +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountLoginReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountLoginReqDto.java new file mode 100644 index 0000000..ce911b3 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountLoginReqDto.java @@ -0,0 +1,9 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +@Getter +public class AccountLoginReqDto { + private String email; + private String pass; +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java new file mode 100644 index 0000000..fe431e0 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java @@ -0,0 +1,16 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +@Getter +public class AccountResDto { + //이메일이랑 패스만 ! + private String email; + private String name; + + + public AccountResDto(String email, String pass) { + this.email = email; + this.name= pass; + } +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java new file mode 100644 index 0000000..dec6c11 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java @@ -0,0 +1,23 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; +import org.dailystudio.sbs.domain.Account; +import org.springframework.security.crypto.password.PasswordEncoder; + +@Getter +public class AccountSignUpReqDto { + //가입하기 위해 받는정보에는 id가필요없다. 데이터베이스에 저장할때 자동저장. + // private Long id; + private String email; + private String name; + private String pass; +/* + public Account toEntity(PasswordEncoder passwordEncoder) { + + return Account.builder() + .email(this.email) + .pass(passwordEncoder.encode(this.pass)) + .build(); + }*/ +} + diff --git a/src/main/java/org/dailystudio/sbs/repository/AccountRepository.java b/src/main/java/org/dailystudio/sbs/repository/AccountRepository.java new file mode 100644 index 0000000..c77f835 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/repository/AccountRepository.java @@ -0,0 +1,8 @@ +package org.dailystudio.sbs.repository; + +import org.dailystudio.sbs.domain.Account; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AccountRepository extends JpaRepository { + Account findByEmail(String email); +} diff --git a/src/main/java/org/dailystudio/sbs/service/AccountService.java b/src/main/java/org/dailystudio/sbs/service/AccountService.java new file mode 100644 index 0000000..9c831af --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/service/AccountService.java @@ -0,0 +1,106 @@ +package org.dailystudio.sbs.service; + + +import lombok.RequiredArgsConstructor; +import org.dailystudio.sbs.domain.Account; +import org.dailystudio.sbs.dto.*; +import org.dailystudio.sbs.repository.AccountRepository; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor + public class AccountService { + + private final AccountRepository accountRepository; + + + @Transactional + public boolean signUp(AccountSignUpReqDto accountSignUpReqDto) + { + + String email = accountSignUpReqDto.getEmail(); + String pass = accountSignUpReqDto.getPass(); + String name = accountSignUpReqDto.getName(); + + // + if(accountRepository.findByEmail(email) != null) + { + return false; + } + Account account = new Account(email,pass,name); + accountRepository.save(account); + return true; + + } + + @Transactional + public AccountResDto login(AccountLoginReqDto accountLoginReqDto) { + + String email = accountLoginReqDto.getEmail(); + String pass = accountLoginReqDto.getPass(); + + Account account = accountRepository.findByEmail(email); + if (account == null) { + return null; + } + if (!account.getPass().equals(pass)) { + return null; + } + + AccountResDto accountResDto = new AccountResDto(account.getEmail(), account.getName()); + + return accountResDto; + } + + @Transactional + public AccountResDto findAccountByUsingEmail(AccountFindAccountByUsingEmailReqDto accountFindAccountByUsingEmailReqDto) { + + String email = accountFindAccountByUsingEmailReqDto.getEmail(); + + Account account = accountRepository.findByEmail(email); + if (account == null) { + return null; + } + + AccountResDto accountResDto = new AccountResDto(account.getEmail(), account.getName()); + + return accountResDto; + } + + @Transactional + public AccountChangeNameResDto changeName(AccountChangeNameReqDto accountChangeNameReqDto) { + + + String name = accountChangeNameReqDto.getName(); + String email = accountChangeNameReqDto.getEmail(); + String pass = accountChangeNameReqDto.getPass(); + String input_name = accountChangeNameReqDto.getInput_name(); + + Account account = accountRepository.findByEmail(email); + + if(account == null) + { + return null; + } + if (!account.getEmail().equals(email)) { + return null; + } + if (!account.getPass().equals(pass)) { + return null; + } + if (!account.getName().equals(name)) { + return null; + } + AccountChangeNameResDto accountChangeNameResDto = new AccountChangeNameResDto(input_name); + + return accountChangeNameResDto; + + } + + /*@Transactional + public AccountResDto findAllUser(AccountLoginReqDto accountLoginReqDto) { + } + +*/ +} From 43112bd7c2d6722145ecf3045a628e07950a1a85 Mon Sep 17 00:00:00 2001 From: wotjd4305 <43901682+wotjd4305@users.noreply.github.com> Date: Tue, 14 May 2019 08:48:54 +0900 Subject: [PATCH 2/2] =?UTF-8?q?put=ED=95=B4=EC=84=9C=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=EC=9D=B4=EB=A6=84=EB=B0=94=EA=BE=B8=EA=B8=B0?= =?UTF-8?q?=20=EB=B9=BC=EA=B3=A0=EB=8A=94=20=EB=8B=A4=ED=95=9C=EA=B1=B0?= =?UTF-8?q?=EA=B0=99=EC=95=84=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sbs/api/AccountController.java | 29 +++++---- .../dailystudio/sbs/config/SwaggerConfig.java | 2 +- .../org/dailystudio/sbs/domain/Account.java | 2 + .../sbs/dto/AccountChangeNameReqDto.java | 1 - .../sbs/dto/AccountFindAllUserDto.java | 17 +++++ .../dailystudio/sbs/dto/AccountResDto.java | 6 +- .../sbs/dto/AccountSignUpReqDto.java | 5 ++ .../sbs/service/AccountService.java | 64 ++++++++++++++----- 8 files changed, 90 insertions(+), 36 deletions(-) create mode 100644 src/main/java/org/dailystudio/sbs/dto/AccountFindAllUserDto.java diff --git a/src/main/java/org/dailystudio/sbs/api/AccountController.java b/src/main/java/org/dailystudio/sbs/api/AccountController.java index 2c4e7b7..91c907b 100644 --- a/src/main/java/org/dailystudio/sbs/api/AccountController.java +++ b/src/main/java/org/dailystudio/sbs/api/AccountController.java @@ -1,9 +1,7 @@ package org.dailystudio.sbs.api; import lombok.RequiredArgsConstructor; -import org.dailystudio.sbs.dto.AccountLoginReqDto; -import org.dailystudio.sbs.dto.AccountResDto; -import org.dailystudio.sbs.dto.AccountSignUpReqDto; +import org.dailystudio.sbs.dto.*; import org.dailystudio.sbs.service.AccountService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -29,25 +27,28 @@ public ResponseEntity signAccount(@RequestBody AccountSignUpReqDto acco return ResponseEntity.ok(flag); } - @GetMapping("/findByUsingEmail") - public ResponseEntity findEmailAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + @GetMapping("/findByUsingEmail/{email}") + public ResponseEntity findEmailAccount(@PathVariable("email") String email) { - boolean flag = accountService.signUp(accountSignUpReqDto); - return ResponseEntity.ok(flag); + AccountResDto accountResDto = accountService.findAccountByUsingEmail(email); + return ResponseEntity.ok().body(accountResDto); } - @PutMapping("/changName") - public ResponseEntity changeNameAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { - boolean flag = accountService.signUp(accountSignUpReqDto); - return ResponseEntity.ok(flag); + @PutMapping("/changName/{modifiedUserName}") + public ResponseEntity changeNameAccount(@PathVariable String modifiedUserNAME, @RequestBody AccountChangeNameReqDto accountChangeNameReqDto) { + + AccountChangeNameResDto accountChangeNameResDto = accountService.changeName(modifiedUserNAME, accountChangeNameReqDto); + //성공적으로 바뀌었으면 바뀐이름 리턴 + return ResponseEntity.ok().body(accountChangeNameResDto); } + //요청할게 없어서? 안에 안넣었습니다 @GetMapping("/returnAllUser") - public ResponseEntity returnAllUserAccount(@RequestBody AccountSignUpReqDto accountSignUpReqDto) { + public ResponseEntity returnAllUserAccount() { - boolean flag = accountService.signUp(accountSignUpReqDto); - return ResponseEntity.ok(flag); + AccountFindAllUserDto accountFindAllUserDto = accountService.findAllUser(); + return ResponseEntity.ok().body(accountFindAllUserDto); } diff --git a/src/main/java/org/dailystudio/sbs/config/SwaggerConfig.java b/src/main/java/org/dailystudio/sbs/config/SwaggerConfig.java index d42a5f1..65c8db9 100644 --- a/src/main/java/org/dailystudio/sbs/config/SwaggerConfig.java +++ b/src/main/java/org/dailystudio/sbs/config/SwaggerConfig.java @@ -17,7 +17,7 @@ public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) // 현재 RequestMapping으로 할당된 모든 URL 리스트를 추출 - .paths(PathSelectors.ant("/api/**")) // 그중 /api/** 인 URL들만 필터링 + .paths(PathSelectors.ant("/account/**")) // 그중 /api/** 인 URL들만 필터링 .build(); } diff --git a/src/main/java/org/dailystudio/sbs/domain/Account.java b/src/main/java/org/dailystudio/sbs/domain/Account.java index 204c1ca..92c5974 100644 --- a/src/main/java/org/dailystudio/sbs/domain/Account.java +++ b/src/main/java/org/dailystudio/sbs/domain/Account.java @@ -32,4 +32,6 @@ public Account(String email, String name, String pass) { this.pass = pass; } + + } diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java index ee374a7..0610fcf 100644 --- a/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java +++ b/src/main/java/org/dailystudio/sbs/dto/AccountChangeNameReqDto.java @@ -8,6 +8,5 @@ public class AccountChangeNameReqDto { private String email; private String name; private String pass; - private String input_name; } diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountFindAllUserDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountFindAllUserDto.java new file mode 100644 index 0000000..ebd2471 --- /dev/null +++ b/src/main/java/org/dailystudio/sbs/dto/AccountFindAllUserDto.java @@ -0,0 +1,17 @@ +package org.dailystudio.sbs.dto; + +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +@Getter +public class AccountFindAllUserDto { + + private List accounts = new ArrayList<>(); + + public AccountFindAllUserDto(List accounts) { + + this.accounts= accounts; + } +} diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java index fe431e0..5c4863b 100644 --- a/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java +++ b/src/main/java/org/dailystudio/sbs/dto/AccountResDto.java @@ -4,13 +4,13 @@ @Getter public class AccountResDto { - //이메일이랑 패스만 ! + //이메일이랑 이름만 ! private String email; private String name; - public AccountResDto(String email, String pass) { + public AccountResDto(String email, String name) { this.email = email; - this.name= pass; + this.name= name; } } diff --git a/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java b/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java index dec6c11..9b92ee8 100644 --- a/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java +++ b/src/main/java/org/dailystudio/sbs/dto/AccountSignUpReqDto.java @@ -11,6 +11,11 @@ public class AccountSignUpReqDto { private String email; private String name; private String pass; + + public Account toAccountEntity(PasswordEncoder passwordEncoder) { + String encodedPassword = passwordEncoder.encode(pass); + return new Account(email, name, encodedPassword); + } /* public Account toEntity(PasswordEncoder passwordEncoder) { diff --git a/src/main/java/org/dailystudio/sbs/service/AccountService.java b/src/main/java/org/dailystudio/sbs/service/AccountService.java index 9c831af..44966f3 100644 --- a/src/main/java/org/dailystudio/sbs/service/AccountService.java +++ b/src/main/java/org/dailystudio/sbs/service/AccountService.java @@ -1,18 +1,25 @@ package org.dailystudio.sbs.service; +import com.fasterxml.jackson.databind.util.BeanUtil; import lombok.RequiredArgsConstructor; import org.dailystudio.sbs.domain.Account; import org.dailystudio.sbs.dto.*; import org.dailystudio.sbs.repository.AccountRepository; +import org.springframework.beans.BeanUtils; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.List; + @Service @RequiredArgsConstructor public class AccountService { private final AccountRepository accountRepository; + private final BCryptPasswordEncoder bCryptPasswordEncoder; @Transactional @@ -28,9 +35,9 @@ public boolean signUp(AccountSignUpReqDto accountSignUpReqDto) { return false; } - Account account = new Account(email,pass,name); + Account account = accountSignUpReqDto.toAccountEntity(bCryptPasswordEncoder); accountRepository.save(account); - return true; + return true; } @@ -38,25 +45,27 @@ public boolean signUp(AccountSignUpReqDto accountSignUpReqDto) public AccountResDto login(AccountLoginReqDto accountLoginReqDto) { String email = accountLoginReqDto.getEmail(); - String pass = accountLoginReqDto.getPass(); Account account = accountRepository.findByEmail(email); + + //그런 이메일을 가진 객체가 없다면 null반환 if (account == null) { return null; } - if (!account.getPass().equals(pass)) { - return null; + //비밀번호를 복호화한 비밀번호와 같다면 그 객체를 반환 + if(bCryptPasswordEncoder.matches(accountLoginReqDto.getPass(), account.getPass())) + { + AccountResDto accountResDto = new AccountResDto(account.getEmail(), account.getName()); + return accountResDto; } - AccountResDto accountResDto = new AccountResDto(account.getEmail(), account.getName()); - - return accountResDto; + //비번이랑 같지않아요~ + return null; } - @Transactional - public AccountResDto findAccountByUsingEmail(AccountFindAccountByUsingEmailReqDto accountFindAccountByUsingEmailReqDto) { - String email = accountFindAccountByUsingEmailReqDto.getEmail(); + @Transactional + public AccountResDto findAccountByUsingEmail(String email) { Account account = accountRepository.findByEmail(email); if (account == null) { @@ -69,13 +78,13 @@ public AccountResDto findAccountByUsingEmail(AccountFindAccountByUsingEmailReqDt } @Transactional - public AccountChangeNameResDto changeName(AccountChangeNameReqDto accountChangeNameReqDto) { + public AccountChangeNameResDto changeName(String modifiedUserName, AccountChangeNameReqDto accountChangeNameReqDto) { - String name = accountChangeNameReqDto.getName(); + String name = accountChangeNameReqDto.getName(); String email = accountChangeNameReqDto.getEmail(); String pass = accountChangeNameReqDto.getPass(); - String input_name = accountChangeNameReqDto.getInput_name(); + String input_name = modifiedUserName; Account account = accountRepository.findByEmail(email); @@ -94,13 +103,34 @@ public AccountChangeNameResDto changeName(AccountChangeNameReqDto accountChangeN } AccountChangeNameResDto accountChangeNameResDto = new AccountChangeNameResDto(input_name); + //삭제하고 다시넣어주나? + accountRepository.deleteById(account.getId()); + //이쪽까지오면 다 같으니거니까! + Account modified_account = new Account(email,pass,name); + accountRepository.save(modified_account); + + //바뀐이름만 리턴 return accountChangeNameResDto; } - /*@Transactional - public AccountResDto findAllUser(AccountLoginReqDto accountLoginReqDto) { + @Transactional + public AccountFindAllUserDto findAllUser() { + + List accounts = accountRepository.findAll(); + List accountResDtoList = new ArrayList<>(); + + //AccountFindAllUserDto의 매개변수로 들어갈, ResDtoList를 만들자 + for(Account account_index : accounts) + { + AccountResDto accountResDto = new AccountResDto(account_index.getEmail(), account_index.getName()); + accountResDtoList.add(accountResDto); + } + + AccountFindAllUserDto accountFindAllUserDto = new AccountFindAllUserDto(accountResDtoList); + + + return accountFindAllUserDto; } -*/ }