diff --git a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPage.kt b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPage.kt index f4c94555..707f944e 100644 --- a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPage.kt +++ b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPage.kt @@ -17,11 +17,6 @@ package net.cloudopt.next.jooq import java.io.Serializable -/* - * @author: Cloudopt - * @Time: 2018/4/5 - * @Description: Pagination - */ data class JooqPage( val count: Int = 0, val page: Int = 0, diff --git a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPaginate.kt b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPaginate.kt index 5c647254..c91d8ac8 100644 --- a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPaginate.kt +++ b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPaginate.kt @@ -21,8 +21,8 @@ import org.jooq.SelectWindowStep class JooqPaginate(query: SelectWindowStep<*>, private var count: Int, private val page: Int) { - private var totalPage: Int = 0 - private val totalRow: Long + private var totalPage: Int = -1 + private var totalRow: Long = -1 private var firstPage = false private var lastPage = false private var query: SelectWindowStep<*> @@ -30,7 +30,14 @@ class JooqPaginate(query: SelectWindowStep<*>, private var count: Int, private v init { this.query = query - this.totalRow = count().toLong() + } + + fun order(orderField: OrderField<*>) { + this.orderField = orderField + } + + fun find(clazz: Class): JooqPage { + this.totalRow = this.query.count().toLong() this.totalPage = (totalRow / count.toLong()).toInt() if (totalRow % count.toLong() != 0L) { ++totalPage @@ -47,13 +54,6 @@ class JooqPaginate(query: SelectWindowStep<*>, private var count: Int, private v this.firstPage = this.page == 1 this.lastPage = this.page == this.totalPage - } - - fun order(orderField: OrderField<*>) { - this.orderField = orderField - } - - fun find(clazz: Class): JooqPage { var list = query.orderBy(orderField).limit(this.count).offset(skip()).fetchInto(clazz) list = if (list.isNotEmpty()) { list.toMutableList() @@ -76,9 +76,5 @@ class JooqPaginate(query: SelectWindowStep<*>, private var count: Int, private v return (page - 1) * count } - fun count(): Int { - return this.query.count() - } - } \ No newline at end of file diff --git a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPlugin.kt b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPlugin.kt index f8a7b87e..e3858e39 100644 --- a/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPlugin.kt +++ b/plugins/cloudopt-next-jooq/src/main/kotlin/net/cloudopt/next/jooq/JooqPlugin.kt @@ -28,12 +28,6 @@ import org.jooq.impl.DefaultTransactionProvider import java.sql.SQLException import kotlin.reflect.full.createInstance - -/* - * @author: Cloudopt - * @Time: 2018/2/6 - * @Description: Jooq plugin of cloudopt next - */ class JooqPlugin : Plugin { override fun start(): Boolean { @@ -41,7 +35,7 @@ class JooqPlugin : Plugin { System.getProperties().setProperty("org.jooq.no-logo", "true") try { - var map = ConfigManager.init("jooq") + val map = ConfigManager.init("jooq") pool = HikariCPPool() @@ -49,7 +43,7 @@ class JooqPlugin : Plugin { pool = Classer.loadClass(map["pool"] as String).createInstance() as ConnectionPool } - var sqlDialect = when (map["database"]) { + val sqlDialect = when (map["database"]) { "mysql" -> SQLDialect.MYSQL "derby" -> SQLDialect.DERBY "firebird" -> SQLDialect.FIREBIRD diff --git a/plugins/cloudopt-next-jooq/src/test/kotlin/net/cloudopt/next/jooq/test/TestCase.kt b/plugins/cloudopt-next-jooq/src/test/kotlin/net/cloudopt/next/jooq/test/TestCase.kt index 23094602..545cb3c8 100644 --- a/plugins/cloudopt-next-jooq/src/test/kotlin/net/cloudopt/next/jooq/test/TestCase.kt +++ b/plugins/cloudopt-next-jooq/src/test/kotlin/net/cloudopt/next/jooq/test/TestCase.kt @@ -15,11 +15,11 @@ */ package net.cloudopt.next.jooq.test +import net.cloudopt.next.health.HealthChecksManager import net.cloudopt.next.jooq.DBHealthIndicator import net.cloudopt.next.jooq.JooqPlugin import net.cloudopt.next.web.NextServer -import net.cloudopt.next.web.health.HealthChecksManager -import net.cloudopt.next.web.health.HealthChecksPlugin +import net.cloudopt.next.health.HealthChecksPlugin /*