Optimize code. Add kdoc.
This commit is contained in:
@@ -6,6 +6,7 @@ import top.fatweb.api.param.permission.LoginParam
|
||||
import top.fatweb.api.param.permission.RegisterParam
|
||||
import top.fatweb.api.param.permission.VerifyParam
|
||||
import top.fatweb.api.vo.permission.LoginVo
|
||||
import top.fatweb.api.vo.permission.RegisterVo
|
||||
import top.fatweb.api.vo.permission.TokenVo
|
||||
|
||||
/**
|
||||
@@ -21,7 +22,7 @@ interface IAuthenticationService {
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
fun register(registerParam: RegisterParam)
|
||||
fun register(registerParam: RegisterParam): RegisterVo
|
||||
|
||||
/**
|
||||
* Send verify email
|
||||
|
||||
@@ -34,6 +34,7 @@ import top.fatweb.api.util.MailUtil
|
||||
import top.fatweb.api.util.RedisUtil
|
||||
import top.fatweb.api.util.WebUtil
|
||||
import top.fatweb.api.vo.permission.LoginVo
|
||||
import top.fatweb.api.vo.permission.RegisterVo
|
||||
import top.fatweb.api.vo.permission.TokenVo
|
||||
import java.io.StringWriter
|
||||
import java.time.Instant
|
||||
@@ -63,13 +64,14 @@ class AuthenticationServiceImpl(
|
||||
) : IAuthenticationService {
|
||||
private val logger: Logger = LoggerFactory.getLogger(this::class.java)
|
||||
|
||||
@EventLogRecord(EventLog.Event.REGISTER)
|
||||
@Transactional
|
||||
override fun register(registerParam: RegisterParam) {
|
||||
override fun register(registerParam: RegisterParam): RegisterVo {
|
||||
val user = User().apply {
|
||||
username = registerParam.username
|
||||
password = passwordEncoder.encode(registerParam.password)
|
||||
verify =
|
||||
"${LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()}-${UUID.randomUUID()}"
|
||||
"${LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()}-${UUID.randomUUID()}-${UUID.randomUUID()}-${UUID.randomUUID()}"
|
||||
locking = 0
|
||||
enable = 1
|
||||
}
|
||||
@@ -82,6 +84,8 @@ class AuthenticationServiceImpl(
|
||||
})
|
||||
|
||||
sendVerifyMail(user.username!!, "http://localhost:5173/verify?code=${user.verify!!}", registerParam.email!!)
|
||||
|
||||
return RegisterVo(userId = user.id)
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@@ -91,7 +95,7 @@ class AuthenticationServiceImpl(
|
||||
user.verify ?: throw NoVerificationRequiredException()
|
||||
|
||||
user.verify =
|
||||
"${LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()}-${UUID.randomUUID()}"
|
||||
"${LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()}-${UUID.randomUUID()}-${UUID.randomUUID()}-${UUID.randomUUID()}"
|
||||
user.updateTime = LocalDateTime.now(ZoneOffset.UTC)
|
||||
userService.updateById(user)
|
||||
|
||||
@@ -113,11 +117,12 @@ class AuthenticationServiceImpl(
|
||||
template.merge(velocityContext, stringWriter)
|
||||
|
||||
MailUtil.sendSimpleMail(
|
||||
"激活您的账号", stringWriter.toString(), true,
|
||||
"验证您的账号", stringWriter.toString(), true,
|
||||
email
|
||||
)
|
||||
}
|
||||
|
||||
@EventLogRecord(EventLog.Event.VERIFY)
|
||||
@Transactional
|
||||
override fun verify(verifyParam: VerifyParam) {
|
||||
val user = userService.getById(WebUtil.getLoginUserId()) ?: throw AccessDeniedException("Access Denied")
|
||||
|
||||
@@ -28,6 +28,7 @@ import top.fatweb.api.vo.permission.UserWithPasswordRoleInfoVo
|
||||
import top.fatweb.api.vo.permission.UserWithRoleInfoVo
|
||||
import java.time.LocalDateTime
|
||||
import java.time.ZoneOffset
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* User service implement
|
||||
@@ -111,9 +112,12 @@ class UserServiceImpl(
|
||||
|
||||
user.apply {
|
||||
password = passwordEncoder.encode(rawPassword)
|
||||
verify = if (userAddParam.verified) null else "${
|
||||
LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()
|
||||
}-${UUID.randomUUID()}-${UUID.randomUUID()}-${UUID.randomUUID()}"
|
||||
}
|
||||
|
||||
if (baseMapper.insert(user) == 1) {
|
||||
if (this.save(user)) {
|
||||
user.userInfo?.let { userInfoService.save(it.apply { userId = user.id }) }
|
||||
|
||||
if (!user.roles.isNullOrEmpty()) {
|
||||
@@ -175,9 +179,16 @@ class UserServiceImpl(
|
||||
removeGroupIds.removeAll(addGroupIds)
|
||||
oldGroupList.toSet().let { addGroupIds.removeAll(it) }
|
||||
|
||||
baseMapper.updateById(user)
|
||||
baseMapper.update(
|
||||
KtUpdateWrapper(User()).eq(User::id, user.id).set(User::expiration, user.expiration)
|
||||
this.updateById(user)
|
||||
this.update(
|
||||
KtUpdateWrapper(User()).eq(User::id, user.id)
|
||||
.set(
|
||||
User::verify,
|
||||
if (userUpdateParam.verified) null else "${
|
||||
LocalDateTime.now(ZoneOffset.UTC).toInstant(ZoneOffset.UTC).toEpochMilli()
|
||||
}-${UUID.randomUUID()}-${UUID.randomUUID()}-${UUID.randomUUID()}"
|
||||
)
|
||||
.set(User::expiration, user.expiration)
|
||||
.set(User::credentialsExpiration, user.credentialsExpiration)
|
||||
)
|
||||
|
||||
@@ -230,7 +241,7 @@ class UserServiceImpl(
|
||||
throw AccessDeniedException("Access denied")
|
||||
}
|
||||
|
||||
val user = baseMapper.selectById(userUpdatePasswordParam.id)
|
||||
val user = this.getById(userUpdatePasswordParam.id)
|
||||
user?.let {
|
||||
val wrapper = KtUpdateWrapper(User())
|
||||
wrapper.eq(User::id, user.id)
|
||||
@@ -265,7 +276,7 @@ class UserServiceImpl(
|
||||
return
|
||||
}
|
||||
|
||||
baseMapper.deleteBatchIds(ids)
|
||||
this.removeBatchByIds(ids)
|
||||
userInfoService.remove(KtQueryWrapper(UserInfo()).`in`(UserInfo::userId, ids))
|
||||
userRoleService.remove(KtQueryWrapper(UserRole()).`in`(UserRole::userId, ids))
|
||||
userGroupService.remove(KtQueryWrapper(UserGroup()).`in`(UserGroup::userId, ids))
|
||||
|
||||
Reference in New Issue
Block a user