diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractSaveHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractSaveHandler.java index c665e2e..990d10e 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractSaveHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractSaveHandler.java @@ -1,11 +1,8 @@ package cc.smtweb.framework.core.mvc.service; import cc.smtweb.framework.core.R; -import cc.smtweb.framework.core.SwException; -import cc.smtweb.framework.core.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.jdbc.AbsDbWorker; -import cc.smtweb.framework.core.session.UserSession; import lombok.extern.slf4j.Slf4j; /** @@ -29,6 +26,9 @@ public abstract class AbstractSaveHandler extends AbstractHandler { bean = loadComp(id); } readFromPage(); + if (isNew) { + setNewId(); + } checkValid(); DbEngine.getInstance().doTrans(new AbsDbWorker() { @Override @@ -57,6 +57,7 @@ public abstract class AbstractSaveHandler extends AbstractHandler { protected long readId() { return params.readLong("id", 0L); } + protected abstract void setNewId(); //从页面读取数据 protected abstract void readFromPage(); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java index f814c09..131a42a 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java @@ -47,6 +47,11 @@ public class DefaultSaveHandler extends AbstractSaveHan } @Override + protected void setNewId() { + bean.setEntityId(DbEngine.getInstance().nextId()); + } + + @Override protected T loadComp(long id) { return new DefaultProvider(tableName).getBean(id); } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/util/jackson/LongSerializer.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/util/jackson/LongSerializer.java index ca2c0ea..8dac914 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/util/jackson/LongSerializer.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/util/jackson/LongSerializer.java @@ -13,7 +13,7 @@ public class LongSerializer extends JsonSerializer { if (value == null) { gen.writeNull(); } else { - gen.writeString(value.toString()); + gen.writeNumber(value); } } }