관리자 - 회원 타입 수정 기능 추가
This commit is contained in:
		@@ -4,6 +4,8 @@ import kr.co.vividnext.sodalive.common.ApiResponse
 | 
			
		||||
import org.springframework.data.domain.Pageable
 | 
			
		||||
import org.springframework.security.access.prepost.PreAuthorize
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping
 | 
			
		||||
import org.springframework.web.bind.annotation.PutMapping
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestBody
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestParam
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController
 | 
			
		||||
@@ -12,6 +14,12 @@ import org.springframework.web.bind.annotation.RestController
 | 
			
		||||
@RequestMapping("/admin/member")
 | 
			
		||||
@PreAuthorize("hasRole('ADMIN')")
 | 
			
		||||
class AdminMemberController(private val service: AdminMemberService) {
 | 
			
		||||
    @PutMapping
 | 
			
		||||
    fun updateMember(@RequestBody request: UpdateMemberRequest) = ApiResponse.ok(
 | 
			
		||||
        service.updateMember(request = request),
 | 
			
		||||
        "수정되었습니다."
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/list")
 | 
			
		||||
    fun getMemberList(pageable: Pageable) = ApiResponse.ok(service.getMemberList(pageable))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,9 @@ import kr.co.vividnext.sodalive.member.Member
 | 
			
		||||
import kr.co.vividnext.sodalive.member.MemberRole
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value
 | 
			
		||||
import org.springframework.data.domain.Pageable
 | 
			
		||||
import org.springframework.data.repository.findByIdOrNull
 | 
			
		||||
import org.springframework.stereotype.Service
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional
 | 
			
		||||
import java.time.ZoneId
 | 
			
		||||
import java.time.format.DateTimeFormatter
 | 
			
		||||
 | 
			
		||||
@@ -16,6 +18,16 @@ class AdminMemberService(
 | 
			
		||||
    @Value("\${cloud.aws.cloud-front.host}")
 | 
			
		||||
    private val cloudFrontHost: String
 | 
			
		||||
) {
 | 
			
		||||
    @Transactional
 | 
			
		||||
    fun updateMember(request: UpdateMemberRequest) {
 | 
			
		||||
        val member = repository.findByIdOrNull(request.id)
 | 
			
		||||
            ?: throw SodaException("해당 유저가 없습니다.")
 | 
			
		||||
 | 
			
		||||
        if (member.role != request.userType) {
 | 
			
		||||
            member.role = request.userType
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun getMemberList(pageable: Pageable): GetAdminMemberListResponse {
 | 
			
		||||
        val totalCount = repository.getMemberTotalCount()
 | 
			
		||||
        val memberList = processMemberListToGetAdminMemberListResponseItemList(
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,8 @@
 | 
			
		||||
package kr.co.vividnext.sodalive.admin.member
 | 
			
		||||
 | 
			
		||||
import kr.co.vividnext.sodalive.member.MemberRole
 | 
			
		||||
 | 
			
		||||
data class UpdateMemberRequest(
 | 
			
		||||
    val id: Long,
 | 
			
		||||
    val userType: MemberRole
 | 
			
		||||
)
 | 
			
		||||
		Reference in New Issue
	
	Block a user