Commit 0770843d authored by co_dengxiongwen's avatar co_dengxiongwen

接口调整

parent 12dc8390
...@@ -13,6 +13,8 @@ import org.springframework.boot.CommandLineRunner; ...@@ -13,6 +13,8 @@ import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author dxw * @author dxw
*/ */
...@@ -32,11 +34,14 @@ public class InitRunner implements CommandLineRunner { ...@@ -32,11 +34,14 @@ public class InitRunner implements CommandLineRunner {
SysSystemParams sysSystemParams = sysSystemParamsService.getOne(new LambdaQueryWrapper<SysSystemParams>().last("limit 1")); SysSystemParams sysSystemParams = sysSystemParamsService.getOne(new LambdaQueryWrapper<SysSystemParams>().last("limit 1"));
if(sysSystemParams.getType() == 1){ if(sysSystemParams.getType() == 1){
// 获取定时任务信息 // 获取定时任务信息
TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1).last("limit 1")); List<TimedTask> timedTasks = timedTaskService.list(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1));
if(timedTask != null){ if(timedTasks != null && timedTasks.size() > 0){
R r = equipmentController.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_1,Constants.STRING_1); for(TimedTask timedTask : timedTasks){
if (!Constants.STRING_0.equals(r.get(Constants.CODE_WORD).toString())) { R r = equipmentController.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_1,
System.err.println("定时任务启动失败!!"); timedTask.getBusinessType(),timedTask.getType(),Constants.STRING_1);
if (!Constants.STRING_0.equals(r.get(Constants.CODE_WORD).toString())) {
System.err.println("定时任务启动失败!!");
}
} }
} }
} }
......
package com.devplatform.admin.common.scheduling; package com.devplatform.admin.common.scheduling;
import com.devplatform.admin.common.utils.Constants;
import org.quartz.*; import org.quartz.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -18,12 +19,23 @@ public class SimpleJob implements Job { ...@@ -18,12 +19,23 @@ public class SimpleJob implements Job {
LOG.info("执行任务。SimpleJob says: " + jobKey + " executing at " + new Date()); LOG.info("执行任务。SimpleJob says: " + jobKey + " executing at " + new Date());
JobDataMap jobDataMap = context.getJobDetail().getJobDataMap(); JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
Integer status = (Integer) jobDataMap.get("status");
Integer type = (Integer) jobDataMap.get("type"); Integer type = (Integer) jobDataMap.get("type");
//type=1 开启设备 Integer businessType = (Integer) jobDataMap.get("businessType");
if(type == 1){ if(businessType == Constants.INT_1){
//status 1:开启设备 2: 关闭设备
if(status == Constants.INT_1){
}else{ }else{
//否则关闭设备
}
}else if(businessType == Constants.INT_2){
//type 1:上升 2:下降
if(type == Constants.INT_1){
}else {
}
} }
} }
} }
...@@ -54,4 +54,10 @@ public class TimedTask implements Serializable { ...@@ -54,4 +54,10 @@ public class TimedTask implements Serializable {
/** 备用项3 */ /** 备用项3 */
@ApiModelProperty(value="备用项3",name="byx3") @ApiModelProperty(value="备用项3",name="byx3")
private java.lang.String byx3; private java.lang.String byx3;
/** 业务类型(1 候车大厅全局 2 电动门帘) */
@ApiModelProperty(value="业务类型(1 候车大厅全局 2 电动门帘)",name="businessType")
private Integer businessType;
/** 类型(1 上升 2 下降) */
@ApiModelProperty(value="类型(1 上升 2 下降)",name="type")
private Integer type;
} }
...@@ -29,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -29,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -112,7 +113,7 @@ public class EquipmentController extends AbstractController { ...@@ -112,7 +113,7 @@ public class EquipmentController extends AbstractController {
if(type == Constants.INT_2){ if(type == Constants.INT_2){
TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1).last("limit 1")); TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1).last("limit 1"));
if(timedTask != null){ if(timedTask != null){
this.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_2,""); this.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_2,1,null,"");
} }
} }
return R.ok(); return R.ok();
...@@ -140,6 +141,7 @@ public class EquipmentController extends AbstractController { ...@@ -140,6 +141,7 @@ public class EquipmentController extends AbstractController {
sched.unscheduleJob(triggerKey1); sched.unscheduleJob(triggerKey1);
// 删除任务 // 删除任务
sched.deleteJob(jobKey1); sched.deleteJob(jobKey1);
System.err.println("移除任务:" + jobName+"-start");
} }
if(trigger2 != null){ if(trigger2 != null){
// 停止触发器 // 停止触发器
...@@ -148,9 +150,8 @@ public class EquipmentController extends AbstractController { ...@@ -148,9 +150,8 @@ public class EquipmentController extends AbstractController {
sched.unscheduleJob(triggerKey2); sched.unscheduleJob(triggerKey2);
// 删除任务 // 删除任务
sched.deleteJob(jobKey2); sched.deleteJob(jobKey2);
System.err.println("移除任务:" + jobName+"-end");
} }
System.err.println("移除任务:" + jobName+"-start");
System.err.println("移除任务:" + jobName+"-end");
} catch (Exception ignored) { } catch (Exception ignored) {
System.err.println("移除定时任务出错"); System.err.println("移除定时任务出错");
} }
...@@ -159,7 +160,7 @@ public class EquipmentController extends AbstractController { ...@@ -159,7 +160,7 @@ public class EquipmentController extends AbstractController {
@ApiOperation(value = "定时任务开启/关闭", notes = "定时任务开启") @ApiOperation(value = "定时任务开启/关闭", notes = "定时任务开启")
@ApiImplicitParam(name = "id", value = "主键", required = true, dataType = "String") @ApiImplicitParam(name = "id", value = "主键", required = true, dataType = "String")
@PostMapping("/timedTask") @PostMapping("/timedTask")
public R timedTask(String taskId, String startTime, String endTime, Integer status, String isReboot) { public R timedTask(String taskId, String startTime, String endTime, Integer status,Integer businessType,Integer type, String isReboot) {
TimedTask timedTask = null; TimedTask timedTask = null;
//如果重启是启动的定时任务,不用更新数据库 //如果重启是启动的定时任务,不用更新数据库
if(StringUtils.isBlank(isReboot)){ if(StringUtils.isBlank(isReboot)){
...@@ -167,14 +168,19 @@ public class EquipmentController extends AbstractController { ...@@ -167,14 +168,19 @@ public class EquipmentController extends AbstractController {
if(StringUtils.isBlank(taskId)){ if(StringUtils.isBlank(taskId)){
timedTask = new TimedTask(); timedTask = new TimedTask();
timedTask.setStartTime(startTime); timedTask.setStartTime(startTime);
timedTask.setBusinessType(businessType);
timedTask.setType(type);
timedTask.setEndTime(endTime); timedTask.setEndTime(endTime);
timedTask.setCreateTime(new Date()); timedTask.setCreateTime(new Date());
timedTask.setCreateUserId(user.getUserId()); timedTask.setCreateUserId(user.getUserId());
timedTask.setStatus(status); timedTask.setStatus(status);
timedTaskService.save(timedTask); timedTaskService.save(timedTask);
}else { }else {
timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().last("limit 1")); timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getBusinessType,businessType)
.eq(type == null,TimedTask::getType,type).last("limit 1"));
timedTask.setStartTime(startTime); timedTask.setStartTime(startTime);
timedTask.setBusinessType(businessType);
timedTask.setType(type);
timedTask.setEndTime(endTime); timedTask.setEndTime(endTime);
timedTask.setStatus(status); timedTask.setStatus(status);
timedTask.setUpdateTime(new Date()); timedTask.setUpdateTime(new Date());
...@@ -188,7 +194,7 @@ public class EquipmentController extends AbstractController { ...@@ -188,7 +194,7 @@ public class EquipmentController extends AbstractController {
//开启 //开启
if (status == 1) { if (status == 1) {
//设置定时任务 //设置定时任务
R error = setTimeTask(taskId, startTime, endTime); R error = setTimeTask(taskId,businessType,type,startTime, endTime);
if (error != null) { if (error != null) {
return error; return error;
} }
...@@ -206,34 +212,54 @@ public class EquipmentController extends AbstractController { ...@@ -206,34 +212,54 @@ public class EquipmentController extends AbstractController {
* @param endTime * @param endTime
* @return * @return
*/ */
private R setTimeTask(String id, String startTime, String endTime){ private R setTimeTask(String id,Integer businessType,Integer type ,String startTime, String endTime){
JobDataMap resJobDataMap1 = new JobDataMap(); try {
resJobDataMap1.put("type", 1); Scheduler sched = gSchedulerFactory.getScheduler();
JobDetail job1 = null;
Trigger trigger1 = null;
JobDetail job2 = null;
Trigger trigger2 = null;
if(StringUtils.isNotBlank(startTime)){
JobDataMap resJobDataMap1 = new JobDataMap();
//设备开启
resJobDataMap1.put("status", Constants.INT_1);
resJobDataMap1.put("businessType", businessType);
resJobDataMap1.put("type", type);
job1 = JobBuilder.newJob(SimpleJob.class).withIdentity(id+"-start", JOB_GROUP_NAME).usingJobData(resJobDataMap1).build();
String cron1 = createCron(startTime);
trigger1 = TriggerBuilder.newTrigger().withIdentity(id+"-start", TRIGGER_GROUP_NAME).startAt(new Date())
.withSchedule(CronScheduleBuilder.cronSchedule(cron1).withMisfireHandlingInstructionDoNothing()).build();
}
if(StringUtils.isNotBlank(endTime)){
JobDataMap resJobDataMap2 = new JobDataMap();
//设备关闭
resJobDataMap2.put("status", Constants.INT_2);
resJobDataMap2.put("businessType", businessType);
resJobDataMap2.put("type", type);
JobDataMap resJobDataMap2 = new JobDataMap(); job2 = JobBuilder.newJob(SimpleJob.class).withIdentity(id+"-end", JOB_GROUP_NAME).usingJobData(resJobDataMap2).build();
resJobDataMap2.put("type", 2); String cron2 = createCron(endTime);
trigger2 = TriggerBuilder.newTrigger().withIdentity(id+"-end", TRIGGER_GROUP_NAME).startAt(new Date())
.withSchedule(CronScheduleBuilder.cronSchedule(cron2).withMisfireHandlingInstructionDoNothing()).build();
}
JobDetail job1 = JobBuilder.newJob(SimpleJob.class).withIdentity(id+"-start", JOB_GROUP_NAME).usingJobData(resJobDataMap1).build();
String cron1 = createCron(startTime);
Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity(id+"-start", TRIGGER_GROUP_NAME).startAt(new Date())
.withSchedule(CronScheduleBuilder.cronSchedule(cron1).withMisfireHandlingInstructionDoNothing()).build();
JobDetail job2 = JobBuilder.newJob(SimpleJob.class).withIdentity(id+"-end", JOB_GROUP_NAME).usingJobData(resJobDataMap2).build(); if(job1 != null && trigger1 != null){
String cron2 = createCron(endTime); // 交给scheduler去调度
Trigger trigger2 = TriggerBuilder.newTrigger().withIdentity(id+"-end", TRIGGER_GROUP_NAME).startAt(new Date()) sched.scheduleJob(job1, trigger1);
.withSchedule(CronScheduleBuilder.cronSchedule(cron2).withMisfireHandlingInstructionDoNothing()).build(); }
try {
Scheduler sched = gSchedulerFactory.getScheduler(); if(job2 != null && trigger2 != null){
// 交给scheduler去调度 sched.scheduleJob(job2, trigger2);
sched.scheduleJob(job1, trigger1); }
sched.scheduleJob(job2, trigger2);
// 启动 // 启动
if (!sched.isShutdown()) { if (!sched.isShutdown()) {
sched.start(); sched.start();
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.err.println("设置定时任务1:" + id + "\n\t下次运行时间:" + sdf.format(trigger1.getNextFireTime())); System.err.println("设置定时任务1:" + id + "\n\t下次运行时间:" + sdf.format(trigger1.getNextFireTime()));
System.err.println("设置定时任务2:" + id + "\n\t下次运行时间:" + sdf.format(trigger2.getNextFireTime())); // System.err.println("设置定时任务2:" + id + "\n\t下次运行时间:" + sdf.format(trigger2.getNextFireTime()));
} catch (SchedulerException e) { } catch (SchedulerException e) {
e.printStackTrace(); e.printStackTrace();
return R.error("时间设置有误!"); return R.error("时间设置有误!");
...@@ -255,6 +281,17 @@ public class EquipmentController extends AbstractController { ...@@ -255,6 +281,17 @@ public class EquipmentController extends AbstractController {
return sb.toString(); return sb.toString();
} }
/**
* 获取电动门帘的定时任务数据
* @return
*/
@ApiOperation(value="获取电动门帘的定时任务数据", notes="获取电动门帘的定时任务数据")
@GetMapping("/getAllDdml")
public R getAllDdml() {
List<TimedTask> timedTasks = timedTaskService.list(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getBusinessType,Constants.INT_2));
return R.ok().put("list",timedTasks);
}
/** /**
* 候车大厅头上所有显示数据 * 候车大厅头上所有显示数据
* @return * @return
...@@ -263,7 +300,7 @@ public class EquipmentController extends AbstractController { ...@@ -263,7 +300,7 @@ public class EquipmentController extends AbstractController {
@GetMapping("/getAllHcdt") @GetMapping("/getAllHcdt")
public R getAllHcdt() { public R getAllHcdt() {
SysSystemParams sysSystemParams = sysSystemParamsService.getById(Constants.STRING_1); SysSystemParams sysSystemParams = sysSystemParamsService.getById(Constants.STRING_1);
TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().last("limit 1")); TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getBusinessType,Constants.INT_1).last("limit 1"));
return R.ok().put("sysSystemParams", sysSystemParams).put("timedTask",timedTask); return R.ok().put("sysSystemParams", sysSystemParams).put("timedTask",timedTask);
} }
......
...@@ -37,4 +37,8 @@ public class TimedTaskModel extends BaseModel { ...@@ -37,4 +37,8 @@ public class TimedTaskModel extends BaseModel {
private java.lang.String byx2; private java.lang.String byx2;
/** 备用项3 */ /** 备用项3 */
private java.lang.String byx3; private java.lang.String byx3;
/** 业务类型(1 候车大厅全局 2 电动门帘) */
private Integer businessType;
/** 类型(1 上升 2 下降) */
private Integer type;
} }
...@@ -22,12 +22,4 @@ public interface TimedTaskService extends MyBaseService<TimedTask> { ...@@ -22,12 +22,4 @@ public interface TimedTaskService extends MyBaseService<TimedTask> {
*/ */
List<TimedTask> queryPageList(TimedTaskModel model); List<TimedTask> queryPageList(TimedTaskModel model);
/**
* 根据ID删除定时任务对象
* @param ids
* @param userId
* @return void
*/
void deleteByFlagByIds(String[] ids, String userId);
} }
package com.devplatform.admin.modules.eq.service.impl; package com.devplatform.admin.modules.eq.service.impl;
import org.springframework.stereotype.Service;
import com.devplatform.admin.modules.eq.model.TimedTaskModel;
import com.devplatform.admin.modules.eq.bean.TimedTask; import com.devplatform.admin.modules.eq.bean.TimedTask;
import com.devplatform.admin.modules.eq.dao.TimedTaskDao; import com.devplatform.admin.modules.eq.dao.TimedTaskDao;
import com.devplatform.admin.modules.eq.model.TimedTaskModel;
import com.devplatform.admin.modules.eq.service.TimedTaskService; import com.devplatform.admin.modules.eq.service.TimedTaskService;
import com.devplatform.common.service.impl.MyBaseServiceImpl; import com.devplatform.common.service.impl.MyBaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -27,23 +24,4 @@ public class TimedTaskServiceImpl extends MyBaseServiceImpl<TimedTaskDao, TimedT ...@@ -27,23 +24,4 @@ public class TimedTaskServiceImpl extends MyBaseServiceImpl<TimedTaskDao, TimedT
model.getPager().setRowCount(rowCount); model.getPager().setRowCount(rowCount);
return baseMapper.queryPageList(model); return baseMapper.queryPageList(model);
} }
@Override
public void deleteByFlagByIds(String[] ids, String userId){
//用来暂存所有要删除的对象
List<TimedTask> beans = new ArrayList<TimedTask>();
//遍历ids数组
for(String id: ids){
TimedTask temp = new TimedTask();
temp.setId(id);
//将数据标记为删除
temp.setDeleted(1);
temp.setUpdateUserId(userId);
temp.setUpdateTime(new Date());
//将要删除的对象存放在list中
beans.add(temp);
}
//调用批量更新操作
updateBatchById(beans);
}
} }
...@@ -16,11 +16,13 @@ ...@@ -16,11 +16,13 @@
<result column="byx1" property="byx1"/> <result column="byx1" property="byx1"/>
<result column="byx2" property="byx2"/> <result column="byx2" property="byx2"/>
<result column="byx3" property="byx3"/> <result column="byx3" property="byx3"/>
<result column="business_type" property="businessType"/>
<result column="type" property="type"/>
</resultMap> </resultMap>
<!-- timed_task table all fields --> <!-- timed_task table all fields -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,start_time,end_time,create_user_id,create_time,update_user_id,update_time,status,deleted,station_id,byx1,byx2,byx3 id,start_time,end_time,create_user_id,create_time,update_user_id,update_time,status,deleted,station_id,byx1,byx2,byx3,business_type,type
</sql> </sql>
<!-- 公共查询条件 --> <!-- 公共查询条件 -->
...@@ -39,6 +41,8 @@ ...@@ -39,6 +41,8 @@
<if test="byx1!=null and byx1!=''">and t.byx1 = #{byx1}</if> <if test="byx1!=null and byx1!=''">and t.byx1 = #{byx1}</if>
<if test="byx2!=null and byx2!=''">and t.byx2 = #{byx2}</if> <if test="byx2!=null and byx2!=''">and t.byx2 = #{byx2}</if>
<if test="byx3!=null and byx3!=''">and t.byx3 = #{byx3}</if> <if test="byx3!=null and byx3!=''">and t.byx3 = #{byx3}</if>
<if test="businessType!=null ">and t.business_type = #{businessType}</if>
<if test="type!=null ">and t.type = #{type}</if>
</sql> </sql>
<select id="queryPageByCount" parameterType="Object" resultType="java.lang.Integer"> <select id="queryPageByCount" parameterType="Object" resultType="java.lang.Integer">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment