Skip to content

Commit

Permalink
Merge pull request codestates-seb#213 from codestates-seb/fix/소셜로그인_포…
Browse files Browse the repository at this point in the history
…인트충전오류수정

Fix: 소셜로그인마다 포인트 충전되는 버그 수정
  • Loading branch information
Taekgil99 committed Nov 30, 2022
2 parents 7f18dd5 + 0e91a2c commit 60b1267
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
package com.backend.global.config.auth.dto;

import com.backend.domain.point.application.PointService;
import com.backend.domain.point.domain.PointType;
import com.backend.domain.user.domain.User;
import lombok.Builder;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;

import java.util.Map;

/**
* OAuth2 로그인 시 반환되는 사용자 정보
*/
@Slf4j
@Getter
public class OAuthAttributes {
private final Map<String, Object> attributes;
Expand Down Expand Up @@ -90,7 +94,7 @@ private static OAuthAttributes ofKakao(String registrationId, String userNameAtt
.build();
}

public User toEntity() {
public User toEntity(PointService pointService) {
User user = User.builder()
.userRole("ROLE_USER")
.profileImage(profileImage)
Expand All @@ -100,6 +104,9 @@ public User toEntity() {
// .about("안녕하세요. " + name + "입니다.")
.build();

pointService.addCash(user, 1000000, PointType.SignUpPoint);
log.info("회원가입 포인트 지급");

return user;

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,12 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2Authentic
private User saveOrUpdate(OAuthAttributes attributes) {
log.info("saveOrUpdate 실행");
User user = userRepository.findByEmailAndUserStatusAndSocialLogin(attributes.getEmail(), User.UserStatus.USER_EXIST, attributes.getRegistrationId())
.orElse(attributes.toEntity());
.orElse(attributes.toEntity(pointService));

if (user.getPassword() == null) {
user.setPassword(passwordEncoder.encode(user.getNickname()));
}

pointService.addCash(user, 1000000, PointType.SignUpPoint);
log.info("회원가입 포인트 지급");

user.encodePassword(passwordEncoder);
User save = userRepository.save(user);

Expand Down

0 comments on commit 60b1267

Please sign in to comment.