mirror of
https://github.com/tursom/TursomServer.git
synced 2025-03-13 19:30:10 +08:00
update ts-database
This commit is contained in:
parent
49a6df2e55
commit
7654e4b7fa
@ -1,13 +0,0 @@
|
||||
package cn.tursom.database.mybatisplus
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
|
||||
|
||||
class DdbesUpdateWrapper<T>(
|
||||
override val enhanceEntityClass: Class<T>,
|
||||
) : UpdateWrapper<T>(),
|
||||
UpdateEnhance<T, DdbesUpdateWrapper<T>>,
|
||||
DdbesWrapperEnhance<T, UpdateWrapper<T>, DdbesUpdateWrapper<T>> {
|
||||
companion object {
|
||||
inline operator fun <reified T> invoke() = DdbesUpdateWrapper(T::class.java)
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ import kotlin.reflect.jvm.isAccessible
|
||||
|
||||
@Suppress("unused")
|
||||
@MybatisPlusEnhanceDslMaker
|
||||
interface CompareEnhance<T, out W : AbstractWrapper<T, String, out W>, Children : Wrapper<T>> :
|
||||
interface EnhanceCompare<T, out W : AbstractWrapper<T, String, out W>, Children : Wrapper<T>> :
|
||||
EnhanceEntityClassEnhance<T>,
|
||||
RegexAbstractWrapperEnhance<T, W, Children> {
|
||||
val compare: Compare<Children, String> get() = uncheckedCast()
|
@ -3,8 +3,8 @@ package cn.tursom.database.mybatisplus
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractWrapper
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper
|
||||
|
||||
inline fun <C : CompareEnhance<T, W, Children>, T, W : AbstractWrapper<T, String, W>, Children : Wrapper<T>> C.compare(
|
||||
compare: CompareEnhance<T, W, Children>.() -> Unit
|
||||
inline fun <C : EnhanceCompare<T, W, Children>, T, W : AbstractWrapper<T, String, W>, Children : Wrapper<T>> C.compare(
|
||||
compare: EnhanceCompare<T, W, Children>.() -> Unit
|
||||
): C {
|
||||
compare()
|
||||
return this
|
||||
@ -24,24 +24,24 @@ inline fun <C : JoinEnhance<Children>, Children> C.join(
|
||||
return this
|
||||
}
|
||||
|
||||
inline fun <C : QueryEnhance<T, Children>, T, Children : Wrapper<T>> C.query(
|
||||
query: QueryEnhance<T, Children>.() -> Unit
|
||||
inline fun <C : EnhanceQuery<T, Children>, T, Children : Wrapper<T>> C.query(
|
||||
query: EnhanceQuery<T, Children>.() -> Unit
|
||||
): C {
|
||||
query()
|
||||
return this
|
||||
}
|
||||
|
||||
inline fun <C : UpdateEnhance<T, Children>, T, Children : Wrapper<T>> C.update(
|
||||
update: UpdateEnhance<T, Children>.() -> Unit
|
||||
inline fun <C : EnhanceUpdate<T, Children>, T, Children : Wrapper<T>> C.update(
|
||||
update: EnhanceUpdate<T, Children>.() -> Unit
|
||||
): C {
|
||||
update()
|
||||
return this
|
||||
}
|
||||
|
||||
inline fun <C : DdbesWrapperEnhance<T, W, EnhanceWrapper>,
|
||||
inline fun <C : KtEnhanceWrapper<T, W, EnhanceWrapper>,
|
||||
T, W : AbstractWrapper<T, String, out W>, EnhanceWrapper : Wrapper<T>>
|
||||
C.query(
|
||||
query: DdbesWrapperEnhance<T, W, EnhanceWrapper>.() -> Unit
|
||||
query: KtEnhanceWrapper<T, W, EnhanceWrapper>.() -> Unit
|
||||
): C {
|
||||
query()
|
||||
return this
|
||||
|
@ -8,7 +8,7 @@ import kotlin.reflect.KProperty1
|
||||
|
||||
@Suppress("unused")
|
||||
@MybatisPlusEnhanceDslMaker
|
||||
interface QueryEnhance<T, out Children : Wrapper<T>> : EnhanceEntityClassEnhance<T> {
|
||||
interface EnhanceQuery<T, out Children : Wrapper<T>> : EnhanceEntityClassEnhance<T> {
|
||||
val query: Query<out Children, T, out Any> get() = uncheckedCast()
|
||||
|
||||
fun select(
|
@ -9,7 +9,7 @@ import kotlin.reflect.KProperty1
|
||||
import kotlin.reflect.jvm.javaField
|
||||
|
||||
@MybatisPlusEnhanceDslMaker
|
||||
interface UpdateEnhance<T, out Children : Wrapper<T>> {
|
||||
interface EnhanceUpdate<T, out Children : Wrapper<T>> {
|
||||
val update: Update<out Children, String> get() = uncheckedCast()
|
||||
|
||||
infix fun KProperty1<T, *>.set(
|
@ -6,70 +6,70 @@ import com.baomidou.mybatisplus.extension.service.IService
|
||||
|
||||
|
||||
inline fun <reified T> IService<T>.update(
|
||||
wrapperBuilder: DdbesUpdateWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceUpdateWrapper<T>.() -> Unit
|
||||
): Boolean {
|
||||
val wrapper = DdbesUpdateWrapper<T>()
|
||||
val wrapper = KtEnhanceUpdateWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return update(wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T> IService<T>.update(
|
||||
queryBuilder: DdbesWrapperEnhance<T, UpdateWrapper<T>, DdbesUpdateWrapper<T>>.() -> Unit,
|
||||
updateBuilder: UpdateEnhance<T, DdbesUpdateWrapper<T>>.() -> Unit
|
||||
queryBuilder: KtEnhanceWrapper<T, UpdateWrapper<T>, KtEnhanceUpdateWrapper<T>>.() -> Unit,
|
||||
updateBuilder: EnhanceUpdate<T, KtEnhanceUpdateWrapper<T>>.() -> Unit
|
||||
): Boolean {
|
||||
val wrapper = DdbesUpdateWrapper<T>()
|
||||
val wrapper = KtEnhanceUpdateWrapper<T>()
|
||||
wrapper.queryBuilder()
|
||||
wrapper.updateBuilder()
|
||||
return update(wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T> IService<T>.remove(
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): Boolean {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return remove(wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T> IService<T>.getOne(
|
||||
throwEx: Boolean = true,
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): T {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return getOne(wrapper, throwEx)
|
||||
}
|
||||
|
||||
inline fun <reified T> IService<T>.count(
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): Long {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return count(wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T> IService<T>.list(
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): List<T> {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return list(wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T, E : IPage<T>> IService<T>.page(
|
||||
page: E,
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): E {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return page(page, wrapper)
|
||||
}
|
||||
|
||||
inline fun <reified T, E : IPage<Map<String, Any>>> IService<T>.pageMaps(
|
||||
page: E,
|
||||
wrapperBuilder: DdbesQueryWrapper<T>.() -> Unit
|
||||
wrapperBuilder: KtEnhanceQueryWrapper<T>.() -> Unit
|
||||
): E {
|
||||
val wrapper = DdbesQueryWrapper<T>()
|
||||
val wrapper = KtEnhanceQueryWrapper<T>()
|
||||
wrapper.wrapperBuilder()
|
||||
return pageMaps(page, wrapper)
|
||||
}
|
||||
|
@ -2,17 +2,17 @@ package cn.tursom.database.mybatisplus
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
|
||||
|
||||
class DdbesQueryWrapper<T>(
|
||||
class KtEnhanceQueryWrapper<T>(
|
||||
override var enhanceEntityClass: Class<T>
|
||||
) : QueryWrapper<T>(),
|
||||
QueryEnhance<T, DdbesQueryWrapper<T>>,
|
||||
DdbesWrapperEnhance<T, QueryWrapper<T>, DdbesQueryWrapper<T>> {
|
||||
EnhanceQuery<T, KtEnhanceQueryWrapper<T>>,
|
||||
KtEnhanceWrapper<T, QueryWrapper<T>, KtEnhanceQueryWrapper<T>> {
|
||||
init {
|
||||
this.entityClass = enhanceEntityClass
|
||||
}
|
||||
|
||||
companion object {
|
||||
inline operator fun <reified T> invoke() = DdbesQueryWrapper(T::class.java)
|
||||
inline operator fun <reified T> invoke() = KtEnhanceQueryWrapper(T::class.java)
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,13 @@
|
||||
package cn.tursom.database.mybatisplus
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
|
||||
|
||||
class KtEnhanceUpdateWrapper<T>(
|
||||
override val enhanceEntityClass: Class<T>,
|
||||
) : UpdateWrapper<T>(),
|
||||
EnhanceUpdate<T, KtEnhanceUpdateWrapper<T>>,
|
||||
KtEnhanceWrapper<T, UpdateWrapper<T>, KtEnhanceUpdateWrapper<T>> {
|
||||
companion object {
|
||||
inline operator fun <reified T> invoke() = KtEnhanceUpdateWrapper(T::class.java)
|
||||
}
|
||||
}
|
@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.interfaces.Join
|
||||
import com.baomidou.mybatisplus.core.conditions.interfaces.Nested
|
||||
|
||||
@MybatisPlusEnhanceDslMaker
|
||||
interface DdbesWrapperEnhance<T, W : AbstractWrapper<T, String, out W>, EnhanceWrapper : Wrapper<T>> :
|
||||
CompareEnhance<T, W, EnhanceWrapper>,
|
||||
interface KtEnhanceWrapper<T, W : AbstractWrapper<T, String, out W>, EnhanceWrapper : Wrapper<T>> :
|
||||
EnhanceCompare<T, W, EnhanceWrapper>,
|
||||
JoinEnhance<EnhanceWrapper>,
|
||||
FuncEnhance<T, EnhanceWrapper>,
|
||||
Compare<W, String>,
|
Loading…
Reference in New Issue
Block a user