修改命名和Message引用
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.synebula.zeus.domain.service.ctr.rbac
|
||||
|
||||
import com.synebula.gaea.data.message.Message
|
||||
import com.synebula.gaea.data.message.DataMessage
|
||||
import com.synebula.gaea.domain.service.IService
|
||||
|
||||
interface IUserService : IService<String> {
|
||||
@@ -10,7 +10,7 @@ interface IUserService : IService<String> {
|
||||
* @param key 用户ID
|
||||
* @param token 激活密令
|
||||
*/
|
||||
fun active(key: String, token: String): Message<Any>
|
||||
fun active(key: String, token: String): DataMessage<Any>
|
||||
|
||||
/**
|
||||
* 激活用户
|
||||
@@ -19,7 +19,7 @@ interface IUserService : IService<String> {
|
||||
* @param password 旧密码
|
||||
* @param newPassword 新密码
|
||||
*/
|
||||
fun changePassword(key: String, password: String, newPassword: String): Message<Any>
|
||||
fun changePassword(key: String, password: String, newPassword: String): DataMessage<Any>
|
||||
|
||||
/**
|
||||
* 激活用户
|
||||
@@ -27,7 +27,7 @@ interface IUserService : IService<String> {
|
||||
* @param key 用户ID
|
||||
* @param password 新密码
|
||||
*/
|
||||
fun resetPassword(key: String, password: String, token: String?): Message<Any>
|
||||
fun resetPassword(key: String, password: String, token: String?): DataMessage<Any>
|
||||
|
||||
|
||||
/**
|
||||
@@ -35,5 +35,5 @@ interface IUserService : IService<String> {
|
||||
*
|
||||
* @param key 用户ID
|
||||
*/
|
||||
fun forgotPassword(key: String): Message<String>
|
||||
fun forgotPassword(key: String): DataMessage<String>
|
||||
}
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.synebula.zeus.domain.service.impl.rbac
|
||||
|
||||
import com.synebula.gaea.data.IObjectConverter
|
||||
import com.synebula.gaea.data.message.DataMessage
|
||||
import com.synebula.gaea.data.message.Message
|
||||
import com.synebula.gaea.data.message.Status
|
||||
import com.synebula.gaea.domain.repository.IRepository
|
||||
import com.synebula.gaea.domain.service.ICommand
|
||||
import com.synebula.gaea.domain.service.Service
|
||||
import com.synebula.gaea.extension.toMd5
|
||||
import com.synebula.gaea.ext.toMd5
|
||||
import com.synebula.gaea.log.ILogger
|
||||
import com.synebula.zeus.domain.model.rbac.User
|
||||
import com.synebula.zeus.domain.service.ctr.component.IUserNotifier
|
||||
@@ -26,33 +27,31 @@ class UserService(
|
||||
|
||||
init {
|
||||
groupService.addBeforeRemoveListener(this.clazz.name) { id ->
|
||||
val msg = Message<String>()
|
||||
val msg = Message()
|
||||
if (this.repository.count(mapOf(Pair("group", id)), this.clazz) > 0) {
|
||||
msg.status = Status.Failure
|
||||
msg.message = "组下还有用户"
|
||||
msg.data = msg.message
|
||||
}
|
||||
msg
|
||||
}
|
||||
roleService.addBeforeRemoveListener(this.clazz.name) { id ->
|
||||
val msg = Message<String>()
|
||||
val msg = Message()
|
||||
if (this.repository.count(mapOf(Pair("role", id)), this.clazz) > 0) {
|
||||
msg.status = Status.Failure
|
||||
msg.message = "角色下还有用户"
|
||||
msg.data = msg.message
|
||||
}
|
||||
msg
|
||||
}
|
||||
}
|
||||
|
||||
override fun add(command: ICommand): Message<String> {
|
||||
override fun add(command: ICommand): DataMessage<String> {
|
||||
val user = this.convert(command)
|
||||
user.password = user.password.toMd5()
|
||||
user.token = UUID.randomUUID().toString()
|
||||
user.alive = false
|
||||
this.repository.add(user, this.clazz)
|
||||
userNotifier.added(user.id!!, user.name, user.token!!)
|
||||
return Message(user.id!!)
|
||||
return DataMessage(user.id!!)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,58 +59,58 @@ class UserService(
|
||||
*
|
||||
* @param key 用户ID
|
||||
*/
|
||||
override fun active(key: String, token: String): Message<Any> {
|
||||
override fun active(key: String, token: String): DataMessage<Any> {
|
||||
val user = this.repository.get(key, this.clazz)
|
||||
return if (user.alive) {
|
||||
Message("用户${user.name}无需重复激活")
|
||||
DataMessage("用户${user.name}无需重复激活")
|
||||
} else {
|
||||
if (token == user.token) {
|
||||
user.alive = true
|
||||
user.token = null
|
||||
this.repository.update(user, this.clazz)
|
||||
Message(Status.Success, "用户${user.name}激活成功")
|
||||
DataMessage(Status.Success, "用户${user.name}激活成功")
|
||||
} else {
|
||||
logger.warn(this, "用户${user.name}激活失败, {key: ${key}, token: ${token}")
|
||||
Message(Status.Failure, "用户${user.name}激活失败, 请从系统发送的邮件链接激活用户")
|
||||
DataMessage(Status.Failure, "用户${user.name}激活失败, 请从系统发送的邮件链接激活用户")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun changePassword(key: String, password: String, newPassword: String): Message<Any> {
|
||||
override fun changePassword(key: String, password: String, newPassword: String): DataMessage<Any> {
|
||||
val user = this.repository.get(key, this.clazz)
|
||||
return if (user.password == password.toMd5()) {
|
||||
user.password = newPassword.toMd5()
|
||||
user.token = null
|
||||
this.repository.update(user, this.clazz)
|
||||
Message()
|
||||
DataMessage()
|
||||
} else {
|
||||
logger.warn(this, "用户修改${user.name}密码失败, 旧密码验证不通过")
|
||||
Message(Status.Failure, "用户修改密码失败, 旧密码验证不通过")
|
||||
DataMessage(Status.Failure, "用户修改密码失败, 旧密码验证不通过")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun resetPassword(key: String, password: String, token: String?): Message<Any> {
|
||||
override fun resetPassword(key: String, password: String, token: String?): DataMessage<Any> {
|
||||
val user = this.repository.get(key, this.clazz)
|
||||
return if (token == user.token) {
|
||||
user.password = password.toMd5()
|
||||
user.token = null
|
||||
this.repository.update(user, this.clazz)
|
||||
Message()
|
||||
DataMessage()
|
||||
} else {
|
||||
logger.warn(this, "用户重置${user.name}密码失败, 系统密码修改令牌:${user.token}, {key: ${key} , token: ${token}")
|
||||
Message(Status.Failure, "用户重置密码失败, 如需重置密码请从系统发送的邮件链接中重置")
|
||||
DataMessage(Status.Failure, "用户重置密码失败, 如需重置密码请从系统发送的邮件链接中重置")
|
||||
}
|
||||
}
|
||||
|
||||
override fun forgotPassword(key: String): Message<String> {
|
||||
override fun forgotPassword(key: String): DataMessage<String> {
|
||||
val user = this.repository.get(key, this.clazz)
|
||||
return if (user.alive) {
|
||||
user.token = UUID.randomUUID().toString()
|
||||
this.repository.update(user, this.clazz)
|
||||
userNotifier.forgot(user.id!!, user.name, user.token!!)
|
||||
Message()
|
||||
DataMessage()
|
||||
} else
|
||||
Message(Status.Failure, "用户还未激活, 请先激活用户")
|
||||
DataMessage(Status.Failure, "用户还未激活, 请先激活用户")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user