From 95536cf6f98f364cc78432386ef14233e5ef3923 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 30 Oct 2020 22:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=91=BD=E5=90=8D=E5=92=8CMe?= =?UTF-8?q?ssage=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/service/ctr/rbac/IUserService.kt | 10 ++--- .../domain/service/impl/rbac/UserService.kt | 39 +++++++++---------- .../synebula/zeus/query/contr/IUserQuery.kt | 4 +- .../com/synebula/zeus/query/impl/UserQuery.kt | 10 ++--- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/ctr/rbac/IUserService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/ctr/rbac/IUserService.kt index 7a0844d..5806025 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/ctr/rbac/IUserService.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/ctr/rbac/IUserService.kt @@ -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 { @@ -10,7 +10,7 @@ interface IUserService : IService { * @param key 用户ID * @param token 激活密令 */ - fun active(key: String, token: String): Message + fun active(key: String, token: String): DataMessage /** * 激活用户 @@ -19,7 +19,7 @@ interface IUserService : IService { * @param password 旧密码 * @param newPassword 新密码 */ - fun changePassword(key: String, password: String, newPassword: String): Message + fun changePassword(key: String, password: String, newPassword: String): DataMessage /** * 激活用户 @@ -27,7 +27,7 @@ interface IUserService : IService { * @param key 用户ID * @param password 新密码 */ - fun resetPassword(key: String, password: String, token: String?): Message + fun resetPassword(key: String, password: String, token: String?): DataMessage /** @@ -35,5 +35,5 @@ interface IUserService : IService { * * @param key 用户ID */ - fun forgotPassword(key: String): Message + fun forgotPassword(key: String): DataMessage } \ No newline at end of file diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt index 4892062..899ef4a 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt @@ -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() + 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() + 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 { + override fun add(command: ICommand): DataMessage { 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 { + override fun active(key: String, token: String): DataMessage { 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 { + override fun changePassword(key: String, password: String, newPassword: String): DataMessage { 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 { + override fun resetPassword(key: String, password: String, token: String?): DataMessage { 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 { + override fun forgotPassword(key: String): DataMessage { 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, "用户还未激活, 请先激活用户") } } \ No newline at end of file diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/IUserQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/IUserQuery.kt index 9d3085d..9e6e0e3 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/IUserQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/IUserQuery.kt @@ -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 + fun signIn(name: String, password: String): DataMessage /** * 列出用户列表 diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt index 2bf4ee6..3f297f3 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt @@ -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 { + override fun signIn(name: String, password: String): DataMessage { 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, "用户名或密码错误") }