zhouhao 7 år sedan
förälder
incheckning
90f21e16ec
28 ändrade filer med 137 tillägg och 643 borttagningar
  1. 42 11
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/EasyOrmSqlBuilder.java
  2. 2 5
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/basic/BasicMapper.xml
  3. 2 0
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/crud/TestCrud.java
  4. 1 1
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/crud/TestEntity.java
  5. 5 0
      hsweb-commons/hsweb-commons-entity/pom.xml
  6. 7 1
      hsweb-commons/hsweb-commons-entity/src/main/java/org/hswebframework/web/commons/entity/Entity.java
  7. 1 0
      hsweb-commons/pom.xml
  8. 1 1
      hsweb-core/src/main/java/org/hswebframework/web/dict/EnumDict.java
  9. 48 0
      hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DefaultDictApply.java
  10. 13 0
      hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DictApply.java
  11. 15 0
      hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DictWrapper.java
  12. 0 7
      hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/HswebAutoConfiguration.java
  13. 0 35
      hsweb-system/hsweb-system-module/hsweb-system-module-controller/src/main/java/org/hswebframework/web/controller/module/ModuleController.java
  14. 0 27
      hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-api/pom.xml
  15. 0 11
      hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-api/src/main/java/org/hswebframework/web/dao/module/ModuleDao.java
  16. 0 26
      hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-mybatis/pom.xml
  17. 0 50
      hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/module/ModuleMapper.xml
  18. 0 99
      hsweb-system/hsweb-system-module/hsweb-system-module-entity/src/main/java/org/hswebframework/web/entity/module/ModuleEntity.java
  19. 0 108
      hsweb-system/hsweb-system-module/hsweb-system-module-entity/src/main/java/org/hswebframework/web/entity/module/SimpleModuleEntity.java
  20. 0 26
      hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-api/pom.xml
  21. 0 13
      hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-api/src/main/java/org/hswebframework/web/service/module/ModuleService.java
  22. 0 26
      hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-simple/pom.xml
  23. 0 35
      hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-simple/src/main/java/org/hswebframework/web/service/module/simple/SimpleModuleService.java
  24. 0 78
      hsweb-system/hsweb-system-module/hsweb-system-module-starter/pom.xml
  25. 0 14
      hsweb-system/hsweb-system-module/hsweb-system-module-starter/src/main/java/org/hswebframework/web/template/starter/ModuleAutoConfiguration.java
  26. 0 46
      hsweb-system/hsweb-system-module/hsweb-system-module-starter/src/main/resources/hsweb-starter.js
  27. 0 22
      hsweb-system/hsweb-system-module/pom.xml
  28. 0 1
      hsweb-system/pom.xml

+ 42 - 11
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/EasyOrmSqlBuilder.java

@@ -39,6 +39,7 @@ import org.hswebframework.ezorm.rdb.render.dialect.OracleRDBDatabaseMetaData;
 import org.hswebframework.ezorm.rdb.render.support.simple.CommonSqlRender;
 import org.hswebframework.ezorm.rdb.render.support.simple.SimpleWhereSqlBuilder;
 import org.hswebframework.web.BusinessException;
+import org.hswebframework.web.commons.entity.Entity;
 import org.hswebframework.web.commons.entity.factory.EntityFactory;
 import org.hswebframework.web.dao.mybatis.builder.jpa.JpaAnnotationParser;
 import org.hswebframework.web.dao.mybatis.mapper.EnumDicTermTypeMapper;
@@ -50,6 +51,7 @@ import org.hswebframework.web.dao.mybatis.MybatisUtils;
 import org.hswebframework.utils.StringUtils;
 import org.hswebframework.web.datasource.DataSourceHolder;
 import org.hswebframework.web.datasource.DatabaseType;
+import org.hswebframework.web.proxy.Proxy;
 
 import java.sql.JDBCType;
 import java.util.*;
@@ -70,7 +72,7 @@ public class EasyOrmSqlBuilder {
 
     public EntityFactory entityFactory;
 
-    private static final EasyOrmSqlBuilder instance = new EasyOrmSqlBuilder();
+    private static final   EasyOrmSqlBuilder  instance   = new EasyOrmSqlBuilder();
     protected static final Map<Class, String> simpleName = new HashMap<>();
 
     protected PropertyUtilsBean propertyUtils = BeanUtilsBean.getInstance().getPropertyUtils();
@@ -106,24 +108,24 @@ public class EasyOrmSqlBuilder {
         Dialect.MYSQL.setTermTypeMapper(TermType.not, supportArray(new EnumDicTermTypeMapper(Dialect.MYSQL, true)));
         Dialect.MYSQL.setTermTypeMapper(TermType.nin, supportArray(new MysqlEnumDicInTermTypeMapper(true)));
 
-        Dialect.MYSQL.setTermTypeMapper("ain", supportArray(new MysqlEnumDicInTermTypeMapper(true,true)));
-        Dialect.MYSQL.setTermTypeMapper("anin", supportArray(new MysqlEnumDicInTermTypeMapper(false,true)));
+        Dialect.MYSQL.setTermTypeMapper("ain", supportArray(new MysqlEnumDicInTermTypeMapper(true, true)));
+        Dialect.MYSQL.setTermTypeMapper("anin", supportArray(new MysqlEnumDicInTermTypeMapper(false, true)));
 
 
         Dialect.H2.setTermTypeMapper(TermType.eq, supportArray(new EnumDicTermTypeMapper(Dialect.H2, false)));
         Dialect.H2.setTermTypeMapper(TermType.in, supportArray(new H2EnumDicInTermTypeMapper(false)));
         Dialect.H2.setTermTypeMapper(TermType.not, supportArray(new EnumDicTermTypeMapper(Dialect.H2, true)));
         Dialect.H2.setTermTypeMapper(TermType.nin, supportArray(new H2EnumDicInTermTypeMapper(true)));
-        Dialect.H2.setTermTypeMapper("ain", supportArray(new H2EnumDicInTermTypeMapper(true,true)));
-        Dialect.H2.setTermTypeMapper("anin", supportArray(new H2EnumDicInTermTypeMapper(false,true)));
+        Dialect.H2.setTermTypeMapper("ain", supportArray(new H2EnumDicInTermTypeMapper(true, true)));
+        Dialect.H2.setTermTypeMapper("anin", supportArray(new H2EnumDicInTermTypeMapper(false, true)));
 
 
         Dialect.ORACLE.setTermTypeMapper(TermType.eq, supportArray(new EnumDicTermTypeMapper(Dialect.ORACLE, false)));
         Dialect.ORACLE.setTermTypeMapper(TermType.in, supportArray(new OracleEnumDicInTermTypeMapper(false)));
         Dialect.ORACLE.setTermTypeMapper(TermType.not, supportArray(new EnumDicTermTypeMapper(Dialect.ORACLE, true)));
         Dialect.ORACLE.setTermTypeMapper(TermType.nin, supportArray(new OracleEnumDicInTermTypeMapper(true)));
-        Dialect.ORACLE.setTermTypeMapper("ain", supportArray(new OracleEnumDicInTermTypeMapper(true,true)));
-        Dialect.ORACLE.setTermTypeMapper("anin", supportArray(new OracleEnumDicInTermTypeMapper(false,true)));
+        Dialect.ORACLE.setTermTypeMapper("ain", supportArray(new OracleEnumDicInTermTypeMapper(true, true)));
+        Dialect.ORACLE.setTermTypeMapper("anin", supportArray(new OracleEnumDicInTermTypeMapper(false, true)));
 
     }
 
@@ -135,9 +137,9 @@ public class EasyOrmSqlBuilder {
         return javaType;
     }
 
-    private final RDBDatabaseMetaData mysql = new MysqlMeta();
+    private final RDBDatabaseMetaData mysql  = new MysqlMeta();
     private final RDBDatabaseMetaData oracle = new OracleMeta();
-    private final RDBDatabaseMetaData h2 = new H2Meta();
+    private final RDBDatabaseMetaData h2     = new H2Meta();
 
     private final ConcurrentMap<RDBDatabaseMetaData, Map<String, RDBTableMetaData>> metaCache = new ConcurrentHashMap<RDBDatabaseMetaData, Map<String, RDBTableMetaData>>() {
         @Override
@@ -308,7 +310,11 @@ public class EasyOrmSqlBuilder {
         return render.render(tableMetaData, param).getSql();
     }
 
-    public String buildSelectFields(String resultMapId, String tableName, QueryParam param) {
+    public String buildSelectFields(String resultMapId, String tableName, Object arg) {
+        QueryParam param = null;
+        if (arg instanceof QueryParam) {
+            param = ((QueryParam) arg);
+        }
         if (param == null) {
             return "*";
         }
@@ -348,10 +354,15 @@ public class EasyOrmSqlBuilder {
         return appender.toString();
     }
 
-    public String buildOrder(String resultMapId, String tableName, QueryParam param) {
+    public String buildOrder(String resultMapId, String tableName, Object arg) {
+        QueryParam param = null;
+        if (arg instanceof QueryParam) {
+            param = ((QueryParam) arg);
+        }
         if (param == null) {
             return "";
         }
+
         RDBTableMetaData tableMetaData = createMeta(tableName, resultMapId);
         SqlAppender appender = new SqlAppender(" order by ");
         param.getSorts()
@@ -384,6 +395,26 @@ public class EasyOrmSqlBuilder {
         return where;
     }
 
+    public String buildWhereForUpdate(String resultMapId, String tableName, Object param) {
+        String where = buildWhere(resultMapId, tableName, param);
+        if (where.trim().isEmpty()) {
+            throw new BusinessException("禁止执行无条件的更新操作");
+        }
+        return where;
+    }
+
+    public String buildWhere(String resultMapId, String tableName, Object param) {
+        List<Term> terms;
+        if (param instanceof Param) {
+            terms = ((Param) param).getTerms();
+        } else if (param instanceof Entity) {
+            terms = SqlParamParser.parseQueryParam(param).getTerms();
+        } else {
+            terms = new ArrayList<>();
+        }
+        return buildWhere(resultMapId, tableName, terms);
+    }
+
     public String buildWhere(String resultMapId, String tableName, List<Term> terms) {
         RDBTableMetaData tableMetaData = createMeta(tableName, resultMapId);
         RDBDatabaseMetaData databaseMetaDate = getActiveDatabase();

+ 2 - 5
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/basic/BasicMapper.xml

@@ -23,10 +23,10 @@
 <mapper namespace="BasicMapper">
     <!--通用查询条件-->
     <sql id="buildWhere">
-        ${@org.hswebframework.web.dao.mybatis.builder.SqlBuilder@current().buildWhere(resultMapId,tableName,#this['_parameter'].terms)}
+        ${@org.hswebframework.web.dao.mybatis.builder.SqlBuilder@current().buildWhere(resultMapId,tableName,#this['_parameter'])}
     </sql>
     <sql id="buildWhereForUpdate">
-        ${@org.hswebframework.web.dao.mybatis.builder.SqlBuilder@current().buildWhereForUpdate(resultMapId,tableName,#this['_parameter'].terms)}
+        ${@org.hswebframework.web.dao.mybatis.builder.SqlBuilder@current().buildWhereForUpdate(resultMapId,tableName,#this['_parameter'])}
     </sql>
     <!--生成查询字段-->
     <sql id="buildSelectField">
@@ -80,9 +80,6 @@
             <include refid="BasicMapper.buildUpdateField"/>
             <where>
                 <include refid="BasicMapper.buildWhereForUpdate"/>
-                <if test="terms.size()==0">
-                    u_id=#{data.id}
-                </if>
             </where>
         </trim>
     </sql>

+ 2 - 0
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/crud/TestCrud.java

@@ -55,6 +55,8 @@ public class TestCrud extends AbstractTransactionalJUnit4SpringContextTests {
 
         List<TestEntity> entities = testDao.query(query);
 
+//        testDao.query(entity);
+
         System.out.println(entities);
     }
 

+ 1 - 1
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/crud/TestEntity.java

@@ -12,7 +12,7 @@ import java.util.Date;
 @Getter
 @Setter
 @ToString
-public class TestEntity {
+public class TestEntity implements org.hswebframework.web.commons.entity.Entity {
 
     @Id
     @GeneratedValue(

+ 5 - 0
hsweb-commons/hsweb-commons-entity/pom.xml

@@ -61,5 +61,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-commons-bean</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>

+ 7 - 1
hsweb-commons/hsweb-commons-entity/src/main/java/org/hswebframework/web/commons/entity/Entity.java

@@ -18,6 +18,9 @@
 
 package org.hswebframework.web.commons.entity;
 
+import org.hswebframework.web.commons.bean.Bean;
+import org.hswebframework.web.commons.bean.ValidateBean;
+
 import java.io.Serializable;
 
 /**
@@ -28,7 +31,10 @@ import java.io.Serializable;
  * @see GenericEntity
  * @see TreeSupportEntity
  * @see TreeSortSupportEntity
+ * @see Bean
  * @since 3.0
  */
-public interface Entity extends Serializable {
+public interface Entity extends ValidateBean, Serializable {
+
+
 }

+ 1 - 0
hsweb-commons/pom.xml

@@ -36,6 +36,7 @@
         <module>hsweb-commons-controller</module>
         <module>hsweb-commons-utils</module>
         <module>hsweb-commons-model</module>
+        <module>hsweb-commons-bean</module>
     </modules>
 
 </project>

+ 1 - 1
hsweb-core/src/main/java/org/hswebframework/web/dict/EnumDict.java

@@ -8,7 +8,7 @@ import java.util.function.Predicate;
 /**
  * 枚举字典,使用枚举来实现数据字典,可通过集成此接口来实现一些有趣的功能.
  * ⚠️:如果使用了位运算来判断枚举,枚举数量不要超过64个,且顺序不要随意变动!
- *
+ * 如果枚举数量大于64,你应该使用{@link org.hswebframework.web.dict.apply.DictApply}来处理
  * @author zhouhao
  * @see 3.0
  */

+ 48 - 0
hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DefaultDictApply.java

@@ -0,0 +1,48 @@
+package org.hswebframework.web.dict.apply;
+
+import org.hswebframework.web.dict.DictDefineRepository;
+import org.hswebframework.web.dict.EnumDict;
+import org.springframework.util.ClassUtils;
+import org.springframework.util.ReflectionUtils;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @author zhouhao
+ * @since 3.0
+ */
+public class DefaultDictApply implements DictApply {
+
+    private DictDefineRepository repository;
+
+    protected Map<Class, DictWrapper> cache = new ConcurrentHashMap<>();
+
+    @Override
+    public <T> T apply(T bean) {
+        cache.computeIfAbsent(ClassUtils.getUserClass(bean.getClass()), this::createCache)
+                .wrap(bean, repository);
+        return bean;
+    }
+
+    protected DictWrapper createCache(Class bean) {
+        StringBuilder method = new StringBuilder()
+                .append("public void wrap(Object bean, org.hswebframework.web.dict.DictDefineRepository repository)")
+                .append("{\n")
+                .append(bean.getName()).append(" target=(").append(bean.getName()).append(")bean;\n");
+
+        ReflectionUtils.doWithFields(bean, field -> {
+            Class type = field.getType();
+            if (type.isArray()) {
+                type = type.getComponentType();
+            }
+            //枚举字典并且枚举数量大于64
+            if (type.isEnum() && EnumDict.class.isAssignableFrom(type) && type.getEnumConstants().length >= 64) {
+
+            }
+        });
+        method.append("\n}");
+        return DictWrapper.empty;
+    }
+
+}

+ 13 - 0
hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DictApply.java

@@ -0,0 +1,13 @@
+package org.hswebframework.web.dict.apply;
+
+/**
+ * 数据字典应用类
+ *
+ * @author zhouhao
+ * @since 3.0
+ */
+public interface DictApply {
+
+    <T> T apply(T bean);
+
+}

+ 15 - 0
hsweb-core/src/main/java/org/hswebframework/web/dict/apply/DictWrapper.java

@@ -0,0 +1,15 @@
+package org.hswebframework.web.dict.apply;
+
+import org.hswebframework.web.dict.DictDefineRepository;
+
+/**
+ * @author zhouhao
+ * @since 3.0
+ */
+public interface DictWrapper {
+    DictWrapper empty = (bean, repository) -> {};
+
+    void wrap(Object bean, DictDefineRepository repository);
+
+
+}

+ 0 - 7
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/HswebAutoConfiguration.java

@@ -172,13 +172,6 @@ public class HswebAutoConfiguration {
         };
     }
 
-    @Bean(name = "validator")
-    @ConditionalOnMissingBean(Validator.class)
-    public Validator validator() {
-        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
-        return factory.getValidator();
-    }
-
     @Bean(name = "entityFactory")
     @ConditionalOnMissingBean(EntityFactory.class)
     public MapperEntityFactory mapperEntityFactory() {

+ 0 - 35
hsweb-system/hsweb-system-module/hsweb-system-module-controller/src/main/java/org/hswebframework/web/controller/module/ModuleController.java

@@ -1,35 +0,0 @@
-package org.hswebframework.web.controller.module;
-
-import io.swagger.annotations.Api;
-import org.hswebframework.web.authorization.annotation.Authorize;
-import org.hswebframework.web.commons.entity.param.QueryParamEntity;
-import org.hswebframework.web.controller.SimpleGenericEntityController;
-import org.hswebframework.web.entity.module.ModuleEntity;
-import org.hswebframework.web.service.module.ModuleService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 系统自定义模块
- *
- * @author hsweb-generator-online
- */
-@RestController
-@RequestMapping("${hsweb.web.mappings.module:module}")
-@Authorize(permission = "module", description = "自定义模块")
-@Api(tags = "自定义模块", value = "自定义模块")
-public class ModuleController implements SimpleGenericEntityController<ModuleEntity, String, QueryParamEntity> {
-
-    private ModuleService moduleService;
-
-    @Autowired
-    public void setModuleService(ModuleService moduleService) {
-        this.moduleService = moduleService;
-    }
-
-    @Override
-    public ModuleService getService() {
-        return moduleService;
-    }
-}

+ 0 - 27
hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-api/pom.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-module-dao</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module-dao-api</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-entity</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-dao-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 11
hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-api/src/main/java/org/hswebframework/web/dao/module/ModuleDao.java

@@ -1,11 +0,0 @@
-package org.hswebframework.web.dao.module;
-
-import org.hswebframework.web.dao.CrudDao;
-import org.hswebframework.web.entity.module.ModuleEntity;
-
-/**
-*  系统自定义模块 DAO接口
-*  @author hsweb-generator-online
- */
-public interface ModuleDao extends CrudDao<ModuleEntity,String> {
-}

+ 0 - 26
hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-mybatis/pom.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-module-dao</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module-dao-mybatis</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-dao-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-dao-mybatis</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 50
hsweb-system/hsweb-system-module/hsweb-system-module-dao/hsweb-system-module-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/module/ModuleMapper.xml

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.hswebframework.web.dao.module.ModuleDao">
-    <resultMap id="ModuleResultMap" type="org.hswebframework.web.entity.module.SimpleModuleEntity">
-              <id property="id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-            <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
-            <result property="permissionId" column="permission_id" javaType="String" jdbcType="VARCHAR"/>
-            <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
-            <result property="listMeta" column="list_meta" javaType="String" jdbcType="CLOB"/>
-            <result property="saveMeta" column="save_meta" javaType="String" jdbcType="CLOB"/>
-            <result property="status" column="status" javaType="Long" jdbcType="DECIMAL"/>
-    </resultMap>
-
-    <!--用于动态生成sql所需的配置-->
-    <sql id="config">
-        <bind name="resultMapId" value="'ModuleResultMap'"/>
-        <bind name="tableName" value="'S_MODULE_META'"/>
-    </sql>
-  
-    <insert id="insert" parameterType="org.hswebframework.web.entity.module.SimpleModuleEntity" >
-        <include refid="config"/>
-        <include refid="BasicMapper.buildInsertSql"/>
-    </insert>
-
-    <delete id="deleteByPk" parameterType="String">
-        delete from S_MODULE_META where u_id =#{id}
-    </delete>
-
-    <delete id="delete" parameterType="org.hswebframework.web.commons.entity.Entity">
-        <include refid="config"/>
-        <include refid="BasicMapper.buildDeleteSql"/>
-    </delete>
-
-    <update id="update" parameterType="org.hswebframework.web.commons.entity.Entity">
-        <include refid="config"/>
-        <include refid="BasicMapper.buildUpdateSql"/>
-    </update>
-
-    <select id="query" parameterType="org.hswebframework.web.commons.entity.Entity" resultMap="ModuleResultMap">
-        <include refid="config"/>
-        <include refid="BasicMapper.buildSelectSql"/>
-    </select>
-
-    <select id="count" parameterType="org.hswebframework.web.commons.entity.Entity" resultType="int">
-        <include refid="config"/>
-        <include refid="BasicMapper.buildTotalSql"/>
-    </select>
-</mapper>

+ 0 - 99
hsweb-system/hsweb-system-module/hsweb-system-module-entity/src/main/java/org/hswebframework/web/entity/module/ModuleEntity.java

@@ -1,99 +0,0 @@
-package org.hswebframework.web.entity.module;
-
-import org.hswebframework.web.commons.entity.GenericEntity;
-
-/**
- * 系统自定义模块 实体
- *
- * @author hsweb-generator-online
- */
-public interface ModuleEntity extends GenericEntity<String> {
- /*-------------------------------------------
-    |               属性名常量               |
-    ===========================================*/
-    /**
-     * 名称
-     */
-    String name         = "name";
-    /**
-     * 权限id
-     */
-    String permissionId = "permissionId";
-    /**
-     * 备注
-     */
-    String remark       = "remark";
-    /**
-     * 列表配置
-     */
-    String listMeta     = "listMeta";
-    /**
-     * 保存页配置
-     */
-    String saveMeta     = "saveMeta";
-    /**
-     * 状态
-     */
-    String status       = "status";
-
-    /**
-     * @return 名称
-     */
-    String getName();
-
-    /**
-     * @param name 名称
-     */
-    void setName(String name);
-
-    /**
-     * @return 权限id
-     */
-    String getPermissionId();
-
-    /**
-     * @param permissionId 权限id
-     */
-    void setPermissionId(String permissionId);
-
-    /**
-     * @return 备注
-     */
-    String getRemark();
-
-    /**
-     * @param remark 备注
-     */
-    void setRemark(String remark);
-
-    /**
-     * @return 列表配置
-     */
-    String getListMeta();
-
-    /**
-     * @param listMeta 列表配置
-     */
-    void setListMeta(String listMeta);
-
-    /**
-     * @return 保存页配置
-     */
-    String getSaveMeta();
-
-    /**
-     * @param saveMeta 保存页配置
-     */
-    void setSaveMeta(String saveMeta);
-
-    /**
-     * @return 状态
-     */
-    Long getStatus();
-
-    /**
-     * @param status 状态
-     */
-    void setStatus(Long status);
-
-}

+ 0 - 108
hsweb-system/hsweb-system-module/hsweb-system-module-entity/src/main/java/org/hswebframework/web/entity/module/SimpleModuleEntity.java

@@ -1,108 +0,0 @@
-package org.hswebframework.web.entity.module;
-
-import org.hswebframework.web.commons.entity.SimpleGenericEntity;
-
-/**
- * 系统自定义模块
- *
- * @author hsweb-generator-online
- */
-public class SimpleModuleEntity extends SimpleGenericEntity<String> implements ModuleEntity {
-    private static final long serialVersionUID = -25986777322199816L;
-    //名称
-    private String name;
-    //权限id
-    private String permissionId;
-    //备注
-    private String remark;
-    //列表配置
-    private String listMeta;
-    //保存页配置
-    private String saveMeta;
-    //状态
-    private Long   status;
-
-    /**
-     * @return 名称
-     */
-    public String getName() {
-        return this.name;
-    }
-
-    /**
-     * @param name 名称
-     */
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    /**
-     * @return 权限id
-     */
-    public String getPermissionId() {
-        return this.permissionId;
-    }
-
-    /**
-     * @param permissionId 权限id
-     */
-    public void setPermissionId(String permissionId) {
-        this.permissionId = permissionId;
-    }
-
-    /**
-     * @return 备注
-     */
-    public String getRemark() {
-        return this.remark;
-    }
-
-    /**
-     * @param remark 备注
-     */
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    /**
-     * @return 列表配置
-     */
-    public String getListMeta() {
-        return this.listMeta;
-    }
-
-    /**
-     * @param listMeta 列表配置
-     */
-    public void setListMeta(String listMeta) {
-        this.listMeta = listMeta;
-    }
-
-    /**
-     * @return 保存页配置
-     */
-    public String getSaveMeta() {
-        return this.saveMeta;
-    }
-
-    /**
-     * @param saveMeta 保存页配置
-     */
-    public void setSaveMeta(String saveMeta) {
-        this.saveMeta = saveMeta;
-    }
-
-    /**
-     * @return 状态
-     */
-    public Long getStatus() {
-        return this.status;
-    }
-
-    /**
-     * @param status 状态
-     */
-    public void setStatus(Long status) {
-        this.status = status;
-    }
-}

+ 0 - 26
hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-api/pom.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-module-service</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module-service-api</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-service-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-dao-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 13
hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-api/src/main/java/org/hswebframework/web/service/module/ModuleService.java

@@ -1,13 +0,0 @@
-package org.hswebframework.web.service.module;
-
-import org.hswebframework.web.entity.module.ModuleEntity;
-import org.hswebframework.web.service.CrudService;
-
-/**
- *  系统自定义模块 服务类
- *
- * @author hsweb-generator-online
- */
-public interface ModuleService extends CrudService<ModuleEntity, String> {
-
-}

+ 0 - 26
hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-simple/pom.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-module-service</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module-service-simple</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-service-simple</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-service-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 35
hsweb-system/hsweb-system-module/hsweb-system-module-service/hsweb-system-module-service-simple/src/main/java/org/hswebframework/web/service/module/simple/SimpleModuleService.java

@@ -1,35 +0,0 @@
-package org.hswebframework.web.service.module.simple;
-
-import org.hswebframework.web.dao.module.ModuleDao;
-import org.hswebframework.web.entity.module.ModuleEntity;
-import org.hswebframework.web.service.EnableCacheGenericEntityService;
-import org.hswebframework.web.service.GenericEntityService;
-import org.hswebframework.web.id.IDGenerator;
-import org.hswebframework.web.service.module.ModuleService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.stereotype.Service;
-
-/**
- * 默认的服务实现
- *
- * @author hsweb-generator-online
- */
-@Service("moduleService")
-@CacheConfig(cacheNames = "system-module")
-public class SimpleModuleService extends EnableCacheGenericEntityService<ModuleEntity, String>
-        implements ModuleService {
-    @Autowired
-    private ModuleDao moduleDao;
-
-    @Override
-    protected IDGenerator<String> getIDGenerator() {
-        return IDGenerator.MD5;
-    }
-
-    @Override
-    public ModuleDao getDao() {
-        return moduleDao;
-    }
-
-}

+ 0 - 78
hsweb-system/hsweb-system-module/hsweb-system-module-starter/pom.xml

@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-module</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module-starter</artifactId>
-
-
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-service-simple</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-      
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-dao-mybatis</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-      
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-module-controller</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-      
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.0.26</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-spring-boot-starter</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-tests</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>2.5</version>
-            <scope>test</scope>
-        </dependency>
-      
-    </dependencies>
-</project>

+ 0 - 14
hsweb-system/hsweb-system-module/hsweb-system-module-starter/src/main/java/org/hswebframework/web/template/starter/ModuleAutoConfiguration.java

@@ -1,14 +0,0 @@
-package org.hswebframework.web.template.starter;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author zhouhao
- * @since 3.0
- */
-@Configuration
-@ComponentScan({"org.hswebframework.web.service.module.simple"
-        , "org.hswebframework.web.controller.module"})
-public class ModuleAutoConfiguration {
-}

+ 0 - 46
hsweb-system/hsweb-system-module/hsweb-system-module-starter/src/main/resources/hsweb-starter.js

@@ -1,46 +0,0 @@
-
-//组件信息
-var info = {
-    groupId: "${project.groupId}",
-    artifactId: "${project.artifactId}",
-    version: "${project.version}",
-    website: "https://github.com/hs-web/hsweb-framework",
-    author: "admin@hsweb.me",
-    comment: "系统自定义模块"
-};
-
-//版本更新信息
-var versions = [
-    // {
-    //     version: "3.0.2",
-    //     upgrade: function (context) {
-    //         java.lang.System.out.println("更新到3.0.2了");
-    //     }
-    // }
-];
-var JDBCType = java.sql.JDBCType;
-function install(context) {
-    var database = context.database;
-    database.createOrAlter("s_module_meta")
-        .addColumn().name("u_id").alias("id").comment("ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).primaryKey().commit()
-        .addColumn().name("name").alias("name").comment("名称").jdbcType(java.sql.JDBCType.VARCHAR).length(256).commit()
-        .addColumn().name("permission_id").alias("permissionId").comment("权限id").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
-        .addColumn().name("remark").alias("remark").comment("备注").jdbcType(java.sql.JDBCType.VARCHAR).length(1024).commit()
-        .addColumn().name("list_meta").alias("listMeta").comment("列表配置").jdbcType(java.sql.JDBCType.CLOB).commit()
-        .addColumn().name("save_meta").alias("saveMeta").comment("保存页配置").jdbcType(java.sql.JDBCType.CLOB).commit()
-        .addColumn().name("status").alias("status").comment("状态").jdbcType(java.sql.JDBCType.DECIMAL).length(4,0).commit()
-        .comment("系统自定义模块").commit();
-}
-//设置依赖
-dependency.setup(info)
-    .onInstall(install)
-    .onUpgrade(function (context) { //更新时执行
-        var upgrader = context.upgrader;
-        upgrader.filter(versions)
-            .upgrade(function (newVer) {
-                newVer.upgrade(context);
-            });
-    })
-    .onUninstall(function (context) { //卸载时执行
-
-    });

+ 0 - 22
hsweb-system/hsweb-system-module/pom.xml

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-module</artifactId>
-    <packaging>pom</packaging>
-    <modules>
-        <module>hsweb-system-module-controller</module>
-        <module>hsweb-system-module-dao</module>
-        <module>hsweb-system-module-entity</module>
-        <module>hsweb-system-module-service</module>
-        <module>hsweb-system-module-starter</module>
-    </modules>
-
-</project>

+ 0 - 1
hsweb-system/pom.xml

@@ -29,7 +29,6 @@
         <module>hsweb-system-dictionary</module>
         <module>hsweb-system-oauth2-server</module>
         <module>hsweb-system-oauth2-client</module>
-        <module>hsweb-system-module</module>
     </modules>
     <artifactId>hsweb-system</artifactId>