diff --git a/src/main/java/Main.kt b/src/main/java/Main.kt index 9531dc1..72e44b6 100644 --- a/src/main/java/Main.kt +++ b/src/main/java/Main.kt @@ -1,8 +1,6 @@ import com.jfinal.plugin.activerecord.ActiveRecordPlugin import com.jfinal.plugin.druid.DruidPlugin -import model.JFinalModelMenu -import model.JFinalModelUser -import model.JSONResponse +import model.* import org.slf4j.LoggerFactory import ro.pippo.controller.ControllerApplication import ro.pippo.core.Pippo @@ -91,6 +89,9 @@ class BasicApplication : ControllerApplication() { val arp = ActiveRecordPlugin(dp) arp.addMapping("menu", JFinalModelMenu::class.java) arp.addMapping("user", JFinalModelUser::class.java) + arp.addMapping("group", JFinalModelGroup::class.java) + arp.addMapping("perm", JFinalModelPerm::class.java) + arp.addMapping("role", JFinalModelRole::class.java) dp.start() arp.start() diff --git a/src/main/java/model/Model.kt b/src/main/java/model/Model.kt index 76b268b..29a85a1 100644 --- a/src/main/java/model/Model.kt +++ b/src/main/java/model/Model.kt @@ -29,12 +29,13 @@ data class ModelUser(val id: Int?, var name: String?, var passwd: String?, val g constructor() : this(null, null, null, -1, -1, null) } -data class ModelGroup(val id: Int?, val description: String, val createTime: Timestamp?) { +data class ModelGroup(val id: Int?, val description: String, val parentId: Int?, val createTime: Timestamp?) { companion object { fun fromJFinal(model: Model<*>): ModelGroup { return ModelGroup( id = model.getInt("id"), description = model.getStr("description"), + parentId = model.getInt("parentId"), createTime = model.getTimestamp("createTime") ) } @@ -48,7 +49,7 @@ data class ModelGroup(val id: Int?, val description: String, val createTime: Tim return model } - constructor() : this(null, "", null) + constructor() : this(null, "", -1, null) } data class ModelPerm(val id: Int?, val description: String?, val perm: String?, val createTime: Timestamp?) { diff --git a/src/main/java/service/Service.kt b/src/main/java/service/Service.kt index 33174cb..79dbfa1 100644 --- a/src/main/java/service/Service.kt +++ b/src/main/java/service/Service.kt @@ -7,6 +7,8 @@ import com.jfinal.plugin.activerecord.Record import model.* import sun.reflect.generics.reflectiveObjects.NotImplementedException import util.* +import java.sql.Timestamp +import java.util.* import kotlin.reflect.KClass import kotlin.reflect.full.companionObjectInstance import kotlin.reflect.full.functions @@ -43,6 +45,8 @@ class Service { fun save(cls: KClass<*>, instance: Any): Boolean { val model = instance::class.functions.filter { "toJFinal" == it.name }.first().call(instance) as Model<*> + model.set("createTime", Timestamp(Date().time)) + model.remove("id") return model.save() } @@ -304,18 +308,7 @@ class Service { @Deprecated("") fun saveGroup(group: ModelGroup): Boolean { - val conn = DBUtil.getConnection() - try { - println(groupToInsertSQL(group)) - conn.createStatement() - .execute(groupToInsertSQL(group)) - return true - } catch (e: Exception) { - e.printStackTrace() - return false - } finally { - conn.close() - } + return save(ModelGroup::class, group) } @Deprecated("") diff --git a/src/main/java/util/Util.kt b/src/main/java/util/Util.kt index 9979300..439800a 100644 --- a/src/main/java/util/Util.kt +++ b/src/main/java/util/Util.kt @@ -76,6 +76,7 @@ fun rsToGroup(rs: ResultSet): ModelGroup { return ModelGroup( id = rs.getInt("id"), description = rs.getString("description"), + parentId = rs.getInt("parentId"), createTime = rs.getTimestamp("createTime") ) }