修改命名和Message引用

This commit is contained in:
2020-10-30 22:58:38 +08:00
parent dda4411f05
commit 95536cf6f9
4 changed files with 31 additions and 32 deletions

View File

@@ -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>
}

View File

@@ -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, "用户还未激活, 请先激活用户")
}
}