diff --git a/src/main/java/Main.kt b/src/main/java/Main.kt index bccc7e4..4b689f3 100644 --- a/src/main/java/Main.kt +++ b/src/main/java/Main.kt @@ -1,5 +1,5 @@ -import com.alibaba.druid.pool.DruidDataSource import com.jfinal.plugin.activerecord.ActiveRecordPlugin +import com.jfinal.plugin.druid.DruidPlugin import org.slf4j.LoggerFactory import ro.pippo.controller.ControllerApplication import ro.pippo.core.Pippo @@ -13,6 +13,7 @@ import route.* object Main { @JvmStatic fun main(args: Array) { +// System.setProperty("user.timezone","Asia/Shanghai"); val pippo = Pippo(BasicApplication()) pippo.start() } @@ -55,8 +56,13 @@ class BasicApplication : ControllerApplication() { addControllers(CtrlRole::class.java) -// val activeRecord = ActiveRecordPlugin(druidDataSource) -// activeRecord.start() + val dp = DruidPlugin( + "jdbc:mysql://rm-wz9n28sq10rz5b0u2o.mysql.rds.aliyuncs.com:3306/sh-upgram?serverTimezone=Asia/Shanghai", + "shzhyjxy", + "Admin111") + val arp = ActiveRecordPlugin(dp) + dp.start() + arp.start() } override fun createRequestResponseFactory(): RequestResponseFactory { diff --git a/src/main/java/route/CrtlGroup.kt b/src/main/java/route/CrtlGroup.kt index d46aaa3..c328730 100644 --- a/src/main/java/route/CrtlGroup.kt +++ b/src/main/java/route/CrtlGroup.kt @@ -1,5 +1,6 @@ package route +import com.jfinal.kit.JsonKit import config.Const import model.JSONResponse import model.ModelGroup @@ -34,9 +35,9 @@ class CrtlGroup : Controller() { @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) - fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { - val list = service.pagiGroup(num,size) - return responseSuccess(list) + fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String { + val page = service.pagiGroup(num,size) + return JsonKit.toJson(responseSuccess(page)) } @GET("/{id: [0-9]+}") diff --git a/src/main/java/route/CtrlMenu.kt b/src/main/java/route/CtrlMenu.kt index 5651e40..268b794 100644 --- a/src/main/java/route/CtrlMenu.kt +++ b/src/main/java/route/CtrlMenu.kt @@ -1,5 +1,6 @@ package route +import com.jfinal.kit.JsonKit import model.JSONResponse import model.ModelMenu import ro.pippo.controller.* @@ -27,9 +28,9 @@ class CtrlMenu : Controller() { @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) - fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { - val list = service.pagiMenu(num,size) - return responseSuccess(list) + fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String { + val page = service.pagiMenu(num,size) + return JsonKit.toJson(responseSuccess(page)) } @GET("/byRole/{roleId: [0-9]+}") diff --git a/src/main/java/route/CtrlPerm.kt b/src/main/java/route/CtrlPerm.kt index 734a1ec..5693e11 100644 --- a/src/main/java/route/CtrlPerm.kt +++ b/src/main/java/route/CtrlPerm.kt @@ -1,5 +1,6 @@ package route +import com.jfinal.kit.JsonKit import model.JSONResponse import model.ModelPerm import ro.pippo.controller.* @@ -27,9 +28,9 @@ class CtrlPerm : Controller() { @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) - fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { - val list = service.pagiPerm(num,size) - return responseSuccess(list) + fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String { + val page = service.pagiPerm(num,size) + return JsonKit.toJson(responseSuccess(page)) } @POST("/byRole/{roleId: [0-9]+}") diff --git a/src/main/java/route/CtrlRole.kt b/src/main/java/route/CtrlRole.kt index 57daa9b..646c4a9 100644 --- a/src/main/java/route/CtrlRole.kt +++ b/src/main/java/route/CtrlRole.kt @@ -1,5 +1,6 @@ package route +import com.jfinal.kit.JsonKit import model.JSONResponse import model.ModelRole import ro.pippo.controller.* @@ -27,9 +28,9 @@ class CtrlRole : Controller() { @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) - fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { - val list = service.pagiRole(num,size) - return responseSuccess(list) + fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String { + val page = service.pagiRole(num,size) + return JsonKit.toJson(responseSuccess(page)) } @GET("/byUser/{userId: [0-9]+}") diff --git a/src/main/java/route/CtrlUser.kt b/src/main/java/route/CtrlUser.kt index f6332e0..e38af6d 100644 --- a/src/main/java/route/CtrlUser.kt +++ b/src/main/java/route/CtrlUser.kt @@ -1,5 +1,6 @@ package route +import com.jfinal.kit.JsonKit import model.JSONResponse import model.ModelUser import ro.pippo.controller.* @@ -30,9 +31,9 @@ class CtrlUser : Controller() { @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) - fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { - val list = service.pagiUser(num,size) - return responseSuccess(list) + fun pagi(@Param("page") num: Int, @Param("size") size: Int): String { + val page = service.pagiUser(num, size) + return JsonKit.toJson(responseSuccess(page)) } @POST("/") diff --git a/src/main/java/service/Service.kt b/src/main/java/service/Service.kt index 86c774a..a180e12 100644 --- a/src/main/java/service/Service.kt +++ b/src/main/java/service/Service.kt @@ -1,5 +1,8 @@ package service +import com.jfinal.plugin.activerecord.Db +import com.jfinal.plugin.activerecord.Page +import com.jfinal.plugin.activerecord.Record import model.* import sun.reflect.generics.reflectiveObjects.NotImplementedException import util.* @@ -408,78 +411,23 @@ class Service { .execute("update `menu` set permId=-1 where id=$menuId") } - fun pagiUser(page: Int, size: Int): MutableList { - val conn = DBUtil.getConnection() - try { - val rs = conn.createStatement() - .executeQuery("select * from `user` limit $size offset ${(page - 1) * size}") - val list = mutableListOf() - while (rs.next()) { - list.add(rsToUser(rs)) - } - return list - } finally { - conn.close() - } + fun pagiUser(page: Int, size: Int): Page { + return Db.paginate(page, size, "select *", "from `user`") } - fun pagiGroup(page: Int, size: Int): MutableList { - val conn = DBUtil.getConnection() - try { - val rs = conn.createStatement() - .executeQuery("select * from `group` limit $size offset ${(page - 1) * size}") - val list = mutableListOf() - while (rs.next()) { - list.add(rsToGroup(rs)) - } - return list - } finally { - conn.close() - } + fun pagiGroup(page: Int, size: Int): Page { + return Db.paginate(page, size, "select *", "from `group`") } - fun pagiMenu(page: Int, size: Int): MutableList { - val conn = DBUtil.getConnection() - try { - val rs = conn.createStatement() - .executeQuery("select * from `menu` limit $size offset ${(page - 1) * size}") - val list = mutableListOf() - while (rs.next()) { - list.add(rsToMenu(rs)) - } - return list - } finally { - conn.close() - } + fun pagiMenu(page: Int, size: Int): Page { + return Db.paginate(page, size, "select *", "from `menu`") } - fun pagiPerm(page: Int, size: Int): MutableList { - val conn = DBUtil.getConnection() - try { - val rs = conn.createStatement() - .executeQuery("select * from `perm` limit $size offset ${(page - 1) * size}") - val list = mutableListOf() - while (rs.next()) { - list.add(rsToPerm(rs)) - } - return list - } finally { - conn.close() - } + fun pagiPerm(page: Int, size: Int): Page { + return Db.paginate(page, size, "select *", "from `perm`") } - fun pagiRole(page: Int, size: Int): MutableList { - val conn = DBUtil.getConnection() - try { - val rs = conn.createStatement() - .executeQuery("select * from `role` limit $size offset ${(page - 1) * size}") - val list = mutableListOf() - while (rs.next()) { - list.add(rsToRole(rs)) - } - return list - } finally { - conn.close() - } + fun pagiRole(page: Int, size: Int): Page { + return Db.paginate(page, size, "select *", "from `role`") } } \ No newline at end of file diff --git a/src/main/java/util/DBUtil.kt b/src/main/java/util/DBUtil.kt index 1d05b36..cd4e43b 100644 --- a/src/main/java/util/DBUtil.kt +++ b/src/main/java/util/DBUtil.kt @@ -8,7 +8,7 @@ object DBUtil { private val druidDataSource: DruidDataSource = DruidDataSource() init { - druidDataSource.url = "jdbc:mysql://rm-wz9n28sq10rz5b0u2o.mysql.rds.aliyuncs.com:3306/sh-upgram" + druidDataSource.url = "jdbc:mysql://rm-wz9n28sq10rz5b0u2o.mysql.rds.aliyuncs.com:3306/sh-upgram?serverTimezone=GMT" druidDataSource.driverClassName = "com.mysql.cj.jdbc.Driver" druidDataSource.username = "shzhyjxy" druidDataSource.password = "Admin111" diff --git a/src/main/java/util/Util.kt b/src/main/java/util/Util.kt index 3bb576d..b093b8d 100644 --- a/src/main/java/util/Util.kt +++ b/src/main/java/util/Util.kt @@ -4,7 +4,11 @@ import config.Const import model.* import java.sql.ResultSet import java.sql.Timestamp +import java.text.SimpleDateFormat +import java.time.Clock import java.time.Instant +import java.time.ZoneId +import java.util.* fun responseNotFoundById(): JSONResponse { return JSONResponse(Const.codeResourceNotFound, Const.msgNotFoundById, null) @@ -66,7 +70,7 @@ fun rsToRole(rs: ResultSet): ModelRole { fun roleToInsertSQL(role: ModelRole): String { return """ insert into `role`(description,createTime) - values('${role.description}','${Timestamp.from(Instant.now())}') + values('${role.description}','${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}') """ }