增加查询可以获取父类属性的功能
This commit is contained in:
@@ -28,7 +28,7 @@ interface IApplication {
|
|||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
msg.status = Status.Error
|
msg.status = Status.Error
|
||||||
msg.message = if (error.isEmpty()) ex.message ?: "" else "$error: ${ex.message}"
|
msg.message = if (error.isEmpty()) ex.message ?: "" else "$error: ${ex.message}"
|
||||||
logger?.error(this, ex, "$error: ${ex.message}")
|
logger?.error(this, ex, "[$name]$error: ${ex.message}")
|
||||||
}
|
}
|
||||||
return msg
|
return msg
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ interface IApplication {
|
|||||||
process(msg)
|
process(msg)
|
||||||
logger?.debug(this, "$name business execute success")
|
logger?.debug(this, "$name business execute success")
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
logger?.error(this, ex, "$error。异常消息将抛出!: ${ex.message}")
|
logger?.error(this, ex, "[$name]$error。异常消息将抛出!: ${ex.message}")
|
||||||
throw RuntimeException(error, ex)
|
throw RuntimeException(error, ex)
|
||||||
}
|
}
|
||||||
return msg
|
return msg
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ open class MongoQuery(var template: MongoTemplate, var logger: ILogger? = null)
|
|||||||
var validViewCollection = false
|
var validViewCollection = false
|
||||||
|
|
||||||
override fun <TView> list(params: Map<String, Any>?, clazz: Class<TView>): List<TView> {
|
override fun <TView> list(params: Map<String, Any>?, clazz: Class<TView>): List<TView> {
|
||||||
val fields = clazz.fieldNames()
|
val fields = this.fields(clazz)
|
||||||
val query = Query()
|
val query = Query()
|
||||||
query.where(params, clazz)
|
query.where(params, clazz)
|
||||||
query.select(fields.toTypedArray())
|
query.select(fields.toTypedArray())
|
||||||
@@ -41,7 +41,7 @@ open class MongoQuery(var template: MongoTemplate, var logger: ILogger? = null)
|
|||||||
|
|
||||||
override fun <TView> paging(params: Params, clazz: Class<TView>): Page<TView> {
|
override fun <TView> paging(params: Params, clazz: Class<TView>): Page<TView> {
|
||||||
val query = Query()
|
val query = Query()
|
||||||
val fields = clazz.fieldNames()
|
val fields = this.fields(clazz)
|
||||||
val result = Page<TView>(params.page, params.size)
|
val result = Page<TView>(params.page, params.size)
|
||||||
result.total = this.count(params.parameters, clazz)
|
result.total = this.count(params.parameters, clazz)
|
||||||
//如果总数和索引相同,说明该页没有数据,直接跳到上一页
|
//如果总数和索引相同,说明该页没有数据,直接跳到上一页
|
||||||
@@ -61,6 +61,17 @@ open class MongoQuery(var template: MongoTemplate, var logger: ILogger? = null)
|
|||||||
return this.template.findOne(whereId(id), clazz, this.collection(clazz))
|
return this.template.findOne(whereId(id), clazz, this.collection(clazz))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun <TView> fields(clazz: Class<TView>): List<String> {
|
||||||
|
val fields = mutableListOf<String>()
|
||||||
|
fields.addAll(clazz.fieldNames())
|
||||||
|
var parent = clazz.superclass
|
||||||
|
while (parent != Any::class.java) {
|
||||||
|
fields.addAll(clazz.superclass.fieldNames())
|
||||||
|
parent = parent.superclass
|
||||||
|
}
|
||||||
|
return fields
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取collection
|
* 获取collection
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user