修改命名和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, "用户还未激活, 请先激活用户")
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.synebula.zeus.query.contr
|
||||
|
||||
import com.synebula.gaea.data.message.Message
|
||||
import com.synebula.gaea.data.message.DataMessage
|
||||
import com.synebula.zeus.query.view.SignUserView
|
||||
import com.synebula.zeus.query.view.UserView
|
||||
|
||||
@@ -13,7 +13,7 @@ interface IUserQuery {
|
||||
*
|
||||
* @return 返回消息体, 200为登录成功, data为用户ID
|
||||
*/
|
||||
fun signIn(name: String, password: String): Message<SignUserView>
|
||||
fun signIn(name: String, password: String): DataMessage<SignUserView>
|
||||
|
||||
/**
|
||||
* 列出用户列表
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.synebula.zeus.query.impl
|
||||
|
||||
import com.synebula.gaea.data.message.Message
|
||||
import com.synebula.gaea.data.message.DataMessage
|
||||
import com.synebula.gaea.data.message.Status
|
||||
import com.synebula.gaea.extension.toMd5
|
||||
import com.synebula.gaea.ext.toMd5
|
||||
import com.synebula.gaea.mongo.whereId
|
||||
import com.synebula.zeus.query.contr.IUserQuery
|
||||
import com.synebula.zeus.query.view.GroupView
|
||||
@@ -17,7 +17,7 @@ import org.springframework.data.mongodb.core.query.isEqualTo
|
||||
class UserQuery(var template: MongoTemplate) : IUserQuery {
|
||||
private val clazz = UserView::class.java
|
||||
|
||||
override fun signIn(name: String, password: String): Message<SignUserView> {
|
||||
override fun signIn(name: String, password: String): DataMessage<SignUserView> {
|
||||
val query = Query.query(
|
||||
Criteria.where("name").isEqualTo(name)
|
||||
.and("password").isEqualTo(password.toMd5())
|
||||
@@ -27,7 +27,7 @@ class UserQuery(var template: MongoTemplate) : IUserQuery {
|
||||
return if (user != null) {
|
||||
val role = this.template.findOne(whereId(user.role), RoleView::class.java, "role")
|
||||
val group = this.template.findOne(whereId(user.group), GroupView::class.java, "group")
|
||||
Message(
|
||||
DataMessage(
|
||||
SignUserView(
|
||||
user.id, user.name, user.realName ?: "",
|
||||
user.role ?: "", role?.name ?: "",
|
||||
@@ -35,7 +35,7 @@ class UserQuery(var template: MongoTemplate) : IUserQuery {
|
||||
)
|
||||
)
|
||||
} else
|
||||
Message(Status.Failure, "用户名或密码错误")
|
||||
DataMessage(Status.Failure, "用户名或密码错误")
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user