회원가입 로직에 광고 트래킹 적용

- 광고 트래킹 관련 Entity 추가
- pid가 현재 광고 중인 pid인 경우 트래킹 로그 생성
This commit is contained in:
2025-03-02 23:45:08 +09:00
parent 801b9934d6
commit 3216c73ee8
11 changed files with 177 additions and 4 deletions

View File

@@ -27,6 +27,7 @@ import kr.co.vividnext.sodalive.member.nickname.NicknameChangeLogRepository
import kr.co.vividnext.sodalive.member.notification.MemberNotificationService
import kr.co.vividnext.sodalive.member.notification.UpdateNotificationSettingRequest
import kr.co.vividnext.sodalive.member.signUp.SignUpRequest
import kr.co.vividnext.sodalive.member.signUp.SignUpResponse
import kr.co.vividnext.sodalive.member.signUp.SignUpValidator
import kr.co.vividnext.sodalive.member.stipulation.Stipulation
import kr.co.vividnext.sodalive.member.stipulation.StipulationAgree
@@ -97,7 +98,7 @@ class MemberService(
fun signUp(
profileImage: MultipartFile?,
requestString: String
): ApiResponse<LoginResponse> {
): SignUpResponse {
val stipulationTermsOfService = stipulationRepository.findByIdOrNull(StipulationIds.TERMS_OF_SERVICE_ID)
?: throw SodaException("잘못된 요청입니다\n앱 종료 후 다시 시도해 주세요.")
@@ -117,7 +118,11 @@ class MemberService(
member.profileImage = uploadProfileImage(profileImage = profileImage, memberId = member.id!!)
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = login(request.email, request.password))
return SignUpResponse(
memberId = member.id!!,
marketingPid = request.marketingPid,
loginResponse = login(request.email, request.password)
)
}
fun login(request: LoginRequest): ApiResponse<LoginResponse> {
@@ -289,6 +294,11 @@ class MemberService(
container = request.container
)
if (!request.marketingPid.isNullOrBlank()) {
member.activePid = request.marketingPid
member.partnerExpirationDateTime = LocalDateTime.now().plusYears(1)
}
return repository.save(member)
}