修改简化命名,分离message和data message

This commit is contained in:
2020-10-30 22:50:34 +08:00
parent ca13018c9f
commit 112dd624dc
11 changed files with 77 additions and 70 deletions

View File

@@ -1,8 +1,8 @@
package com.synebula.gaea.app.component package com.synebula.gaea.app.component
import com.synebula.gaea.data.message.Message import com.synebula.gaea.data.message.DataMessage
class HttpMessage() : Message<Any>() { class HttpMessage() : DataMessage<Any>() {
constructor(data: Any) : this() { constructor(data: Any) : this() {
this.data = data this.data = data
@@ -17,7 +17,7 @@ class HttpMessage() : Message<Any>() {
this.data = data this.data = data
} }
fun load(msg: Message<*>) { fun load(msg: DataMessage<*>) {
this.status = msg.status this.status = msg.status
this.message = msg.message this.message = msg.message
this.data = msg.data this.data = msg.data

View File

@@ -1,7 +1,7 @@
package com.synebula.gaea.mongo.query package com.synebula.gaea.mongo.query
import com.synebula.gaea.extension.fieldNames import com.synebula.gaea.ext.fieldNames
import com.synebula.gaea.extension.firstCharLowerCase import com.synebula.gaea.ext.firstCharLowerCase
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
import com.synebula.gaea.mongo.order import com.synebula.gaea.mongo.order
import com.synebula.gaea.mongo.select import com.synebula.gaea.mongo.select

View File

@@ -1,7 +1,7 @@
package com.synebula.gaea.mongo.query package com.synebula.gaea.mongo.query
import com.synebula.gaea.extension.fieldNames import com.synebula.gaea.ext.fieldNames
import com.synebula.gaea.extension.firstCharLowerCase import com.synebula.gaea.ext.firstCharLowerCase
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
import com.synebula.gaea.mongo.order import com.synebula.gaea.mongo.order
import com.synebula.gaea.mongo.select import com.synebula.gaea.mongo.select

View File

@@ -0,0 +1,48 @@
package com.synebula.gaea.data.message
import java.util.*
/**
*
* 用来统一Http返回消息类型通常使用json格式传递
*
* @param T 消息数据类型
*/
open class DataMessage<T>() : Message() {
/**
* 传递的业务数据
*/
var data: T? = null
/**
* 消息时间戳
*/
val timestamp: Long = Date().time
constructor(data: T) : this() {
this.data = data
}
constructor(status: Int, message: String) : this() {
this.status = status
this.message = message
}
constructor(status: Int, data: T, message: String) : this(status, message) {
this.data = data
}
/**
* 从另一对象中复制数据
*
* @param other 另一消息对象
*/
open fun from(other: DataMessage<T>) {
this.status = other.status
this.data = other.data
this.message = other.message
}
}

View File

@@ -1,15 +1,6 @@
package com.synebula.gaea.data.message package com.synebula.gaea.data.message
import java.util.* open class Message {
/**
*
* 用来统一Http返回消息类型通常使用json格式传递
*
* @tparam T 消息数据类型
*/
open class Message<T>() {
/** /**
* 状态。200成功400错误500异常 * 状态。200成功400错误500异常
*/ */
@@ -21,44 +12,10 @@ open class Message<T>() {
val success: Boolean val success: Boolean
get() = this.status == Status.Success get() = this.status == Status.Success
/**
* 传递的业务数据
*/
var data: T? = null
/** /**
* 附带提示消息 * 附带提示消息
*/ */
var message = "" var message = ""
/**
* 消息时间戳
*/
val timestamp: Long = Date().time
constructor(data: T) : this() {
this.data = data
} }
constructor(status: Int, message: String) : this() {
this.status = status
this.message = message
}
constructor(status: Int, data: T, message: String) : this(status, message) {
this.data = data
}
/**
* 从另一对象中复制数据
*
* @param other 另一消息对象
*/
open fun from(other: Message<T>) {
this.status = other.status
this.data = other.data
this.message = other.message
}
}

View File

@@ -1,7 +1,7 @@
package com.synebula.gaea.domain.service package com.synebula.gaea.domain.service
import com.synebula.gaea.data.message.DataMessage
import com.synebula.gaea.data.message.Message import com.synebula.gaea.data.message.Message
import com.synebula.gaea.domain.model.IAggregateRoot
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
@@ -17,7 +17,7 @@ interface IService<TKey> {
*/ */
var logger: ILogger var logger: ILogger
fun add(command: ICommand): Message<TKey> fun add(command: ICommand): DataMessage<TKey>
fun update(id: TKey, command: ICommand) fun update(id: TKey, command: ICommand)
@@ -28,7 +28,7 @@ interface IService<TKey> {
* @param key 监听器标志。 * @param key 监听器标志。
* @param func 监听方法。 * @param func 监听方法。
*/ */
fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message<String>) fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message)
/** /**
* 移除一个删除对象前执行监听器。 * 移除一个删除对象前执行监听器。

View File

@@ -1,6 +1,7 @@
package com.synebula.gaea.domain.service package com.synebula.gaea.domain.service
import com.synebula.gaea.data.IObjectConverter 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.Message
import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.model.IAggregateRoot
import com.synebula.gaea.domain.repository.IRepository import com.synebula.gaea.domain.repository.IRepository
@@ -29,14 +30,14 @@ open class Service<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
/** /**
* 删除对象前执行监听器。 * 删除对象前执行监听器。
*/ */
protected val beforeRemoveListeners = mutableMapOf<String, (id: TKey) -> Message<String>>() protected val beforeRemoveListeners = mutableMapOf<String, (id: TKey) -> Message>()
/** /**
* 添加一个删除对象前执行监听器。 * 添加一个删除对象前执行监听器。
* @param key 监听器标志。 * @param key 监听器标志。
* @param func 监听方法。 * @param func 监听方法。
*/ */
override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message<String>) { override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) {
this.beforeRemoveListeners[key] = func this.beforeRemoveListeners[key] = func
} }
@@ -48,8 +49,8 @@ open class Service<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
this.beforeRemoveListeners.remove(key) this.beforeRemoveListeners.remove(key)
} }
override fun add(command: ICommand): Message<TKey> { override fun add(command: ICommand): DataMessage<TKey> {
val msg = Message<TKey>() val msg = DataMessage<TKey>()
val root = this.convert(command) val root = this.convert(command)
this.repository.add(root, this.clazz) this.repository.add(root, this.clazz)
msg.data = root.id msg.data = root.id
@@ -64,11 +65,11 @@ open class Service<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
override fun remove(id: TKey) { override fun remove(id: TKey) {
val functions = this.beforeRemoveListeners.values val functions = this.beforeRemoveListeners.values
var msg: Message<String> var msg: Message
for (func in functions) { for (func in functions) {
msg = func(id) msg = func(id)
if (!msg.success) { if (!msg.success) {
throw java.lang.RuntimeException(msg.data) throw java.lang.RuntimeException(msg.message)
} }
} }
this.repository.remove(id, this.clazz) this.repository.remove(id, this.clazz)

View File

@@ -1,6 +1,7 @@
package com.synebula.gaea.domain.service package com.synebula.gaea.domain.service
import com.synebula.gaea.data.IObjectConverter 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.Message
import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.model.IAggregateRoot
import com.synebula.gaea.domain.repository.ISpecificRepository import com.synebula.gaea.domain.repository.ISpecificRepository
@@ -33,14 +34,14 @@ open class SpecificService<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
/** /**
* 删除对象前执行监听器。 * 删除对象前执行监听器。
*/ */
protected val beforeRemoveListeners = mutableMapOf<String, (id: TKey) -> Message<String>>() protected val beforeRemoveListeners = mutableMapOf<String, (id: TKey) -> Message>()
/** /**
* 添加一个删除对象前执行监听器。 * 添加一个删除对象前执行监听器。
* @param key 监听器标志。 * @param key 监听器标志。
* @param func 监听方法。 * @param func 监听方法。
*/ */
override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message<String>) { override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) {
this.beforeRemoveListeners[key] = func this.beforeRemoveListeners[key] = func
} }
@@ -52,8 +53,8 @@ open class SpecificService<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
this.beforeRemoveListeners.remove(key) this.beforeRemoveListeners.remove(key)
} }
override fun add(command: ICommand): Message<TKey> { override fun add(command: ICommand): DataMessage<TKey> {
val msg = Message<TKey>() val msg = DataMessage<TKey>()
val root = this.convert(command) val root = this.convert(command)
this.repository.add(root) this.repository.add(root)
msg.data = root.id msg.data = root.id
@@ -68,11 +69,11 @@ open class SpecificService<TAggregateRoot : IAggregateRoot<TKey>, TKey>(
override fun remove(id: TKey) { override fun remove(id: TKey) {
val functions = this.beforeRemoveListeners.values val functions = this.beforeRemoveListeners.values
var msg: Message<String> var msg: Message
for (func in functions) { for (func in functions) {
msg = func(id) msg = func(id)
if (!msg.success) { if (!msg.success) {
throw java.lang.RuntimeException(msg.data) throw java.lang.RuntimeException(msg.message)
} }
} }
this.repository.remove(id) this.repository.remove(id)

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.extension package com.synebula.gaea.ext
/** /**
* 获取对象字段信息字符串列表 * 获取对象字段信息字符串列表

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.extension package com.synebula.gaea.ext
import com.synebula.gaea.data.date.TimeSpan import com.synebula.gaea.data.date.TimeSpan
import java.util.* import java.util.*

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.extension package com.synebula.gaea.ext
import java.math.BigInteger import java.math.BigInteger
import java.security.MessageDigest import java.security.MessageDigest