Browse Source

增加定时调度增删改查

zhouhao 7 years ago
parent
commit
18bdc3c9cc
18 changed files with 749 additions and 2 deletions
  1. 32 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-controller/pom.xml
  2. 35 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-controller/src/main/java/org/hswebframework/web/controller/schedule/ScheduleJobController.java
  3. 27 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/hsweb-system-schedule-dao-api/pom.xml
  4. 11 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/hsweb-system-schedule-dao-api/src/main/java/org/hswebframework/web/dao/schedule/ScheduleJobDao.java
  5. 26 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/hsweb-system-schedule-dao-mybatis/pom.xml
  6. 53 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/hsweb-system-schedule-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/schedule/ScheduleJobMapper.xml
  7. 18 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/pom.xml
  8. 22 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/pom.xml
  9. 131 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/src/main/java/org/hswebframework/web/entity/schedule/ScheduleJobEntity.java
  10. 145 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/src/main/java/org/hswebframework/web/entity/schedule/SimpleScheduleJobEntity.java
  11. 26 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/hsweb-system-schedule-service-api/pom.xml
  12. 13 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/hsweb-system-schedule-service-api/src/main/java/org/hswebframework/web/service/schedule/ScheduleJobService.java
  13. 26 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/hsweb-system-schedule-service-simple/pom.xml
  14. 30 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/hsweb-system-schedule-service-simple/src/main/java/org/hswebframework/web/service/schedule/simple/SimpleScheduleJobService.java
  15. 18 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/pom.xml
  16. 78 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-starter/pom.xml
  17. 50 0
      hsweb-system/hsweb-system-schedule/hsweb-system-schedule-starter/src/main/resources/hsweb-starter.js
  18. 8 2
      hsweb-system/hsweb-system-schedule/pom.xml

+ 32 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-controller/pom.xml

@@ -0,0 +1,32 @@
+<?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-schedule</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-controller</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>2.5</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-system-schedule-service-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-commons-controller</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>

+ 35 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-controller/src/main/java/org/hswebframework/web/controller/schedule/ScheduleJobController.java

@@ -0,0 +1,35 @@
+package org.hswebframework.web.controller.schedule;
+
+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.schedule.ScheduleJobEntity;
+import org.hswebframework.web.logging.AccessLogger;
+import  org.hswebframework.web.service.schedule.ScheduleJobService;
+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.scheduleJob:scheduleJob}")
+@Authorize(permission = "scheduleJob")
+@AccessLogger("调度任务")
+public class ScheduleJobController implements SimpleGenericEntityController<ScheduleJobEntity, String, QueryParamEntity> {
+
+    private ScheduleJobService scheduleJobService;
+  
+    @Autowired
+    public void setScheduleJobService(ScheduleJobService scheduleJobService) {
+        this.scheduleJobService = scheduleJobService;
+    }
+  
+    @Override
+    public ScheduleJobService getService() {
+        return scheduleJobService;
+    }
+}

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

@@ -0,0 +1,27 @@
+<?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-schedule-dao</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-dao-api</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-system-schedule-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>

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

@@ -0,0 +1,11 @@
+package org.hswebframework.web.dao.schedule;
+
+import org.hswebframework.web.dao.CrudDao;
+import org.hswebframework.web.entity.schedule.ScheduleJobEntity;
+
+/**
+*  调度任务 DAO接口
+*  @author hsweb-generator-online
+ */
+public interface ScheduleJobDao extends CrudDao<ScheduleJobEntity,String> {
+}

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

@@ -0,0 +1,26 @@
+<?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-schedule-dao</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-dao-mybatis</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-system-schedule-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>

+ 53 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/hsweb-system-schedule-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/schedule/ScheduleJobMapper.xml

@@ -0,0 +1,53 @@
+<?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.schedule.ScheduleJobDao">
+    <resultMap id="ScheduleJobResultMap" type="org.hswebframework.web.entity.schedule.SimpleScheduleJobEntity">
+              <id property="id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+            <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
+            <result property="quartz_config" column="quartz_config" javaType="String" jdbcType="clob"/>
+            <result property="script" column="script" javaType="String" jdbcType="CLOB"/>
+            <result property="language" column="language" javaType="String" jdbcType="VARCHAR"/>
+            <result property="enabled" column="enabled" javaType="Long" jdbcType="DECIMAL"/>
+            <result property="parameters" column="parameters" javaType="String" jdbcType="CLOB"/>
+            <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
+            <result property="tags" column="tags" javaType="String" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <!--用于动态生成sql所需的配置-->
+    <sql id="config">
+        <bind name="resultMapId" value="'ScheduleJobResultMap'"/>
+        <bind name="tableName" value="'s_schedule_job'"/>
+    </sql>
+  
+    <insert id="insert" parameterType="org.hswebframework.web.entity.schedule.SimpleScheduleJobEntity" >
+        <include refid="config"/>
+        <include refid="BasicMapper.buildInsertSql"/>
+    </insert>
+
+    <delete id="deleteByPk" parameterType="String">
+        delete from s_schedule_job 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="ScheduleJobResultMap">
+        <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>

+ 18 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-dao/pom.xml

@@ -0,0 +1,18 @@
+<?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-schedule</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-dao</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>hsweb-system-schedule-dao-api</module>
+        <module>hsweb-system-schedule-dao-mybatis</module>
+    </modules>
+</project>

+ 22 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/pom.xml

@@ -0,0 +1,22 @@
+<?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-schedule</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-entity</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-commons-entity</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+</project>

+ 131 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/src/main/java/org/hswebframework/web/entity/schedule/ScheduleJobEntity.java

@@ -0,0 +1,131 @@
+package org.hswebframework.web.entity.schedule;
+import org.hswebframework.web.commons.entity.GenericEntity;
+
+/**
+* 调度任务 实体
+* @author hsweb-generator-online
+*/
+public interface ScheduleJobEntity extends GenericEntity<String>{
+ /*-------------------------------------------
+    |               属性名常量               |
+    ===========================================*/
+     /**
+     * 任务名称
+     */
+     String name="name";
+     /**
+     * 备注
+     */
+     String remark="remark";
+     /**
+     * 定时调度配置
+     */
+     String quartz_config="quartz_config";
+     /**
+     * 执行脚本
+     */
+     String script="script";
+     /**
+     * 脚本语言
+     */
+     String language="language";
+     /**
+     * 是否启用
+     */
+     String enabled="enabled";
+     /**
+     * 启动参数
+     */
+     String parameters="parameters";
+     /**
+     * 任务类型
+     */
+     String type="type";
+     /**
+     * 标签
+     */
+     String tags="tags";
+    
+        /**
+        * @return 任务名称
+        */
+        String getName();
+
+        /**
+        * @param  name  任务名称
+        */
+        void setName(String name);
+        /**
+        * @return 备注
+        */
+        String getRemark();
+
+        /**
+        * @param  remark  备注
+        */
+        void setRemark(String remark);
+        /**
+        * @return 定时调度配置
+        */
+        String getQuartz_config();
+
+        /**
+        * @param  quartz_config  定时调度配置
+        */
+        void setQuartz_config(String quartz_config);
+        /**
+        * @return 执行脚本
+        */
+        String getScript();
+
+        /**
+        * @param  script  执行脚本
+        */
+        void setScript(String script);
+        /**
+        * @return 脚本语言
+        */
+        String getLanguage();
+
+        /**
+        * @param  language  脚本语言
+        */
+        void setLanguage(String language);
+        /**
+        * @return 是否启用
+        */
+        Long getEnabled();
+
+        /**
+        * @param  enabled  是否启用
+        */
+        void setEnabled(Long enabled);
+        /**
+        * @return 启动参数
+        */
+        String getParameters();
+
+        /**
+        * @param  parameters  启动参数
+        */
+        void setParameters(String parameters);
+        /**
+        * @return 任务类型
+        */
+        String getType();
+
+        /**
+        * @param  type  任务类型
+        */
+        void setType(String type);
+        /**
+        * @return 标签
+        */
+        String getTags();
+
+        /**
+        * @param  tags  标签
+        */
+        void setTags(String tags);
+      
+}

+ 145 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-entity/src/main/java/org/hswebframework/web/entity/schedule/SimpleScheduleJobEntity.java

@@ -0,0 +1,145 @@
+package org.hswebframework.web.entity.schedule;
+import org.hswebframework.web.commons.entity.SimpleGenericEntity;
+
+/**
+* 调度任务
+* @author hsweb-generator-online
+*/
+public class SimpleScheduleJobEntity extends SimpleGenericEntity<String> implements ScheduleJobEntity{
+  		//任务名称
+        private String name;
+  		//备注
+        private String remark;
+  		//定时调度配置
+        private String quartz_config;
+  		//执行脚本
+        private String script;
+  		//脚本语言
+        private String language;
+  		//是否启用
+        private Long enabled;
+  		//启动参数
+        private String parameters;
+  		//任务类型
+        private String type;
+  		//标签
+        private String tags;
+
+        /**
+        * @return  任务名称
+        */
+        public String getName(){
+			return this.name;
+        }
+
+        /**
+        * @param  name  任务名称
+        */
+        public void setName(String name){
+        	this.name=name;
+        }
+        /**
+        * @return  备注
+        */
+        public String getRemark(){
+			return this.remark;
+        }
+
+        /**
+        * @param  remark  备注
+        */
+        public void setRemark(String remark){
+        	this.remark=remark;
+        }
+        /**
+        * @return  定时调度配置
+        */
+        public String getQuartz_config(){
+			return this.quartz_config;
+        }
+
+        /**
+        * @param  quartz_config  定时调度配置
+        */
+        public void setQuartz_config(String quartz_config){
+        	this.quartz_config=quartz_config;
+        }
+        /**
+        * @return  执行脚本
+        */
+        public String getScript(){
+			return this.script;
+        }
+
+        /**
+        * @param  script  执行脚本
+        */
+        public void setScript(String script){
+        	this.script=script;
+        }
+        /**
+        * @return  脚本语言
+        */
+        public String getLanguage(){
+			return this.language;
+        }
+
+        /**
+        * @param  language  脚本语言
+        */
+        public void setLanguage(String language){
+        	this.language=language;
+        }
+        /**
+        * @return  是否启用
+        */
+        public Long getEnabled(){
+			return this.enabled;
+        }
+
+        /**
+        * @param  enabled  是否启用
+        */
+        public void setEnabled(Long enabled){
+        	this.enabled=enabled;
+        }
+        /**
+        * @return  启动参数
+        */
+        public String getParameters(){
+			return this.parameters;
+        }
+
+        /**
+        * @param  parameters  启动参数
+        */
+        public void setParameters(String parameters){
+        	this.parameters=parameters;
+        }
+        /**
+        * @return  任务类型
+        */
+        public String getType(){
+			return this.type;
+        }
+
+        /**
+        * @param  type  任务类型
+        */
+        public void setType(String type){
+        	this.type=type;
+        }
+        /**
+        * @return  标签
+        */
+        public String getTags(){
+			return this.tags;
+        }
+
+        /**
+        * @param  tags  标签
+        */
+        public void setTags(String tags){
+        	this.tags=tags;
+        }
+}

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

@@ -0,0 +1,26 @@
+<?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-schedule-service</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-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-schedule-dao-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>

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

@@ -0,0 +1,13 @@
+package org.hswebframework.web.service.schedule;
+
+import org.hswebframework.web.entity.schedule.ScheduleJobEntity;
+import org.hswebframework.web.service.CrudService;
+
+/**
+ *  调度任务 服务类
+ *
+ * @author hsweb-generator-online
+ */
+public interface ScheduleJobService extends CrudService<ScheduleJobEntity, String> {
+
+}

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

@@ -0,0 +1,26 @@
+<?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-schedule-service</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-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-schedule-service-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>

+ 30 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/hsweb-system-schedule-service-simple/src/main/java/org/hswebframework/web/service/schedule/simple/SimpleScheduleJobService.java

@@ -0,0 +1,30 @@
+package org.hswebframework.web.service.schedule.simple;
+
+import org.hswebframework.web.dao.schedule.ScheduleJobDao;
+import org.hswebframework.web.entity.schedule.ScheduleJobEntity;
+import org.hswebframework.web.service.GenericEntityService;
+import org.hswebframework.web.id.IDGenerator;
+import org.hswebframework.web.service.schedule.ScheduleJobService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 默认的服务实现
+ *
+ * @author hsweb-generator-online
+ */
+@Service("scheduleJobService")
+public class SimpleScheduleJobService extends GenericEntityService<ScheduleJobEntity, String>
+        implements ScheduleJobService {
+    @Autowired
+    private ScheduleJobDao scheduleJobDao;
+   @Override
+    protected IDGenerator<String> getIDGenerator() {
+        return IDGenerator.MD5;
+    }
+    @Override
+    public ScheduleJobDao getDao() {
+        return scheduleJobDao;
+    }
+
+}

+ 18 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-service/pom.xml

@@ -0,0 +1,18 @@
+<?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-schedule</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-service</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>hsweb-system-schedule-service-api</module>
+        <module>hsweb-system-schedule-service-simple</module>
+    </modules>
+</project>

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

@@ -0,0 +1,78 @@
+<?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-schedule</artifactId>
+        <groupId>org.hswebframework.web</groupId>
+        <version>3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hsweb-system-schedule-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-schedule-service-simple</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+      
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-system-schedule-dao-mybatis</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+      
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-system-schedule-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>

+ 50 - 0
hsweb-system/hsweb-system-schedule/hsweb-system-schedule-starter/src/main/resources/hsweb-starter.js

@@ -0,0 +1,50 @@
+
+//组件信息
+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_schedule_job")
+        .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(128).commit()
+        .addColumn().name("remark").alias("remark").comment("备注").jdbcType(java.sql.JDBCType.VARCHAR).length(512).commit()
+        .addColumn().name("quartz_config").alias("quartz_config").comment("定时调度配置").jdbcType(java.sql.JDBCType.clob).commit()
+        .addColumn().name("script").alias("script").comment("执行脚本").jdbcType(java.sql.JDBCType.CLOB).commit()
+        .addColumn().name("language").alias("language").comment("脚本语言").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
+        .addColumn().name("enabled").alias("enabled").comment("是否启用").jdbcType(java.sql.JDBCType.DECIMAL).length(4,0).commit()
+        .addColumn().name("parameters").alias("parameters").comment("启动参数").jdbcType(java.sql.JDBCType.CLOB).commit()
+        .addColumn().name("type").alias("type").comment("任务类型").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
+        .addColumn().name("tags").alias("tags").comment("标签").jdbcType(java.sql.JDBCType.VARCHAR).length(512).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) { //卸载时执行
+
+    });

+ 8 - 2
hsweb-system/hsweb-system-schedule/pom.xml

@@ -8,8 +8,14 @@
         <version>3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-
+    <packaging>pom</packaging>
     <artifactId>hsweb-system-schedule</artifactId>
-
+    <modules>
+        <module>hsweb-system-schedule-dao</module>
+        <module>hsweb-system-schedule-service</module>
+        <module>hsweb-system-schedule-controller</module>
+        <module>hsweb-system-schedule-entity</module>
+        <module>hsweb-system-schedule-starter</module>
+    </modules>
 
 </project>