Skip to content

Commit

Permalink
Merge pull request #347 from ODOICHON/hotfix/qa
Browse files Browse the repository at this point in the history
[Hotfix/qa] ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์œ ์ € ์ •๋ณด ์กฐํšŒ ๊ฐœ๋ฐœ
  • Loading branch information
dldmsql committed Feb 5, 2024
2 parents fd0979a + 4007437 commit b05fb23
Show file tree
Hide file tree
Showing 11 changed files with 401 additions and 153 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,22 @@ class AdminUserController(

return "user/withdrawalDetail"
}

@GetMapping("/manage")
fun getUserManage(
@ModelAttribute("searchForm") adminUserSearch: AdminUserWithdrawalSearch,
model: Model,
@PageableDefault(size=10, page=0) pageable: Pageable
): String {
// ์Šน์ธ ์š”์ฒญ๋œ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ๋ฐ์ดํ„ฐ
val result = adminUserService.getUserWithSearchForm(adminUserSearch, pageable)
model.addAttribute("userList", result)

// ํŽ˜์ด์ง• ๋ฐ์ดํ„ฐ
val pageCom = pageable.pageNumber / 5
model.addAttribute("pageCom", pageCom)
model.addAttribute("filterList", UserSearchFilter.values())

return "user/userManager"
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package com.example.jhouse_server.admin.user.dto

import com.example.jhouse_server.domain.user.entity.Age
import com.example.jhouse_server.domain.user.entity.UserType
import com.querydsl.core.annotations.QueryProjection
import java.time.LocalDateTime

/**
* ============================================================================================
* AdminAgentSearch -- ๊ณต์ธ์ค‘๊ฐœ์‚ฌ ๊ฒ€์ƒ‰ ์กฐ๊ฑด
Expand Down Expand Up @@ -54,5 +59,15 @@ enum class AgentSearchFilter(val value: String) {
}

enum class UserSearchFilter(val value: String){
NICKNAME("์ด๋ฆ„")
NICKNAME("๋‹‰๋„ค์ž„")
}

data class AdminUserList @QueryProjection constructor(
val id: Long,
val nickName: String,
val email: String,
val userType: UserType,
val phoneNum : String,
val createdAt : LocalDateTime,
val age: Age
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ package com.example.jhouse_server.admin.user.service


import com.example.jhouse_server.admin.user.dto.AdminJoinAgentList
import com.example.jhouse_server.admin.user.dto.AdminUserList
import com.example.jhouse_server.admin.user.dto.AdminUserWithdrawalSearch
import com.example.jhouse_server.admin.user.dto.AdminWithdrawalList
import com.example.jhouse_server.domain.user.entity.agent.AgentStatus
import com.example.jhouse_server.domain.user.repository.AgentRepository
import com.example.jhouse_server.domain.user.repository.UserRepository
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional

Expand Down Expand Up @@ -39,4 +43,11 @@ class AdminUserService(
findUsers?.forEach { u -> u.withdrawalUser() }
}

fun getUserWithSearchForm(
adminUserSearch: AdminUserWithdrawalSearch,
pageable: Pageable
): Page<AdminUserList> {
return userRepository.getUserWithSearchForm(adminUserSearch, pageable)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package com.example.jhouse_server.domain.user.repository
import com.example.jhouse_server.admin.anaylsis.dto.AnalysisAgeResponse
import com.example.jhouse_server.admin.anaylsis.dto.AnalysisJoinPathResponse
import com.example.jhouse_server.admin.user.dto.AdminAgentSearch
import com.example.jhouse_server.admin.user.dto.AdminUserList
import com.example.jhouse_server.admin.user.dto.AdminUserWithdrawalSearch
import com.example.jhouse_server.domain.user.entity.User
import com.example.jhouse_server.domain.user.entity.UserType
import com.example.jhouse_server.domain.user.entity.agent.Agent
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
Expand All @@ -21,4 +21,8 @@ interface UserRepositoryCustom {
fun getAgentWithdrawalReqResult(adminAgentSearch: AdminAgentSearch, pageable: Pageable): Page<Agent>

fun getUserWithdrawalReqResult(adminUserWithdrawalSearch: AdminUserWithdrawalSearch, pageable: Pageable): Page<User>
fun getUserWithSearchForm(
adminUserSearch: AdminUserWithdrawalSearch,
pageable: Pageable
): Page<AdminUserList>
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package com.example.jhouse_server.domain.user.repository
import com.example.jhouse_server.admin.anaylsis.dto.AnalysisAgeResponse
import com.example.jhouse_server.admin.anaylsis.dto.AnalysisJoinPathResponse
import com.example.jhouse_server.admin.user.dto.AdminAgentSearch
import com.example.jhouse_server.admin.user.dto.AdminUserList
import com.example.jhouse_server.admin.user.dto.AdminUserWithdrawalSearch
import com.example.jhouse_server.admin.user.dto.QAdminUserList
import com.example.jhouse_server.domain.user.entity.Authority
import com.example.jhouse_server.domain.user.entity.QUser.user
import com.example.jhouse_server.domain.user.entity.QUserJoinPath.userJoinPath
Expand All @@ -20,6 +22,7 @@ import com.example.jhouse_server.domain.user.repository.dto.QAdminUserAnalysisJo
import com.querydsl.core.types.dsl.BooleanExpression
import com.querydsl.jpa.impl.JPAQueryFactory
import org.springframework.data.domain.Page
import org.springframework.data.domain.PageImpl
import org.springframework.data.domain.Pageable
import org.springframework.data.support.PageableExecutionUtils
import java.util.stream.Collectors
Expand Down Expand Up @@ -131,6 +134,33 @@ class UserRepositoryImpl(

return PageableExecutionUtils.getPage(result, pageable) {countQuery.fetch().size.toLong()}
}

override fun getUserWithSearchForm(
adminUserSearch: AdminUserWithdrawalSearch,
pageable: Pageable
): Page<AdminUserList> {
val result = jpaQueryFactory.select(
QAdminUserList(
user.id,
user.nickName,
user.email,
user.userType,
user.phoneNum,
user.createdAt,
user.age
)
).from(user)
.where(searchUserFilter(adminUserSearch))
.offset(pageable.offset)
.limit(pageable.pageSize.toLong())
.fetch()

val countQuery = jpaQueryFactory
.selectFrom(user)
.where(searchUserFilter(adminUserSearch))
.fetch().size.toLong()
return PageImpl(result, pageable, countQuery)
}
/**
* ============================================================================================
* PRIVATE FUNCTION
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package com.example.jhouse_server.global.config

import org.springframework.stereotype.Component
import javax.servlet.Filter
import javax.servlet.FilterChain
import javax.servlet.ServletRequest
import javax.servlet.ServletResponse
import javax.servlet.http.HttpServletRequest

@Component
class RequestServletFilter : Filter {
override fun doFilter(
request: ServletRequest,
response: ServletResponse,
chain: FilterChain
) {
val wrappedRequest: HttpServletRequest =
RequestServletWrapper(request as HttpServletRequest)

chain.doFilter(wrappedRequest, response)
}
}
//package com.example.jhouse_server.global.config
//
//import org.springframework.stereotype.Component
//import javax.servlet.Filter
//import javax.servlet.FilterChain
//import javax.servlet.ServletRequest
//import javax.servlet.ServletResponse
//import javax.servlet.http.HttpServletRequest
//
//@Component
//class RequestServletFilter : Filter {
// override fun doFilter(
// request: ServletRequest,
// response: ServletResponse,
// chain: FilterChain
// ) {
// val wrappedRequest: HttpServletRequest =
// RequestServletWrapper(request as HttpServletRequest)
//
// chain.doFilter(wrappedRequest, response)
// }
//}
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
package com.example.jhouse_server.global.config

import java.io.IOException
import java.io.StringReader
import java.util.*
import javax.servlet.ReadListener
import javax.servlet.ServletInputStream
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletRequestWrapper


class RequestServletWrapper(request: HttpServletRequest) : HttpServletRequestWrapper(request) {
private var requestData: String? = null

init {
try {
val s = request.inputStream?.let { Scanner(it).useDelimiter("\\A") }
if (s != null) {
requestData = if (s.hasNext()) s.next() else ""
}
} catch (e: IOException) {
e.printStackTrace()
}
}

override fun getInputStream(): ServletInputStream {
val reader = StringReader(requestData)

return object : ServletInputStream() {
private var readListener: ReadListener? = null

@Throws(IOException::class)
override fun read(): Int {
return reader.read()
}

override fun setReadListener(listener: ReadListener?) {
readListener = listener
try {
if (!isFinished) {
readListener?.onDataAvailable()
} else {
readListener?.onAllDataRead()
}
} catch (io: IOException) {
io.printStackTrace()
}
}

override fun isReady(): Boolean {
return isFinished
}

override fun isFinished(): Boolean {
try {
return reader.read() < 0
} catch (e: IOException) {
e.printStackTrace()
}
return false
}
}
}
}
//package com.example.jhouse_server.global.config
//
//import java.io.IOException
//import java.io.StringReader
//import java.util.*
//import javax.servlet.ReadListener
//import javax.servlet.ServletInputStream
//import javax.servlet.http.HttpServletRequest
//import javax.servlet.http.HttpServletRequestWrapper
//
//
//class RequestServletWrapper(request: HttpServletRequest) : HttpServletRequestWrapper(request) {
// private var requestData: String? = null
//
// init {
// try {
// val s = request.inputStream?.let { Scanner(it).useDelimiter("\\A") }
// if (s != null) {
// requestData = if (s.hasNext()) s.next() else ""
// }
// } catch (e: IOException) {
// e.printStackTrace()
// }
// }
//
// override fun getInputStream(): ServletInputStream {
// val reader = StringReader(requestData)
//
// return object : ServletInputStream() {
// private var readListener: ReadListener? = null
//
// @Throws(IOException::class)
// override fun read(): Int {
// return reader.read()
// }
//
// override fun setReadListener(listener: ReadListener?) {
// readListener = listener
// try {
// if (!isFinished) {
// readListener?.onDataAvailable()
// } else {
// readListener?.onAllDataRead()
// }
// } catch (io: IOException) {
// io.printStackTrace()
// }
// }
//
// override fun isReady(): Boolean {
// return isFinished
// }
//
// override fun isFinished(): Boolean {
// try {
// return reader.read() < 0
// } catch (e: IOException) {
// e.printStackTrace()
// }
// return false
// }
// }
// }
//}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.example.jhouse_server.global.config

import com.example.jhouse_server.admin.auth.interceptor.LoginCheckInterceptor
import com.example.jhouse_server.global.interceptor.HttpInterceptor
import com.example.jhouse_server.global.interceptor.LogInterceptor
import com.example.jhouse_server.global.interceptor.SmsInterceptor
import com.example.jhouse_server.global.resolver.AuthUserResolver
import org.springframework.context.annotation.Configuration
Expand All @@ -17,7 +16,7 @@ class WebConfig (
val authUserResolver: AuthUserResolver,
val httpInterceptor: HttpInterceptor,
val smsInterceptor: SmsInterceptor,
val logInterceptor: LogInterceptor
// val logInterceptor: LogInterceptor
): WebMvcConfigurer {


Expand Down Expand Up @@ -47,9 +46,9 @@ class WebConfig (
}

override fun addInterceptors(registry: InterceptorRegistry) {
registry.addInterceptor(logInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/css/**", "/error")
// registry.addInterceptor(logInterceptor)
// .addPathPatterns("/**")
// .excludePathPatterns("/css/**", "/error")
registry.addInterceptor(LoginCheckInterceptor())
.order(1)
.addPathPatterns("/**")
Expand Down
Loading

0 comments on commit b05fb23

Please sign in to comment.