From 112dd624dc8ad884e6a78fcc61718b801693a783 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 30 Oct 2020 22:50:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=80=E5=8C=96=E5=91=BD?= =?UTF-8?q?=E5=90=8D=EF=BC=8C=E5=88=86=E7=A6=BBmessage=E5=92=8Cdata=20mess?= =?UTF-8?q?age?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gaea/app/component/HttpMessage.kt | 6 +-- .../synebula/gaea/mongo/query/MongoQuery.kt | 4 +- .../gaea/mongo/query/MongoSpecificQuery.kt | 4 +- .../synebula/gaea/data/message/DataMessage.kt | 48 +++++++++++++++++++ .../com/synebula/gaea/data/message/Message.kt | 47 +----------------- .../synebula/gaea/domain/service/IService.kt | 6 +-- .../synebula/gaea/domain/service/Service.kt | 13 ++--- .../gaea/domain/service/SpecificService.kt | 13 ++--- .../gaea/{extension => ext}/ClassExt.kt | 2 +- .../gaea/{extension => ext}/DateExt.kt | 2 +- .../gaea/{extension => ext}/StringExt.kt | 2 +- 11 files changed, 77 insertions(+), 70 deletions(-) create mode 100644 src/gaea/src/main/kotlin/com/synebula/gaea/data/message/DataMessage.kt rename src/gaea/src/main/kotlin/com/synebula/gaea/{extension => ext}/ClassExt.kt (86%) rename src/gaea/src/main/kotlin/com/synebula/gaea/{extension => ext}/DateExt.kt (83%) rename src/gaea/src/main/kotlin/com/synebula/gaea/{extension => ext}/StringExt.kt (95%) diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/HttpMessage.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/HttpMessage.kt index c82aef1..c463c1d 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/HttpMessage.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/HttpMessage.kt @@ -1,8 +1,8 @@ package com.synebula.gaea.app.component -import com.synebula.gaea.data.message.Message +import com.synebula.gaea.data.message.DataMessage -class HttpMessage() : Message() { +class HttpMessage() : DataMessage() { constructor(data: Any) : this() { this.data = data @@ -17,7 +17,7 @@ class HttpMessage() : Message() { this.data = data } - fun load(msg: Message<*>) { + fun load(msg: DataMessage<*>) { this.status = msg.status this.message = msg.message this.data = msg.data diff --git a/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoQuery.kt b/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoQuery.kt index b848053..783b417 100644 --- a/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoQuery.kt +++ b/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoQuery.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.mongo.query -import com.synebula.gaea.extension.fieldNames -import com.synebula.gaea.extension.firstCharLowerCase +import com.synebula.gaea.ext.fieldNames +import com.synebula.gaea.ext.firstCharLowerCase import com.synebula.gaea.log.ILogger import com.synebula.gaea.mongo.order import com.synebula.gaea.mongo.select diff --git a/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoSpecificQuery.kt b/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoSpecificQuery.kt index 7e4524c..9111056 100644 --- a/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoSpecificQuery.kt +++ b/src/gaea.mongo/src/main/kotlin/com/synebula/gaea/mongo/query/MongoSpecificQuery.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.mongo.query -import com.synebula.gaea.extension.fieldNames -import com.synebula.gaea.extension.firstCharLowerCase +import com.synebula.gaea.ext.fieldNames +import com.synebula.gaea.ext.firstCharLowerCase import com.synebula.gaea.log.ILogger import com.synebula.gaea.mongo.order import com.synebula.gaea.mongo.select diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/DataMessage.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/DataMessage.kt new file mode 100644 index 0000000..96bd46e --- /dev/null +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/DataMessage.kt @@ -0,0 +1,48 @@ +package com.synebula.gaea.data.message + +import java.util.* + +/** + * + * 用来统一Http返回消息类型,通常使用json格式传递 + * + * @param T 消息数据类型 + */ +open class DataMessage() : 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) { + this.status = other.status + this.data = other.data + this.message = other.message + } +} + diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/Message.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/Message.kt index 9f5367a..c946c9e 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/Message.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/Message.kt @@ -1,15 +1,6 @@ package com.synebula.gaea.data.message -import java.util.* - -/** - * - * 用来统一Http返回消息类型,通常使用json格式传递 - * - * @tparam T 消息数据类型 - */ -open class Message() { - +open class Message { /** * 状态。200成功,400错误,500异常 */ @@ -21,44 +12,10 @@ open class Message() { val success: Boolean get() = this.status == Status.Success - /** - * 传递的业务数据 - */ - var data: T? = null /** * 附带提示消息 */ 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) { - this.status = other.status - this.data = other.data - this.message = other.message - } -} - +} \ No newline at end of file diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/IService.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/IService.kt index 93449e3..46d39a1 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/IService.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/IService.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.domain.service +import com.synebula.gaea.data.message.DataMessage import com.synebula.gaea.data.message.Message -import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.log.ILogger @@ -17,7 +17,7 @@ interface IService { */ var logger: ILogger - fun add(command: ICommand): Message + fun add(command: ICommand): DataMessage fun update(id: TKey, command: ICommand) @@ -28,7 +28,7 @@ interface IService { * @param key 监听器标志。 * @param func 监听方法。 */ - fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) + fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) /** * 移除一个删除对象前执行监听器。 diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/Service.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/Service.kt index d65fdad..1c5f23f 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/Service.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/Service.kt @@ -1,6 +1,7 @@ package com.synebula.gaea.domain.service import com.synebula.gaea.data.IObjectConverter +import com.synebula.gaea.data.message.DataMessage import com.synebula.gaea.data.message.Message import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.repository.IRepository @@ -29,14 +30,14 @@ open class Service, TKey>( /** * 删除对象前执行监听器。 */ - protected val beforeRemoveListeners = mutableMapOf Message>() + protected val beforeRemoveListeners = mutableMapOf Message>() /** * 添加一个删除对象前执行监听器。 * @param key 监听器标志。 * @param func 监听方法。 */ - override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) { + override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) { this.beforeRemoveListeners[key] = func } @@ -48,8 +49,8 @@ open class Service, TKey>( this.beforeRemoveListeners.remove(key) } - override fun add(command: ICommand): Message { - val msg = Message() + override fun add(command: ICommand): DataMessage { + val msg = DataMessage() val root = this.convert(command) this.repository.add(root, this.clazz) msg.data = root.id @@ -64,11 +65,11 @@ open class Service, TKey>( override fun remove(id: TKey) { val functions = this.beforeRemoveListeners.values - var msg: Message + var msg: Message for (func in functions) { msg = func(id) if (!msg.success) { - throw java.lang.RuntimeException(msg.data) + throw java.lang.RuntimeException(msg.message) } } this.repository.remove(id, this.clazz) diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/SpecificService.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/SpecificService.kt index 9e9c43f..6eb6f20 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/SpecificService.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/service/SpecificService.kt @@ -1,6 +1,7 @@ package com.synebula.gaea.domain.service import com.synebula.gaea.data.IObjectConverter +import com.synebula.gaea.data.message.DataMessage import com.synebula.gaea.data.message.Message import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.repository.ISpecificRepository @@ -33,14 +34,14 @@ open class SpecificService, TKey>( /** * 删除对象前执行监听器。 */ - protected val beforeRemoveListeners = mutableMapOf Message>() + protected val beforeRemoveListeners = mutableMapOf Message>() /** * 添加一个删除对象前执行监听器。 * @param key 监听器标志。 * @param func 监听方法。 */ - override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) { + override fun addBeforeRemoveListener(key: String, func: (id: TKey) -> Message) { this.beforeRemoveListeners[key] = func } @@ -52,8 +53,8 @@ open class SpecificService, TKey>( this.beforeRemoveListeners.remove(key) } - override fun add(command: ICommand): Message { - val msg = Message() + override fun add(command: ICommand): DataMessage { + val msg = DataMessage() val root = this.convert(command) this.repository.add(root) msg.data = root.id @@ -68,11 +69,11 @@ open class SpecificService, TKey>( override fun remove(id: TKey) { val functions = this.beforeRemoveListeners.values - var msg: Message + var msg: Message for (func in functions) { msg = func(id) if (!msg.success) { - throw java.lang.RuntimeException(msg.data) + throw java.lang.RuntimeException(msg.message) } } this.repository.remove(id) diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/ClassExt.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/ClassExt.kt similarity index 86% rename from src/gaea/src/main/kotlin/com/synebula/gaea/extension/ClassExt.kt rename to src/gaea/src/main/kotlin/com/synebula/gaea/ext/ClassExt.kt index dafe84e..d6780de 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/ClassExt.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/ClassExt.kt @@ -1,4 +1,4 @@ -package com.synebula.gaea.extension +package com.synebula.gaea.ext /** * 获取对象字段信息字符串列表。 diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/DateExt.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/DateExt.kt similarity index 83% rename from src/gaea/src/main/kotlin/com/synebula/gaea/extension/DateExt.kt rename to src/gaea/src/main/kotlin/com/synebula/gaea/ext/DateExt.kt index 004e6c3..3ceb1f2 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/DateExt.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/DateExt.kt @@ -1,4 +1,4 @@ -package com.synebula.gaea.extension +package com.synebula.gaea.ext import com.synebula.gaea.data.date.TimeSpan import java.util.* diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/StringExt.kt similarity index 95% rename from src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt rename to src/gaea/src/main/kotlin/com/synebula/gaea/ext/StringExt.kt index 490d14f..33b2823 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/ext/StringExt.kt @@ -1,4 +1,4 @@ -package com.synebula.gaea.extension +package com.synebula.gaea.ext import java.math.BigInteger import java.security.MessageDigest