Merge pull request '유저 정보 조회' (#283) from test into main
Reviewed-on: #283
This commit is contained in:
		| @@ -19,6 +19,7 @@ interface ChargeQueryRepository { | ||||
|     fun getOldestChargeWhereChargeCanGreaterThan0(chargeId: Long, memberId: Long, container: String): Charge? | ||||
|     fun getChargeCountAfterDate(memberId: Long, date: LocalDateTime): Int | ||||
|     fun isFirstCharged(memberId: Long): Boolean | ||||
|     fun getChargeCount(memberId: Long): Int | ||||
| } | ||||
|  | ||||
| class ChargeQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : ChargeQueryRepository { | ||||
| @@ -92,6 +93,22 @@ class ChargeQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : Cha | ||||
|             .size <= 1 | ||||
|     } | ||||
|  | ||||
|     override fun getChargeCount(memberId: Long): Int { | ||||
|         return ( | ||||
|             queryFactory | ||||
|                 .select(charge.id.count()) | ||||
|                 .from(charge) | ||||
|                 .innerJoin(charge.member, member) | ||||
|                 .innerJoin(charge.payment, payment) | ||||
|                 .where( | ||||
|                     member.id.eq(memberId), | ||||
|                     charge.status.eq(ChargeStatus.CHARGE), | ||||
|                     payment.status.eq(PaymentStatus.COMPLETE) | ||||
|                 ) | ||||
|                 .fetchOne() ?: 0L | ||||
|             ).toInt() | ||||
|     } | ||||
|  | ||||
|     private fun getPaymentGatewayCondition(container: String): BooleanExpression? { | ||||
|         val paymentGatewayCondition = when (container) { | ||||
|             "aos" -> { | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.member | ||||
| import com.amazonaws.services.s3.model.ObjectMetadata | ||||
| import com.fasterxml.jackson.databind.ObjectMapper | ||||
| import kr.co.vividnext.sodalive.aws.s3.S3Uploader | ||||
| import kr.co.vividnext.sodalive.can.charge.ChargeRepository | ||||
| import kr.co.vividnext.sodalive.can.payment.CanPaymentService | ||||
| import kr.co.vividnext.sodalive.can.use.CanUsage | ||||
| import kr.co.vividnext.sodalive.common.ApiResponse | ||||
| @@ -71,6 +72,7 @@ class MemberService( | ||||
|     private val nicknameChangeLogRepository: NicknameChangeLogRepository, | ||||
|     private val memberTagRepository: MemberTagRepository, | ||||
|     private val liveReservationRepository: LiveReservationRepository, | ||||
|     private val chargeRepository: ChargeRepository, | ||||
|  | ||||
|     private val orderService: OrderService, | ||||
|     private val emailService: SendEmailService, | ||||
| @@ -140,9 +142,30 @@ class MemberService( | ||||
|     } | ||||
|  | ||||
|     fun getMemberInfo(member: Member, container: String): GetMemberInfoResponse { | ||||
|         val gender = if (member.auth != null) { | ||||
|             if (member.auth!!.gender == 1) { | ||||
|                 "남" | ||||
|             } else { | ||||
|                 "여" | ||||
|             } | ||||
|         } else { | ||||
|             null | ||||
|         } | ||||
|  | ||||
|         val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") | ||||
|         val signUpDate = member.createdAt!! | ||||
|             .atZone(ZoneId.of("UTC")) | ||||
|             .withZoneSameInstant(ZoneId.of("Asia/Seoul")) | ||||
|             .format(dateTimeFormatter) | ||||
|  | ||||
|         val chargeCount = chargeRepository.getChargeCount(memberId = member.id!!) | ||||
|  | ||||
|         return GetMemberInfoResponse( | ||||
|             can = member.getChargeCan(container) + member.getRewardCan(container), | ||||
|             isAuth = member.auth != null, | ||||
|             gender = gender, | ||||
|             signupDate = signUpDate, | ||||
|             chargeCount = chargeCount, | ||||
|             role = member.role, | ||||
|             messageNotice = member.notification?.message, | ||||
|             followingChannelLiveNotice = member.notification?.live, | ||||
|   | ||||
| @@ -5,6 +5,9 @@ import kr.co.vividnext.sodalive.member.MemberRole | ||||
| data class GetMemberInfoResponse( | ||||
|     val can: Int, | ||||
|     val isAuth: Boolean, | ||||
|     val gender: String?, | ||||
|     val signupDate: String, | ||||
|     val chargeCount: Int, | ||||
|     val role: MemberRole, | ||||
|     val messageNotice: Boolean?, | ||||
|     val followingChannelLiveNotice: Boolean?, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user