Compare commits

...

2 Commits

Author SHA1 Message Date
klaus b27d3bd5c6 Merge pull request 'fix: 유저 행동 기록, 포인트 지급' (#320) from test into main
Reviewed-on: #320
2025-05-26 10:33:16 +00:00
Klaus e049e0fa3c fix: 유저 행동 기록, 포인트 지급
- 포인트 지급 완료시 푸시 보내지 않도록 수정
2025-05-26 19:22:42 +09:00
5 changed files with 10 additions and 54 deletions

View File

@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.content.comment
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.MemberService
import kr.co.vividnext.sodalive.useraction.ActionType
import kr.co.vividnext.sodalive.useraction.UserActionService
import org.springframework.data.domain.Pageable
@ -19,7 +18,6 @@ import org.springframework.web.bind.annotation.RestController
@RestController
class AudioContentCommentController(
private val service: AudioContentCommentService,
private val memberService: MemberService,
private val userActionService: UserActionService
) {
@PostMapping("/audio-content/comment")
@ -38,15 +36,11 @@ class AudioContentCommentController(
)
try {
val memberId = member.id!!
val pushTokenList = memberService.getPushTokenList(recipient = memberId)
userActionService.recordAction(
memberId = member.id!!,
isAuth = member.auth != null,
actionType = ActionType.CONTENT_COMMENT,
contentCommentId = commentId,
pushTokenList = pushTokenList
contentCommentId = commentId
)
userActionService.recordAction(
@ -54,8 +48,7 @@ class AudioContentCommentController(
isAuth = member.auth != null,
actionType = ActionType.ORDER_CONTENT_COMMENT,
contentId = request.contentId,
contentCommentId = commentId,
pushTokenList = pushTokenList
contentCommentId = commentId
)
} catch (_: Exception) {
}

View File

@ -66,12 +66,7 @@ class MemberController(
userActionService.recordAction(
memberId = response.memberId,
isAuth = false,
actionType = ActionType.SIGN_UP,
pushTokenList = if (request.pushToken != null) {
listOf(request.pushToken)
} else {
emptyList()
}
actionType = ActionType.SIGN_UP
)
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = response.loginResponse)
@ -360,12 +355,7 @@ class MemberController(
userActionService.recordAction(
memberId = response.memberId,
isAuth = false,
actionType = ActionType.SIGN_UP,
pushTokenList = if (request.pushToken != null) {
listOf(request.pushToken)
} else {
emptyList()
}
actionType = ActionType.SIGN_UP
)
}
@ -396,12 +386,7 @@ class MemberController(
userActionService.recordAction(
memberId = response.memberId,
isAuth = false,
actionType = ActionType.SIGN_UP,
pushTokenList = if (request.pushToken != null) {
listOf(request.pushToken)
} else {
emptyList()
}
actionType = ActionType.SIGN_UP
)
}

View File

@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.member.auth
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.MemberService
import kr.co.vividnext.sodalive.useraction.ActionType
import kr.co.vividnext.sodalive.useraction.UserActionService
import org.springframework.security.core.annotation.AuthenticationPrincipal
@ -16,7 +15,6 @@ import org.springframework.web.bind.annotation.RestController
@RequestMapping("/auth")
class AuthController(
private val service: AuthService,
private val memberService: MemberService,
private val userActionService: UserActionService
) {
@PostMapping
@ -36,13 +34,10 @@ class AuthController(
val authResponse = service.authenticate(authenticateData, member.id!!)
try {
val memberId = member.id!!
val pushTokenList = memberService.getPushTokenList(recipient = memberId)
userActionService.recordAction(
memberId = member.id!!,
isAuth = true,
actionType = ActionType.USER_AUTHENTICATION,
pushTokenList = pushTokenList
actionType = ActionType.USER_AUTHENTICATION
)
} catch (_: Exception) {
}

View File

@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.useraction
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.MemberService
import org.springframework.security.core.annotation.AuthenticationPrincipal
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
@ -12,10 +11,7 @@ import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("/user-action")
class UserActionController(
private val service: UserActionService,
private val memberService: MemberService
) {
class UserActionController(private val service: UserActionService) {
@PostMapping
fun recordAction(
@RequestBody request: UserActionRequest,
@ -23,13 +19,10 @@ class UserActionController(
) = run {
if (member == null) throw SodaException("")
val memberId = member.id!!
val pushTokenList = memberService.getPushTokenList(recipient = memberId)
service.recordAction(
memberId = memberId,
memberId = member.id!!,
isAuth = member.auth != null,
actionType = request.actionType,
pushTokenList = pushTokenList
actionType = request.actionType
)
ApiResponse.ok(Unit, "")

View File

@ -7,7 +7,6 @@ import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kr.co.vividnext.sodalive.content.order.OrderRepository
import kr.co.vividnext.sodalive.fcm.FcmService
import kr.co.vividnext.sodalive.point.MemberPoint
import kr.co.vividnext.sodalive.point.MemberPointRepository
import kr.co.vividnext.sodalive.point.PointGrantLog
@ -29,7 +28,6 @@ class UserActionService(
private val memberPointRepository: MemberPointRepository,
private val transactionTemplate: TransactionTemplate,
private val fcmService: FcmService,
private val entityManager: EntityManager
) {
@ -44,8 +42,7 @@ class UserActionService(
isAuth: Boolean,
actionType: ActionType,
contentId: Long? = null,
contentCommentId: Long? = null,
pushTokenList: List<String> = emptyList()
contentCommentId: Long? = null
) {
coroutineScope.launch {
val now = LocalDateTime.now()
@ -171,13 +168,6 @@ class UserActionService(
expiresAt = now.plusDays(3)
)
)
if (pushTokenList.isNotEmpty()) {
fcmService.sendPointGranted(
pushTokenList,
point
)
}
}
}
}