diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/redis/RedisManager.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/redis/RedisManager.java index 4d6eeac..faf0b59 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/redis/RedisManager.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/redis/RedisManager.java @@ -1,6 +1,6 @@ package cc.smtweb.framework.core.cache.redis; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.systask.SysTaskManager; import cc.smtweb.framework.core.util.JsonUtil; import cc.smtweb.framework.core.util.SpringUtil; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwMap.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwMap.java index f056ac6..e55fe7a 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwMap.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwMap.java @@ -1,5 +1,6 @@ package cc.smtweb.framework.core.common; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.util.MapUtil; import java.util.HashMap; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java index 2b679b7..8318c2c 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java @@ -1,7 +1,8 @@ package cc.smtweb.framework.core.db; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.dao.AbstractEntityDao; import cc.smtweb.framework.core.db.dao.EntityColumn; import cc.smtweb.framework.core.db.impl.DefaultEntity; @@ -154,7 +155,7 @@ public class EntityDao extends AbstractEntityDao { public int[] batchInsertEntity(List entities, String fields) { StringBuilder sql = new StringBuilder(); - sql.append("insert into ").append(tableName).append("("); + sql.append("insert into ").append(modelTable.getSchemaTableName()).append("("); List listFields = adjustFields(fields, SwEnum.FieldType.CREATE_TIME.value, SwEnum.FieldType.LAST_TIME.value); List insertColumns = new ArrayList<>(this.columns.size()); @@ -234,7 +235,7 @@ public class EntityDao extends AbstractEntityDao { */ public int deleteEntity(String whereSql, Object... params) { StringBuilder sb = new StringBuilder("DELETE FROM "); - sb.append(getTableName()).append(" ").append(whereSql); + sb.append(modelTable.getSchemaTableName()).append(" ").append(whereSql); return jdbcEngine.update(sb.toString(), params); } @@ -344,6 +345,11 @@ public class EntityDao extends AbstractEntityDao { return jdbcEngine.queryLongList(sb.toString(), type, params); } + /** + * 检查表字段是否违反唯一索引 + * @param bean + * @param fields + */ public void checkUnique(T bean, String... fields) { if (fields.length == 0) return; String ss = "", sTitle = ""; @@ -355,7 +361,7 @@ public class EntityDao extends AbstractEntityDao { args.add(readValue(bean, f)); sTitle += "+" + modelTable.findFieldTitle(f); } - if (jdbcEngine.isExists("select 1 from " + tableName + " where " + modelTable.getIdField() + "=? " + ss, args.toArray())) - throw new SwException(sTitle.substring(1) + " 不能重复!"); + if (jdbcEngine.isExists("select 1 from " + modelTable.getSchemaTableName() + " where " + modelTable.getIdField() + "=? " + ss, args.toArray())) + throw new BizException(sTitle.substring(1) + " 不能重复!"); } } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityHelper.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityHelper.java index 03c981c..f427081 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityHelper.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityHelper.java @@ -2,7 +2,8 @@ package cc.smtweb.framework.core.db; import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.vo.ModelField; @@ -155,15 +156,20 @@ public class EntityHelper { //检查表记录是否被引用 public static void checkExists(long tableId, long id) { ModelTable fkTable = ModelTableCache.getInstance().get(tableId); - if (fkTable == null) throw new SwException("待检查表(" + tableId + ")为空!"); + if (fkTable == null) throw new BizException("待检查表(" + tableId + ")为空!"); checkExists(fkTable, id); } public static void checkExists(String tableName, long id) { ModelTable fkTable = ModelTableCache.getInstance().getByName(tableName); - if (fkTable == null) throw new SwException("待检查表(" + tableName + ")为空!"); + if (fkTable == null) throw new BizException("待检查表(" + tableName + ")为空!"); checkExists(fkTable, id); } + /** + * 检查记录是否被使用 + * @param fkTable + * @param id + */ public static void checkExists(ModelTable fkTable, long id) { Set list = ModelTableCache.getInstance().getByLink(fkTable.getId()); if (list == null || list.isEmpty()) return; @@ -178,8 +184,10 @@ public class EntityHelper { } if (sql.length() == 0) continue; if (DbEngine.getInstance().isExists("select 1 from " + table.getSchemaTableName() + " where " + sql.substring(4), args.toArray())) { - throw new SwException("该记录被表【" + table.getTitle() + "(" + table.getName() + ")】引用,不能删除!"); + throw new BizException("该记录被表【" + table.getTitle() + "(" + table.getName() + ")】引用,不能删除!"); } } } + + } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java index eaaf2c3..45570e1 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java @@ -3,7 +3,7 @@ package cc.smtweb.framework.core.db.dao; import cc.smtweb.framework.core.annotation.SwTable; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.impl.DefaultEntity; import cc.smtweb.framework.core.db.vo.ModelField; @@ -179,7 +179,7 @@ public abstract class AbstractEntityDao { protected Object[] handleInsert(T obj, StringBuilder sql, String fields) { List result; List listFields = adjustFields(fields, SwEnum.FieldType.CREATE_TIME.value, SwEnum.FieldType.LAST_TIME.value); - sql.append("insert into ").append(tableName).append("("); + sql.append("insert into ").append(modelTable.getSchemaTableName()).append("("); updateTime(obj, SwEnum.FieldType.CREATE_TIME.value); updateTime(obj, SwEnum.FieldType.LAST_TIME.value); @@ -228,7 +228,7 @@ public abstract class AbstractEntityDao { List listFields = adjustFields(fields, SwEnum.FieldType.LAST_TIME.value); updateTime(obj, SwEnum.FieldType.LAST_TIME.value); - sql.append("update ").append(tableName).append(" set "); + sql.append("update ").append(modelTable.getSchemaTableName()).append(" set "); List result = new ArrayList<>(); if (listFields == null) { @@ -300,7 +300,7 @@ public abstract class AbstractEntityDao { protected Object[] handleDelete(T obj, StringBuilder sql) { EntityColumn idColumn = findIdColumn(); - sql.append("DELETE FROM ").append(tableName).append(" WHERE ").append(idColumn.getField()).append("=?"); + sql.append("DELETE FROM ").append(modelTable.getSchemaTableName()).append(" WHERE ").append(idColumn.getField()).append("=?"); return new Object[]{idColumn.readValue(obj)}; } @@ -312,7 +312,7 @@ public abstract class AbstractEntityDao { */ protected void handleDelete(StringBuilder sql) { EntityColumn idColumn = findIdColumn(); - sql.append("DELETE FROM ").append(tableName).append(" WHERE ").append(idColumn.getField().getName()).append("=?"); + sql.append("DELETE FROM ").append(modelTable.getSchemaTableName()).append(" WHERE ").append(idColumn.getField().getName()).append("=?"); } public Object readValue(T obj, String fieldName) { @@ -333,15 +333,6 @@ public abstract class AbstractEntityDao { } /** - * 获取表名 - * - * @return 表名 - */ - protected String getTableName() { - return tableName; - } - - /** * 拼接查询SQL语句 * * @param sql SQL字符缓存 @@ -359,7 +350,7 @@ public abstract class AbstractEntityDao { sql.setCharAt(sql.length() - 1, ' '); } - sql.append("from ").append(tableName); + sql.append("from ").append(modelTable.getSchemaTableName()); } protected void handleSelectOne(StringBuilder sql, String fields) { @@ -376,7 +367,7 @@ public abstract class AbstractEntityDao { sql.setCharAt(sql.length() - 1, ' '); } - sql.append("from ").append(tableName).append(" where ").append(idColumn.getField().getName()).append("=?"); + sql.append("from ").append(modelTable.getSchemaTableName()).append(" where ").append(idColumn.getField().getName()).append("=?"); } /** @@ -391,7 +382,7 @@ public abstract class AbstractEntityDao { return (Long) idColumn.readValue(entity); } - public T createBean() throws SwException { + public T createBean() { try { T bean = this.type.newInstance(); if (bean instanceof DefaultEntity) { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/jdbc/JdbcEngine.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/jdbc/JdbcEngine.java index bfb6c1a..ec46520 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/jdbc/JdbcEngine.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/jdbc/JdbcEngine.java @@ -1,12 +1,11 @@ package cc.smtweb.framework.core.db.jdbc; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.impl.BaseBean; import cc.smtweb.framework.core.exception.DbException; import cc.smtweb.framework.core.util.JsonUtil; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindBeanException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindBeanException.java index add31a4..0168e3a 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindBeanException.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindBeanException.java @@ -1,7 +1,5 @@ package cc.smtweb.framework.core.exception; -import cc.smtweb.framework.core.common.SwException; - /** * bean绑定错误 * @author kevin diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindParamException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindParamException.java index 195636a..678c044 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindParamException.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/BindParamException.java @@ -1,7 +1,5 @@ package cc.smtweb.framework.core.exception; -import cc.smtweb.framework.core.common.SwException; - import java.text.ParseException; public class BindParamException extends SwException { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/CacheException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/CacheException.java deleted file mode 100644 index c2eb9b2..0000000 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/CacheException.java +++ /dev/null @@ -1,13 +0,0 @@ -package cc.smtweb.framework.core.exception; - -import cc.smtweb.framework.core.common.SwException; - -public class CacheException extends SwException { - public CacheException(String message) { - super(message); - } - - public CacheException(Throwable e) { - super(e); - } -} diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/JsonParseException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/JsonParseException.java index e053adb..22fc5bf 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/JsonParseException.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/JsonParseException.java @@ -1,7 +1,5 @@ package cc.smtweb.framework.core.exception; -import cc.smtweb.framework.core.common.SwException; - public class JsonParseException extends SwException { public JsonParseException(String s, Exception e) { super(s, e); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/SwException.java similarity index 95% rename from smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwException.java rename to smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/SwException.java index 5cd8c51..50306a5 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwException.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/exception/SwException.java @@ -1,4 +1,4 @@ -package cc.smtweb.framework.core.common; +package cc.smtweb.framework.core.exception; import cc.smtweb.framework.core.exception.ExceptionMessage; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/access/MethodAccess.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/access/MethodAccess.java index 456e84f..3ec44b1 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/access/MethodAccess.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/access/MethodAccess.java @@ -1,6 +1,8 @@ package cc.smtweb.framework.core.mvc.controller.access; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.common.R; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.exception.BindBeanException; import cc.smtweb.framework.core.mvc.controller.IBeanContext; import cc.smtweb.framework.core.mvc.controller.binder.ParamEditor; @@ -14,99 +16,102 @@ import java.util.Map; /** * API方法执行 + * * @author xkliu */ public class MethodAccess implements IMethodAccess { - private final ControllerAccess controllerAccess; - private final Method method; - @Getter - private final String perm; - private final MethodParamAccess[] paramBinds; - - public MethodAccess(ControllerAccess controllerAccess, Method method, String perm, MethodParamAccess[] paramBinds) { - this.controllerAccess = controllerAccess; - this.method = method; - this.perm = perm; - this.paramBinds = paramBinds; - } - - @Override - public Class getReturnType() { - return this.method.getReturnType(); - } - - @Override - public Class getBodyType() { - for (MethodParamAccess methodParamAccess: paramBinds) { - if (methodParamAccess.getBindType() == ParamEditor.TYPE_BODY) { - return methodParamAccess.getParamType(); - } + private final ControllerAccess controllerAccess; + private final Method method; + @Getter + private final String perm; + private final MethodParamAccess[] paramBinds; + + public MethodAccess(ControllerAccess controllerAccess, Method method, String perm, MethodParamAccess[] paramBinds) { + this.controllerAccess = controllerAccess; + this.method = method; + this.perm = perm; + this.paramBinds = paramBinds; } - return null; - } + @Override + public Class getReturnType() { + return this.method.getReturnType(); + } + + @Override + public Class getBodyType() { + for (MethodParamAccess methodParamAccess : paramBinds) { + if (methodParamAccess.getBindType() == ParamEditor.TYPE_BODY) { + return methodParamAccess.getParamType(); + } + } - @Override - public Class getAttrType(String paramName) { - for (MethodParamAccess methodParamAccess: paramBinds) { - if (methodParamAccess.getBindType() == ParamEditor.TYPE_ATTR && paramName.equals(methodParamAccess.getParamName())) { - return methodParamAccess.getParamType(); - } + return null; } - return null; - } + @Override + public Class getAttrType(String paramName) { + for (MethodParamAccess methodParamAccess : paramBinds) { + if (methodParamAccess.getBindType() == ParamEditor.TYPE_ATTR && paramName.equals(methodParamAccess.getParamName())) { + return methodParamAccess.getParamType(); + } + } - @Override - public Object invoke(IBeanContext context) { - return invoke(context, null, null, null); - } + return null; + } - @Override - public Object invoke(IBeanContext context, Map params, String body, HttpServletRequest request) { - // 通过请求数据转换函数参数值 - Object[] args = null; + @Override + public Object invoke(IBeanContext context) { + return invoke(context, null, null, null); + } - if (!ObjectUtils.isEmpty(paramBinds)) { - args = new Object[paramBinds.length]; - for (int i = 0; i < paramBinds.length; i++) { - MethodParamAccess param = paramBinds[i]; + @Override + public Object invoke(IBeanContext context, Map params, String body, HttpServletRequest request) { + // 通过请求数据转换函数参数值 + Object[] args = null; + + if (!ObjectUtils.isEmpty(paramBinds)) { + args = new Object[paramBinds.length]; + for (int i = 0; i < paramBinds.length; i++) { + MethodParamAccess param = paramBinds[i]; + try { + args[i] = param.getParamValue(context, params, body, request); + } catch (Exception e) { + throw new BindBeanException(String.format("%s error value: %s", param.getParamName(), param.toString()), e); + } + } + } + + // 获取服务实例,然后执行方法 try { - args[i] = param.getParamValue(context, params, body, request); - } catch (Exception e) { - throw new BindBeanException(String.format("%s error value: %s", param.getParamName(), param.toString()), e); + Object instance = controllerAccess.getOrNewInstance(context, params); + return method.invoke(instance, args); + } catch (IllegalAccessException | InstantiationException e) { + throw new SwException(e); + } catch (InvocationTargetException e) { + throw new SwException(e.getCause()); + } catch (BizException e) { + return R.error(e.getMessage()); } - } } - // 获取服务实例,然后执行方法 - try { - Object instance = controllerAccess.getOrNewInstance(context, params); - return method.invoke(instance, args); - } catch (IllegalAccessException | InstantiationException e) { - throw new SwException(e); - } catch (InvocationTargetException e) { - throw new SwException(e.getCause()); - } - } - - @Override - public String fullName() { - return controllerAccess.getFullName() + "." + method.getName(); - } - - public Class findParam(Class clazz) { - for (MethodParamAccess param: paramBinds) { - Class paramType = param.getParamType(); - if (clazz.equals(paramType)) { - return paramType; - } + @Override + public String fullName() { + return controllerAccess.getFullName() + "." + method.getName(); } - return null; - } + public Class findParam(Class clazz) { + for (MethodParamAccess param : paramBinds) { + Class paramType = param.getParamType(); + if (clazz.equals(paramType)) { + return paramType; + } + } + + return null; + } - public String controllerFullName() { - return this.controllerAccess.getFullName(); - } + public String controllerFullName() { + return this.controllerAccess.getFullName(); + } } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/scan/ScanContext.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/scan/ScanContext.java index 061806b..b20338c 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/scan/ScanContext.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/controller/scan/ScanContext.java @@ -4,7 +4,7 @@ import cc.smtweb.framework.core.annotation.SwBean; import cc.smtweb.framework.core.annotation.SwConstruct; import cc.smtweb.framework.core.annotation.SwDestroy; import cc.smtweb.framework.core.annotation.SwScheduling; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.mvc.controller.access.MethodAccess; import cc.smtweb.framework.core.mvc.controller.access.SchedulerMethodAccess; import cc.smtweb.framework.core.mvc.controller.binder.WebDataBinder; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/realm/exception/AuthorizationException.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/realm/exception/AuthorizationException.java index d25f318..423cbbd 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/realm/exception/AuthorizationException.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/realm/exception/AuthorizationException.java @@ -1,6 +1,6 @@ package cc.smtweb.framework.core.mvc.realm.exception; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; public class AuthorizationException extends SwException { public AuthorizationException(String s) { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractCompService.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractCompService.java index 7906bc7..1352112 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractCompService.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractCompService.java @@ -2,7 +2,8 @@ package cc.smtweb.framework.core.mvc.service; import cc.smtweb.framework.core.annotation.SwBody; import cc.smtweb.framework.core.common.R; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.session.UserSession; @@ -22,7 +23,7 @@ public abstract class AbstractCompService { protected AbstractHandler getHandler(SwMap params, UserSession us, String type) throws Exception { AbstractHandler handler = createHandler(type); - if (handler == null) throw new SwException("暂不支持此类服务:" + type); + if (handler == null) throw new BizException("暂不支持此类服务:" + type); if (params == null) params = new SwMap(); if (us == null) us = UserSession.createSys(); handler.init(params, us); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java index 0760241..296a35d 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java @@ -2,7 +2,8 @@ package cc.smtweb.framework.core.mvc.service; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.cache.ModelTableCache; @@ -31,7 +32,7 @@ public class DefaultComboHandler extends DefaultListHan protected SwListData filterData() { String text = params.readString("text"); - if (StringUtils.isEmpty(text)) throw new SwException("没有搜素内容!"); + if (StringUtils.isEmpty(text)) throw new BizException("没有搜素内容!"); SqlPara sqlPara = buildDataSql(); String sort = params.readString("sort"); @@ -42,7 +43,7 @@ public class DefaultComboHandler extends DefaultListHan Collections.addAll(args, sqlPara.paras); buildFilterCondition(text, sqlFilter, args); - if (sqlFilter.length() == 0) throw new SwException("没有待搜索的字段!"); + if (sqlFilter.length() == 0) throw new BizException("没有待搜索的字段!"); String sql = "select ar.* from (" + sqlPara.sql + ") ar where " + sqlFilter.substring(4); if (StringUtils.isNotEmpty(sort)) { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultProvider.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultProvider.java index 5826a2d..3f15f88 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultProvider.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultProvider.java @@ -1,6 +1,7 @@ package cc.smtweb.framework.core.mvc.service; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.EntityHelper; @@ -23,7 +24,7 @@ public class DefaultProvider extends AbstractCompProvid private T loadBean(long id) { EntityDao bdao = (EntityDao) DbEngine.getInstance().findDao(tableName); T bean = bdao.queryEntity(id); - if (bean == null) throw new SwException("没有找到指定数据(id=" + id + ")"); + if (bean == null) throw new BizException("没有找到指定数据(id=" + id + ")"); EntityHelper.loadBeanLink(bean.getTableName(), bean.getData(), null); return bean; } 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 b0e3a7a..0a0defa 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 @@ -4,7 +4,8 @@ import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; @@ -68,7 +69,7 @@ public class DefaultSaveHandler extends AbstractSaveHan ModelTable table = ModelTableCache.getInstance().getByName(tableName); for (ModelField field : table.getFields()) { if (field.isNotNull() && StringUtils.isEmpty(bean.getStr(field.getName()))) { - throw new SwException(field.getTitle() + "不能为空!"); + throw new BizException(field.getTitle() + "不能为空!"); } if (field.getFieldType() == SwEnum.FieldType.PARENT_ID.value) { TreeHelper.getTreeHelper(tableName).checkParent(bean); @@ -136,7 +137,7 @@ public class DefaultSaveHandler extends AbstractSaveHan //树,改变父亲 public R changeParent(){ ModelTable table = ModelTableCache.getInstance().getByName(tableName); - if (table.getType() != SwEnum.TableType.TYPE_TREE.value) throw new SwException("非树型表,不支持更改父节点"); + if (table.getType() != SwEnum.TableType.TYPE_TREE.value) throw new BizException("非树型表,不支持更改父节点"); long id = params.readLong("id"); long parentId = params.readLong("parent_id"); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java index 46b7fcb..413bb37 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java @@ -4,7 +4,8 @@ import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.SwConsts; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; @@ -90,22 +91,22 @@ public class TreeHelper { public void checkParent(T bean) { if (table.getType() != SwEnum.TableType.TYPE_TREE.value) return; - if (!table.isNeedCache()) throw new SwException("请定义为需要缓存!"); + if (!table.isNeedCache()) throw new BizException("请将树型表定义为需要缓存!"); long pId = getParentId(bean); - if (bean.getEntityId() == pId) throw new SwException("上级节点不能为自己!"); + if (bean.getEntityId() == pId) throw new BizException("上级节点不能为自己!"); if (pId <= 0) return; T parent = cache.get(pId); if (parent == null) return; String plevelcode = SwConsts.SPLIT_CHAR + parent.getStr(fieldLevelCode) + SwConsts.SPLIT_CHAR; if (plevelcode.contains(SwConsts.SPLIT_CHAR + bean.getEntityId() + SwConsts.SPLIT_CHAR)) { - throw new SwException("上级节点不能为自己的下级!"); + throw new BizException("上级节点不能为自己的下级!"); } } public List resetTreeLevel(T bean) { List list = new ArrayList<>(); if (table.getType() != SwEnum.TableType.TYPE_TREE.value) return list; - if (!table.isNeedCache()) throw new SwException("请定义为需要缓存!"); + if (!table.isNeedCache()) throw new BizException("请定义为需要缓存!"); T oldBean = cache.get(bean.getEntityId()); if (bean.getLong(fieldParent) != oldBean.getLong(fieldParent)) { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/variable/SwVariableFactory.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/variable/SwVariableFactory.java index a3b7ef6..dfbb34e 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/variable/SwVariableFactory.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/variable/SwVariableFactory.java @@ -1,6 +1,7 @@ package cc.smtweb.framework.core.mvc.variable; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.session.UserSession; import cc.smtweb.framework.core.util.DateUtil; @@ -31,14 +32,14 @@ public class SwVariableFactory { //注册变量 public void regVariable(String name, String label, String remark, ICalcVar calcVar) { - if (map.containsKey(name)) throw new SwException("变量重复定义:name=" + name); + if (map.containsKey(name)) throw new BizException("变量重复定义:name=" + name); map.put(name, new SwVariable(name, label, remark, calcVar)); } //计算变量值 public Object calcVar(String name, SwMap params, UserSession us) { SwVariable var = map.get(name); - if (var == null) throw new SwException("没有定义此变量:" + name); + if (var == null) throw new BizException("没有定义此变量:" + name); return var.getCalcVar().calcVar(params, us); } } diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/BeanUtil.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/BeanUtil.java index c52d288..4dbeabb 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/BeanUtil.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/BeanUtil.java @@ -1,6 +1,6 @@ package cc.smtweb.system.bpm.util; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeansException; diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/CodeGenerator.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/CodeGenerator.java index 434aa10..944e3d2 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/CodeGenerator.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/util/CodeGenerator.java @@ -1,25 +1,17 @@ package cc.smtweb.system.bpm.util; -import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; -import cc.smtweb.framework.core.db.cache.ModelTableCache; -import cc.smtweb.framework.core.db.vo.ModelField; -import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.util.DateUtil; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringUtils; -import sun.nio.ch.IOUtil; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Map; diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java index 77e4d72..b83b1ab 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java @@ -4,10 +4,10 @@ import cc.smtweb.framework.core.common.*; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.vo.ModelCache; import cc.smtweb.framework.core.db.vo.ModelField; -import cc.smtweb.framework.core.db.vo.ModelProject; import cc.smtweb.framework.core.db.vo.ModelTable; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.mvc.service.AbstractHandler; -import cc.smtweb.framework.core.util.CommUtil; import cc.smtweb.framework.core.util.DateUtil; import cc.smtweb.framework.core.util.MapUtil; import cc.smtweb.framework.core.util.SpringUtil; @@ -65,7 +65,7 @@ public class CodeBuildHandler extends AbstractHandler { */ private void buildCodeJavaPath(long pageId) { ModelForm form = ModelFormCache.getInstance().get(pageId); - if (form == null) throw new SwException("未找到指定的页面定义!"); + if (form == null) throw new BizException("未找到指定的页面定义(" + pageId + ")!"); String moduleName = ModelProjectCache.getInstance().getModule(form.getPrjId()); if (StringUtils.isEmpty(moduleName) || SwConsts.DEF_DB_NAME.equals(moduleName) || moduleName.equals("bpm")) { @@ -76,10 +76,10 @@ public class CodeBuildHandler extends AbstractHandler { } BpmConfigBean bpmConfigBean = SpringUtil.getBean(BpmConfigBean.class); Map mapIdeaModules = IdeaUtil.getModules(bpmConfigBean.getCodeJavaPath()); - if (mapIdeaModules == null || mapIdeaModules.isEmpty()) throw new SwException("没有定义idea项目的路径!"); + if (mapIdeaModules == null || mapIdeaModules.isEmpty()) throw new BizException("没有定义idea项目的路径(smtweb.bpm.codeJavaPath)!"); codeJavaPath = mapIdeaModules.get(moduleName); if (StringUtils.isEmpty(codeJavaPath)) { - throw new SwException("没有找到对应项目在idea中Module的路径!"); + throw new BizException("没有找到对应项目在idea中Module的路径(" + moduleName + ")!"); } codeJavaPath += "/src/main/java/"; //加上目录 @@ -98,7 +98,7 @@ public class CodeBuildHandler extends AbstractHandler { */ private void buildJavaTable(long tableId, boolean needBean, boolean needCache) { ModelTable table = ModelTableCache.getInstance().get(tableId); - if (table == null) throw new SwException("没有找到对应的表定义!"); + if (table == null) throw new BizException("没有找到对应的表定义(" + tableId + ")!"); SwMap model = new SwMap(); model.put("user", userName); model.put("sysTime", DateUtil.nowDateTime()); @@ -126,7 +126,7 @@ public class CodeBuildHandler extends AbstractHandler { } if (needCache) { - if (!table.isNeedCache()) throw new SwException("表设置为不需要缓存!" + table.getTitle()); + if (!table.isNeedCache()) throw new BizException("表设置为不需要缓存!" + table.getTitle()); List caches = new ArrayList<>(); model.put("caches", caches); for (ModelCache cache : table.getCaches()) { @@ -146,7 +146,7 @@ public class CodeBuildHandler extends AbstractHandler { private void buildJavaService(long pageId) { ModelForm form = ModelFormCache.getInstance().get(pageId); String sName = form.getService(); - if (StringUtils.isEmpty(sName)) throw new SwException("页面设置未定义服务名!" + form.getTitle()); + if (StringUtils.isEmpty(sName)) throw new BizException("页面设置未定义服务名!" + form.getTitle()); sName = CodeGenUtil.toUpperHump(sName); SwMap model = new SwMap(); diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java index 33bccee..a94151f 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java @@ -2,7 +2,8 @@ package cc.smtweb.system.bpm.web.design.form; import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.vo.ModelField; @@ -98,16 +99,16 @@ public class ModelFormHelper { private static void buildSaveModelFields(PageDatasets datasets, PageModel pageInfo, Map model, boolean isField) { String db = (String) model.get("dataset"); //没有配置db,配置有误,不处理 - if (StringUtils.isEmpty(db)) throw new SwException("model未配置数据集db,无法解析!"); + if (StringUtils.isEmpty(db)) throw new BizException("model未配置数据集db,无法解析!"); PageDataset pds = datasets.findById(db); String key = isField ? "fields" : "filters"; List> fields = (List>) model.get(key); if (fields == null || fields.isEmpty()) return; for (Map field : fields) { String fn = (String) field.get("field"); - if (StringUtils.isEmpty(fn)) throw new SwException("model[" + db + "]." + key + "未配置字段名field,无法解析!"); + if (StringUtils.isEmpty(fn)) throw new BizException("model[" + db + "]." + key + "未配置字段名field,无法解析!"); PageDatasetField pdf = isField ? pds.findFieldByName(fn) : pds.findFilterByName(fn); - if (pdf == null) throw new SwException("model[" + db + "]." + key + "未找到定义的数据集字段(" + fn + "),无法解析!"); + if (pdf == null) throw new BizException("model[" + db + "]." + key + "未找到定义的数据集字段(" + fn + "),无法解析!"); if (CommUtil.isStrEquals(MapUtil.readString(field, "label"), pdf.label)) { field.remove("label"); @@ -263,7 +264,7 @@ public class ModelFormHelper { for (Map model : pageInfo.model) { String db = (String) model.get("dataset"); PageDataset dataSet = datasets.findById(db); - if (dataSet == null) throw new SwException("未找到指定的数据集定义!" + db); + if (dataSet == null) throw new BizException("未找到指定的数据集定义!" + db); listModel.add(buildEngineModelMap(dataSet, model)); } @@ -311,9 +312,9 @@ public class ModelFormHelper { id = (Integer) v; } else if (v instanceof Long) { id = (Long) v; - } else throw new SwException("不能识别的控件Id:" + v); + } else throw new BizException("不能识别的控件Id:" + v); ModelForm widgetForm = getFromCache(id); - if (widgetForm == null) throw new SwException("没有找到指定的控件定义!id=" + id); + if (widgetForm == null) throw new BizException("没有找到指定的控件定义!id=" + id); SwMap w = new SwMap(); widget.put("w" + id, w); SwMap widgetOpts = widgetForm.getOpts(); @@ -414,7 +415,7 @@ public class ModelFormHelper { final String dsId = MapUtil.readString(field, "dataset"); if (dataset == null || !dataset.id.equals(dsId)) { dataset = datasets.findById(dsId); - if (dataset == null) throw new SwException("没有找到指定数据集:" + dsId); + if (dataset == null) throw new BizException("没有找到指定数据集:" + dsId); } String fn = MapUtil.readString(field, "field"); PageDatasetField pdf; @@ -424,7 +425,7 @@ public class ModelFormHelper { pdf = dataset.findFieldById(fn); if (pdf == null) pdf = dataset.findFilterByName(fn); } - if (pdf == null) throw new SwException("model[" + dsId + "]未找到定义的数据集字段(" + fn + "),无法解析!"); + if (pdf == null) throw new BizException("model[" + dsId + "]未找到定义的数据集字段(" + fn + "),无法解析!"); field.put("id", pdf.id); field.put("field", pdf.field); field.put("name", pdf.name); diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormLoadHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormLoadHandler.java index 2de7e30..896992e 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormLoadHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormLoadHandler.java @@ -1,7 +1,8 @@ package cc.smtweb.system.bpm.web.design.form; import cc.smtweb.framework.core.common.R; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.mvc.service.DefaultLoadHandler; import cc.smtweb.framework.core.util.JsonUtil; @@ -32,7 +33,7 @@ public class ModelFormLoadHandler extends DefaultLoadHandler { public R loadDataset() { long id = params.readLong("id"); ModelForm bean = super.loadComp(id); - if (bean == null) throw new SwException("没有找到指定定义信息!id=" + id); + if (bean == null) throw new BizException("没有找到指定定义信息!id=" + id); return R.success(ModelFormHelper.buildReqDataset(bean.getDatasets())); } @@ -40,7 +41,7 @@ public class ModelFormLoadHandler extends DefaultLoadHandler { public R loadModel() { long id = params.readLong("id"); ModelForm bean = super.loadComp(id); - if (bean == null) throw new SwException("没有找到指定定义信息!id=" + id); + if (bean == null) throw new BizException("没有找到指定定义信息!id=" + id); return R.success(ModelFormHelper.buildReqModel(bean)); } @@ -48,7 +49,7 @@ public class ModelFormLoadHandler extends DefaultLoadHandler { public R loadForm() { long id = params.readLong("id"); ModelForm bean = super.loadComp(id); - if (bean == null) throw new SwException("没有找到指定定义信息!id=" + id); + if (bean == null) throw new BizException("没有找到指定定义信息!id=" + id); return R.success(ModelFormHelper.buildEngineModel(bean, params, us)); } @@ -56,7 +57,7 @@ public class ModelFormLoadHandler extends DefaultLoadHandler { public R loadWidgetFilter() { long id = params.readLong("id"); ModelForm bean = super.loadComp(id); - if (bean == null) throw new SwException("没有找到指定控件定义!id=" + id); + if (bean == null) throw new BizException("没有找到指定控件定义!id=" + id); return R.success(ModelFormHelper.buildWidgetFilter(bean)); } } diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormSaveHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormSaveHandler.java index 90fae17..6ccfab9 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormSaveHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormSaveHandler.java @@ -2,7 +2,8 @@ package cc.smtweb.system.bpm.web.design.form; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; @@ -39,7 +40,7 @@ public class ModelFormSaveHandler extends DefaultSaveHandler { String data = params.readString("data"); bean = loadComp(id); if (StringUtils.isEmpty(data)) { - throw new SwException("没有待保存的数据!"); + throw new BizException("没有待保存的数据!"); } bean.setDataset(ModelFormHelper.buildSaveDataset(data)); DbEngine.getInstance().doTrans(new AbsDbWorker() { @@ -71,7 +72,7 @@ public class ModelFormSaveHandler extends DefaultSaveHandler { String data = params.readString("data"); bean = loadComp(id); if (StringUtils.isEmpty(data)) { - throw new SwException("没有待保存的数据!"); + throw new BizException("没有待保存的数据!"); } bean.setContent(ModelFormHelper.buildSaveModel(bean, data)); DbEngine.getInstance().doTrans(new AbsDbWorker() { @@ -104,7 +105,7 @@ public class ModelFormSaveHandler extends DefaultSaveHandler { String data = params.readString("data"); bean = loadComp(id); if (StringUtils.isEmpty(data)) { - throw new SwException("没有待保存的数据!"); + throw new BizException("没有待保存的数据!"); } bean.setTmpl(data); ModelFormHelper.buildSaveModelByTmpl(bean, templateId); diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/define/PageDataset.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/define/PageDataset.java index f4752f9..0236c75 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/define/PageDataset.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/define/PageDataset.java @@ -1,7 +1,8 @@ package cc.smtweb.system.bpm.web.design.form.define; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelTable; @@ -100,7 +101,7 @@ public class PageDataset { } if (table == null) continue; ModelField mf = table.findField(field.field); - if (mf == null) throw new SwException("未找到表字段的定义信息(" + table.getName() + "." + field.field + ")"); + if (mf == null) throw new BizException("未找到表字段的定义信息(" + table.getName() + "." + field.field + ")"); field.table_text = table.getTitle(); field.fieldType = mf.getFieldType(); field.notNull = mf.getNotNull(); diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java index 92a013d..0d7b3ad 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java @@ -3,7 +3,8 @@ package cc.smtweb.system.bpm.web.design.preview; import cc.smtweb.framework.core.annotation.SwParam; import cc.smtweb.framework.core.annotation.SwService; import cc.smtweb.framework.core.common.R; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.session.UserSession; import cc.smtweb.framework.core.util.CommUtil; @@ -23,7 +24,7 @@ public class PreviewMenuTreeService { // long prj_id = StringUtils.isNotEmpty(module) ? Long.parseLong(module) : 0L; List listForm = new ArrayList<>(ModelFormCache.getInstance().getAll()); listForm.sort((o1, o2) -> CommUtil.chineseCompare(o1.getTitle(), o2.getTitle())); - if (listForm.isEmpty()) throw new SwException("此项目无页面设计!"); + if (listForm.isEmpty()) throw new BizException("此项目无页面设计!"); List list = new ArrayList<>(listForm.size()); for (ModelForm form: listForm) { diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/AbstractDynPageHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/AbstractDynPageHandler.java index a3bcae7..d91e643 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/AbstractDynPageHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/AbstractDynPageHandler.java @@ -1,6 +1,7 @@ package cc.smtweb.system.bpm.web.engine.dynPage; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.mvc.service.AbstractHandler; import cc.smtweb.framework.core.session.UserSession; @@ -24,9 +25,9 @@ public abstract class AbstractDynPageHandler extends AbstractHandler { super.init(params, us); pageId = params.readLong("pageId"); ModelForm form = ModelFormHelper.getFromCache(pageId); - if (form == null) throw new SwException("没有找到页面定义数据!"); + if (form == null) throw new BizException("没有找到页面定义数据(" + pageId + ")!"); datasets = form.getDatasets(); - if (datasets == null || datasets.list == null) throw new SwException("没有找到页面定义数据!"); + if (datasets == null || datasets.list == null) throw new BizException("没有找到页面定义的数据集数据(" + pageId + ")!"); provider.pageId = pageId; provider.datasets = datasets; @@ -47,7 +48,7 @@ public abstract class AbstractDynPageHandler extends AbstractHandler { String dbName = params.readString("dataset"); //对应的数据集定义 PageDataset pageDataSet = findDataset(dbName); - if (pageDataSet == null) throw new SwException("没有找到指定的的数据集定义:" + dbName + "!"); + if (pageDataSet == null) throw new BizException("没有找到指定的的数据集定义:" + dbName + "!"); return pageDataSet; } } diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageDelHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageDelHandler.java index 80ac5bc..7c3199f 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageDelHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageDelHandler.java @@ -4,7 +4,8 @@ import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.EntityHelper; @@ -33,7 +34,7 @@ public class DynPageDelHandler extends AbstractDynPageHandler { */ public R delOne() { long id = params.readLong("id"); - if (id == 0) throw new SwException("没有收到待删除记录Id!"); + if (id == 0) throw new BizException("没有收到待删除记录Id(" + id + ")!"); //数据集 PageDataset pageDataSet = readParamDs(); @@ -43,7 +44,7 @@ public class DynPageDelHandler extends AbstractDynPageHandler { @Override public void work() { ModelTable table = ModelTableCache.getInstance().get(pageDataSet.masterTable); - if (table == null) throw new SwException("没有找到指定的的表定义:" + pageDataSet.name + "!"); + if (table == null) throw new BizException("没有找到指定的的表定义:" + pageDataSet.name + "!"); EntityDao dao = DbEngine.getInstance().findDao(table.getName()); dao.deleteEntity(id); } @@ -62,11 +63,11 @@ public class DynPageDelHandler extends AbstractDynPageHandler { public R delAll() { long id = params.readLong("id"); - if (id == 0) throw new SwException("没有收到待删除记录Id!"); + if (id == 0) throw new BizException("没有收到待删除记录Id(" + id + ")!"); //校验主表即可 PageDataset masterDs = findMasterDataset(); if (masterDs == null || !masterDs.canEdit || !SwEnum.DatasetType.FORM.value.equals(masterDs.type)) - throw new SwException("主表不允许删除!"); + throw new BizException("主表不允许删除!"); checkBean(masterDs, id); Map mapRemovableInfo = new HashMap<>(); @@ -79,7 +80,7 @@ public class DynPageDelHandler extends AbstractDynPageHandler { if (pageDataSet != masterDs) {//非主表,记录一下关联字段 PageDatasetFilter f = pageDataSet.findFilterByDs(masterDs.name); if (f == null) { - throw new SwException("无法删除表【" + pageDataSet.name + "】,此表未关联主表!"); + throw new BizException("无法删除表【" + pageDataSet.name + "】,此表未关联主表!"); } ret.field = f.field; } diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java index 86b1e1e..f6118bf 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java @@ -2,7 +2,8 @@ package cc.smtweb.system.bpm.web.engine.dynPage; import cc.smtweb.framework.core.common.SwConsts; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; @@ -36,12 +37,8 @@ public class DynPageHelper { //主表 ModelTable masterTable = ModelTableCache.getInstance().get(dataSet.masterTable); EntityDao dao = DbEngine.getInstance().findDao(masterTable.getName()); - try { - DefaultEntity bean = dao.createBean(); - return bean.getData(); - } catch (Exception e) { - throw new SwException(e); - } + DefaultEntity bean = dao.createBean(); + return bean.getData(); } /** @@ -178,7 +175,7 @@ public class DynPageHelper { } PageDatasetFilter filter = dataSet.findFilterById(dynCond.param); - if (filter == null) throw new SwException("没有找到filter(" + dynCond.param + ")!"); + if (filter == null) throw new BizException("没有找到filter(" + dynCond.param + ")!"); boolean isNameSelf = setFixedFilter.contains(filter.name); setFixedFilter.remove(filter.name); @@ -192,7 +189,7 @@ public class DynPageHelper { } if (value == null || StringUtils.isEmpty(value.toString())) { if (filter.required) { - throw new SwException("过滤条件不能为空(" + filter.name + ")!"); + throw new BizException("过滤条件不能为空(" + filter.name + ")!"); } return null; } @@ -222,7 +219,7 @@ public class DynPageHelper { mapBuilder.put(SwEnum.OptType.BT.value, (opt, field, name, value, args) -> { String[] ss = value.toString().split(","); - if (ss.length != 2) throw new SwException("介于条件,参数值个数错误!"); + if (ss.length != 2) throw new BizException("介于条件,参数值个数错误!"); args.put(name + "_1", ss[0]); args.put(name + "_2", ss[1]); return "(" + field + ">=:" + name + "_1 and " + field + "<=:" + name + "_2)"; diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageProvider.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageProvider.java index f046509..5babb69 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageProvider.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageProvider.java @@ -1,6 +1,7 @@ package cc.smtweb.system.bpm.web.engine.dynPage; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityHelper; @@ -24,7 +25,7 @@ public class DynPageProvider extends AbstractCompProvider { SqlNamedPara sqlPara = DynPageHelper.buildSelectSql(pageDataSet, filter); SwMap map = DbEngine.getInstance().queryEntityN(sqlPara.sql, sqlPara.mapParas, SwMap.class); if (map == null) { - throw new SwException("没有找到指定数据(ds=" + pageDataSet.name + ")"); + throw new BizException("没有找到指定数据(ds=" + pageDataSet.name + ")"); } ModelTable masterTable = ModelTableCache.getInstance().get(pageDataSet.masterTable); EntityHelper.loadBeanLink(masterTable.getName(), map, sqlPara.mapFieldAlias); diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java index a7b914f..9991b41 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java @@ -4,7 +4,8 @@ import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwEnum; -import cc.smtweb.framework.core.common.SwException; +import cc.smtweb.framework.core.exception.BizException; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; @@ -42,10 +43,10 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { SwMap filter = params.readMap("filter"); //待保存数据 SwMap data = params.readMap("data"); - if (data == null) throw new SwException("没有收到待保存的的数据:" + dbName + "!"); + if (data == null) throw new BizException("没有收到待保存的的数据:" + dbName + "!"); //对应的数据集定义 PageDataset pageDataSet = findDataset(dbName); - if (pageDataSet == null) throw new SwException("没有找到指定的的数据集定义:" + dbName + "!"); + if (pageDataSet == null) throw new BizException("没有找到指定的的数据集定义:" + dbName + "!"); //读取待保存的bean DefaultEntity bean = readBeanFromPage(pageDataSet, data); if (filter != null && bean.isNew()) {//有过滤条件,将关联的值设上 @@ -79,7 +80,7 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { */ public R saveAll() { SwMap data = params.readMap("data"); - if (data == null) throw new SwException("没有收到待保存的的数据!"); + if (data == null) throw new BizException("没有收到待保存的的数据!"); SwMap filter = params.readMap("filter"); Map map = new LinkedHashMap<>(); @@ -143,7 +144,7 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { */ protected DefaultEntity readBeanFromPage(PageDataset pageDataSet, SwMap data) { ModelTable table = ModelTableCache.getInstance().get(pageDataSet.masterTable); - if (table == null) throw new SwException("没有找到待保存的表定义:" + pageDataSet.name); + if (table == null) throw new BizException("没有找到待保存的表定义:" + pageDataSet.name); long id = data.readLong(table.getIdField()); EntityDao dao = DbEngine.getInstance().findDao(table.getName()); @@ -155,7 +156,7 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { } else { bean = dao.queryEntity(id); if (bean == null) { - throw new SwException("没有找到待保存的记录:" + table.getName() + "." + id); + throw new BizException("没有找到待保存的记录:" + table.getName() + "." + id); } } //暂时不考虑list保存的情况 @@ -174,14 +175,14 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { String value = bean.getStr(field.getName()); //非空校验 if (field.isNotNull() && StringUtils.isEmpty(value)) { - throw new SwException("字段不允许为空:" + field.getTitle()); + throw new BizException("字段不允许为空:" + field.getTitle()); } //长度校验 if (StringUtils.isNotEmpty(value)) { int len = SwEnum.DataType.instance.getByValue(field.getDataType()).dataLength; if (len > 0 && CommUtil.getStrLenB(value) > len) { - throw new SwException("字段值超长:" + field.getTitle()); + throw new BizException("字段值超长:" + field.getTitle()); } } }