Mark 6 years ago
parent
commit
8cc5290189

+ 1 - 4
db/mysql.sql

@ -109,7 +109,6 @@ CREATE TABLE `sys_oss` (
109 109
CREATE TABLE `schedule_job` (
110 110
  `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
111 111
  `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
112
  `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
113 112
  `params` varchar(2000) DEFAULT NULL COMMENT '参数',
114 113
  `cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
115 114
  `status` tinyint(4) DEFAULT NULL COMMENT '任务状态  0:正常  1:暂停',
@ -123,7 +122,6 @@ CREATE TABLE `schedule_job_log` (
123 122
  `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志id',
124 123
  `job_id` bigint(20) NOT NULL COMMENT '任务id',
125 124
  `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
126
  `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
127 125
  `params` varchar(2000) DEFAULT NULL COMMENT '参数',
128 126
  `status` tinyint(4) NOT NULL COMMENT '任务状态    0:成功    1:失败',
129 127
  `error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
@ -185,8 +183,7 @@ INSERT INTO `sys_menu`(`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `
185 183
INSERT INTO `sys_menu`(`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES (30, 1, '文件上传', 'oss/oss', 'sys:oss:all', 1, 'oss', 6);
186 184
187 185
INSERT INTO `sys_config` (`param_key`, `param_value`, `status`, `remark`) VALUES ('CLOUD_STORAGE_CONFIG_KEY', '{\"aliyunAccessKeyId\":\"\",\"aliyunAccessKeySecret\":\"\",\"aliyunBucketName\":\"\",\"aliyunDomain\":\"\",\"aliyunEndPoint\":\"\",\"aliyunPrefix\":\"\",\"qcloudBucketName\":\"\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qiniuAccessKey\":\"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ\",\"qiniuBucketName\":\"ios-app\",\"qiniuDomain\":\"http://7xqbwh.dl1.z0.glb.clouddn.com\",\"qiniuPrefix\":\"upload\",\"qiniuSecretKey\":\"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV\",\"type\":1}', '0', '云存储配置信息');
188
INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '参数测试', '2016-12-01 23:16:46');
189
INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
186
INSERT INTO `schedule_job` (`bean_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'renren', '0 0/30 * * * ?', '0', '参数测试', now());
190 187
191 188
192 189
-- 账号:13612345678  密码:admin

+ 1 - 4
db/oracle.sql

@ -107,7 +107,6 @@ CREATE TABLE sys_oss (
107 107
CREATE TABLE schedule_job (
108 108
  job_id NUMBER(20, 0) NOT NULL,
109 109
  bean_name varchar2(200),
110
  method_name varchar2(100),
111 110
  params varchar2(2000),
112 111
  cron_expression varchar2(100),
113 112
  status NUMBER(2, 0) NOT NULL,
@ -121,7 +120,6 @@ CREATE TABLE schedule_job_log (
121 120
  log_id NUMBER(20, 0) NOT NULL,
122 121
  job_id NUMBER(20, 0) NOT NULL,
123 122
  bean_name varchar2(200),
124
  method_name varchar2(100),
125 123
  params varchar2(2000),
126 124
  status NUMBER(2, 0) NOT NULL,
127 125
  error varchar2(2000),
@ -178,8 +176,7 @@ INSERT INTO sys_menu(menu_id, parent_id, name, url, perms, type, icon, order_num
178 176
179 177
INSERT INTO sys_config (id, param_key, param_value, status, remark) VALUES (1, 'CLOUD_STORAGE_CONFIG_KEY',  '{"aliyunAccessKeyId":"","aliyunAccessKeySecret":"","aliyunBucketName":"","aliyunDomain":"","aliyunEndPoint":"","aliyunPrefix":"","qcloudBucketName":"","qcloudDomain":"","qcloudPrefix":"","qcloudSecretId":"","qcloudSecretKey":"","qiniuAccessKey":"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ","qiniuBucketName":"ios-app","qiniuDomain":"http://7xlij2.com1.z0.glb.clouddn.com","qiniuPrefix":"upload","qiniuSecretKey":"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV","type":1}', '0', '云存储配置信息');
180 178
181
INSERT INTO schedule_job (job_id, bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES (1, 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '参数测试', CURRENT_DATE);
182
INSERT INTO schedule_job (job_id, bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES (2, 'testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', CURRENT_DATE);
179
INSERT INTO schedule_job (job_id, bean_name, params, cron_expression, status, remark, create_time) VALUES (1, 'testTask', 'renren', '0 0/30 * * * ?', '0', '参数测试', CURRENT_DATE);
183 180
184 181
185 182
-- 账号:13612345678  密码:admin

+ 1 - 4
db/postgresql.sql

@ -110,7 +110,6 @@ CREATE TABLE sys_oss (
110 110
CREATE TABLE schedule_job (
111 111
  job_id bigserial,
112 112
  bean_name varchar(200),
113
  method_name varchar(100),
114 113
  params varchar(2000),
115 114
  cron_expression varchar(100),
116 115
  status int,
@ -124,7 +123,6 @@ CREATE TABLE schedule_job_log (
124 123
  log_id bigserial,
125 124
  job_id int8 NOT NULL,
126 125
  bean_name varchar(200),
127
  method_name varchar(100),
128 126
  params varchar(2000),
129 127
  status int NOT NULL,
130 128
  error varchar(2000),
@ -181,8 +179,7 @@ INSERT INTO sys_menu(menu_id, parent_id, name, url, perms, type, icon, order_num
181 179
182 180
INSERT INTO sys_config (param_key, param_value, status, remark) VALUES ('CLOUD_STORAGE_CONFIG_KEY',  '{"aliyunAccessKeyId":"","aliyunAccessKeySecret":"","aliyunBucketName":"","aliyunDomain":"","aliyunEndPoint":"","aliyunPrefix":"","qcloudBucketName":"","qcloudDomain":"","qcloudPrefix":"","qcloudSecretId":"","qcloudSecretKey":"","qiniuAccessKey":"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ","qiniuBucketName":"ios-app","qiniuDomain":"http://7xlij2.com1.z0.glb.clouddn.com","qiniuPrefix":"upload","qiniuSecretKey":"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV","type":1}', '0', '云存储配置信息');
183 181
184
INSERT INTO schedule_job (bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES ('testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '参数测试', '2016-12-01 23:16:46');
185
INSERT INTO schedule_job (bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES ('testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
182
INSERT INTO schedule_job (bean_name, params, cron_expression, status, remark, create_time) VALUES ('testTask',  'renren', '0 0/30 * * * ?', '0', '参数测试', '2016-12-01 23:16:46');
186 183
187 184
188 185
-- 账号:13612345678  密码:admin

+ 1 - 4
db/sqlserver.sql

@ -106,7 +106,6 @@ CREATE TABLE sys_oss (
106 106
CREATE TABLE schedule_job (
107 107
  job_id bigint NOT NULL IDENTITY(1,1),
108 108
  bean_name varchar(200),
109
  method_name varchar(100),
110 109
  params varchar(2000),
111 110
  cron_expression varchar(100),
112 111
  status tinyint,
@ -120,7 +119,6 @@ CREATE TABLE schedule_job_log (
120 119
  log_id bigint NOT NULL IDENTITY(1,1),
121 120
  job_id bigint NOT NULL,
122 121
  bean_name varchar(200),
123
  method_name varchar(100),
124 122
  params varchar(2000),
125 123
  status tinyint NOT NULL,
126 124
  error varchar(2000),
@ -181,8 +179,7 @@ SET IDENTITY_INSERT sys_menu OFF;
181 179
182 180
INSERT INTO sys_config (param_key, param_value, status, remark) VALUES ('CLOUD_STORAGE_CONFIG_KEY',  '{"aliyunAccessKeyId":"","aliyunAccessKeySecret":"","aliyunBucketName":"","aliyunDomain":"","aliyunEndPoint":"","aliyunPrefix":"","qcloudBucketName":"","qcloudDomain":"","qcloudPrefix":"","qcloudSecretId":"","qcloudSecretKey":"","qiniuAccessKey":"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ","qiniuBucketName":"ios-app","qiniuDomain":"http://7xlij2.com1.z0.glb.clouddn.com","qiniuPrefix":"upload","qiniuSecretKey":"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV","type":1}', '0', '云存储配置信息');
183 181
184
INSERT INTO schedule_job (bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES ('testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '参数测试', '2016-12-01 23:16:46');
185
INSERT INTO schedule_job (bean_name, method_name, params, cron_expression, status, remark, create_time) VALUES ('testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
182
INSERT INTO schedule_job (bean_name, params, cron_expression, status, remark, create_time) VALUES ('testTask', 'renren', '0 0/30 * * * ?', '0', '参数测试', '2016-12-01 23:16:46');
186 183
187 184
188 185
-- 账号:13612345678  密码:admin

+ 9 - 9
src/main/java/io/renren/modules/job/controller/ScheduleJobController.java

@ -34,7 +34,7 @@ public class ScheduleJobController {
34 34
	/**
35 35
	 * 定时任务列表
36 36
	 */
37
	@GetMapping("/list")
37
	@RequestMapping("/list")
38 38
	@RequiresPermissions("sys:schedule:list")
39 39
	public R list(@RequestParam Map<String, Object> params){
40 40
		PageUtils page = scheduleJobService.queryPage(params);
@ -45,7 +45,7 @@ public class ScheduleJobController {
45 45
	/**
46 46
	 * 定时任务信息
47 47
	 */
48
	@GetMapping("/info/{jobId}")
48
	@RequestMapping("/info/{jobId}")
49 49
	@RequiresPermissions("sys:schedule:info")
50 50
	public R info(@PathVariable("jobId") Long jobId){
51 51
		ScheduleJobEntity schedule = scheduleJobService.getById(jobId);
@ -57,12 +57,12 @@ public class ScheduleJobController {
57 57
	 * 保存定时任务
58 58
	 */
59 59
	@SysLog("保存定时任务")
60
	@PostMapping("/save")
60
	@RequestMapping("/save")
61 61
	@RequiresPermissions("sys:schedule:save")
62 62
	public R save(@RequestBody ScheduleJobEntity scheduleJob){
63 63
		ValidatorUtils.validateEntity(scheduleJob);
64 64
		
65
		scheduleJobService.saveJob(scheduleJob);
65
		scheduleJobService.save(scheduleJob);
66 66
		
67 67
		return R.ok();
68 68
	}
@ -71,7 +71,7 @@ public class ScheduleJobController {
71 71
	 * 修改定时任务
72 72
	 */
73 73
	@SysLog("修改定时任务")
74
	@PostMapping("/update")
74
	@RequestMapping("/update")
75 75
	@RequiresPermissions("sys:schedule:update")
76 76
	public R update(@RequestBody ScheduleJobEntity scheduleJob){
77 77
		ValidatorUtils.validateEntity(scheduleJob);
@ -85,7 +85,7 @@ public class ScheduleJobController {
85 85
	 * 删除定时任务
86 86
	 */
87 87
	@SysLog("删除定时任务")
88
	@PostMapping("/delete")
88
	@RequestMapping("/delete")
89 89
	@RequiresPermissions("sys:schedule:delete")
90 90
	public R delete(@RequestBody Long[] jobIds){
91 91
		scheduleJobService.deleteBatch(jobIds);
@ -97,7 +97,7 @@ public class ScheduleJobController {
97 97
	 * 立即执行任务
98 98
	 */
99 99
	@SysLog("立即执行任务")
100
	@PostMapping("/run")
100
	@RequestMapping("/run")
101 101
	@RequiresPermissions("sys:schedule:run")
102 102
	public R run(@RequestBody Long[] jobIds){
103 103
		scheduleJobService.run(jobIds);
@ -109,7 +109,7 @@ public class ScheduleJobController {
109 109
	 * 暂停定时任务
110 110
	 */
111 111
	@SysLog("暂停定时任务")
112
	@PostMapping("/pause")
112
	@RequestMapping("/pause")
113 113
	@RequiresPermissions("sys:schedule:pause")
114 114
	public R pause(@RequestBody Long[] jobIds){
115 115
		scheduleJobService.pause(jobIds);
@ -121,7 +121,7 @@ public class ScheduleJobController {
121 121
	 * 恢复定时任务
122 122
	 */
123 123
	@SysLog("恢复定时任务")
124
	@PostMapping("/resume")
124
	@RequestMapping("/resume")
125 125
	@RequiresPermissions("sys:schedule:resume")
126 126
	public R resume(@RequestBody Long[] jobIds){
127 127
		scheduleJobService.resume(jobIds);

+ 6 - 3
src/main/java/io/renren/modules/job/controller/ScheduleJobLogController.java

@ -14,7 +14,10 @@ import io.renren.modules.job.entity.ScheduleJobLogEntity;
14 14
import io.renren.modules.job.service.ScheduleJobLogService;
15 15
import org.apache.shiro.authz.annotation.RequiresPermissions;
16 16
import org.springframework.beans.factory.annotation.Autowired;
17
import org.springframework.web.bind.annotation.*;
17
import org.springframework.web.bind.annotation.PathVariable;
18
import org.springframework.web.bind.annotation.RequestMapping;
19
import org.springframework.web.bind.annotation.RequestParam;
20
import org.springframework.web.bind.annotation.RestController;
18 21
19 22
import java.util.Map;
20 23
@ -32,7 +35,7 @@ public class ScheduleJobLogController {
32 35
	/**
33 36
	 * 定时任务日志列表
34 37
	 */
35
	@GetMapping("/list")
38
	@RequestMapping("/list")
36 39
	@RequiresPermissions("sys:schedule:log")
37 40
	public R list(@RequestParam Map<String, Object> params){
38 41
		PageUtils page = scheduleJobLogService.queryPage(params);
@ -43,7 +46,7 @@ public class ScheduleJobLogController {
43 46
	/**
44 47
	 * 定时任务日志信息
45 48
	 */
46
	@GetMapping("/info/{logId}")
49
	@RequestMapping("/info/{logId}")
47 50
	public R info(@PathVariable("logId") Long logId){
48 51
		ScheduleJobLogEntity log = scheduleJobLogService.getById(logId);
49 52
		

+ 2 - 7
src/main/java/io/renren/modules/job/entity/ScheduleJobEntity.java

@ -10,6 +10,7 @@ package io.renren.modules.job.entity;
10 10
11 11
import com.baomidou.mybatisplus.annotation.TableId;
12 12
import com.baomidou.mybatisplus.annotation.TableName;
13
import com.fasterxml.jackson.annotation.JsonFormat;
13 14
import lombok.Data;
14 15
15 16
import javax.validation.constraints.NotBlank;
@ -43,12 +44,6 @@ public class ScheduleJobEntity implements Serializable {
43 44
	@NotBlank(message="bean名称不能为空")
44 45
	private String beanName;
45 46
	
46
	/**
47
	 * 方法名
48
	 */
49
	@NotBlank(message="方法名称不能为空")
50
	private String methodName;
51
	
52 47
	/**
53 48
	 * 参数
54 49
	 */
@ -73,7 +68,7 @@ public class ScheduleJobEntity implements Serializable {
73 68
	/**
74 69
	 * 创建时间
75 70
	 */
71
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
76 72
	private Date createTime;
77 73
78
79 74
}

+ 2 - 6
src/main/java/io/renren/modules/job/entity/ScheduleJobLogEntity.java

@ -10,6 +10,7 @@ package io.renren.modules.job.entity;
10 10
11 11
import com.baomidou.mybatisplus.annotation.TableId;
12 12
import com.baomidou.mybatisplus.annotation.TableName;
13
import com.fasterxml.jackson.annotation.JsonFormat;
13 14
import lombok.Data;
14 15
15 16
import java.io.Serializable;
@ -41,11 +42,6 @@ public class ScheduleJobLogEntity implements Serializable {
41 42
	 */
42 43
	private String beanName;
43 44
	
44
	/**
45
	 * 方法名
46
	 */
47
	private String methodName;
48
	
49 45
	/**
50 46
	 * 参数
51 47
	 */
@ -69,7 +65,7 @@ public class ScheduleJobLogEntity implements Serializable {
69 65
	/**
70 66
	 * 创建时间
71 67
	 */
68
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
72 69
	private Date createTime;
73
74 70
	
75 71
}

+ 2 - 2
src/main/java/io/renren/modules/job/service/impl/ScheduleJobServiceImpl.java

@ -56,7 +56,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, Schedule
56 56
57 57
		IPage<ScheduleJobEntity> page = this.page(
58 58
			new Query<ScheduleJobEntity>().getPage(params),
59
			new QueryWrapper<ScheduleJobEntity>().like(StringUtils.isNotBlank(beanName),"bean_name", beanName)
59
			new QueryWrapper <ScheduleJobEntity>().like(StringUtils.isNotBlank(beanName),"bean_name", beanName)
60 60
		);
61 61
62 62
		return new PageUtils(page);
@ -94,7 +94,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, Schedule
94 94
95 95
	@Override
96 96
    public int updateBatch(Long[] jobIds, int status){
97
    	Map<String, Object> map = new HashMap<>();
97
    	Map<String, Object> map = new HashMap<>(2);
98 98
    	map.put("list", jobIds);
99 99
    	map.put("status", status);
100 100
    	return baseMapper.updateBatch(map);