Commit 0770843d authored by co_dengxiongwen's avatar co_dengxiongwen

接口调整

parent 12dc8390
......@@ -13,6 +13,8 @@ import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author dxw
*/
......@@ -32,11 +34,14 @@ public class InitRunner implements CommandLineRunner {
SysSystemParams sysSystemParams = sysSystemParamsService.getOne(new LambdaQueryWrapper<SysSystemParams>().last("limit 1"));
if(sysSystemParams.getType() == 1){
// 获取定时任务信息
TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1).last("limit 1"));
if(timedTask != null){
R r = equipmentController.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_1,Constants.STRING_1);
if (!Constants.STRING_0.equals(r.get(Constants.CODE_WORD).toString())) {
System.err.println("定时任务启动失败!!");
List<TimedTask> timedTasks = timedTaskService.list(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1));
if(timedTasks != null && timedTasks.size() > 0){
for(TimedTask timedTask : timedTasks){
R r = equipmentController.timedTask(timedTask.getId(),timedTask.getStartTime(),timedTask.getEndTime(),Constants.INT_1,
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;
import com.devplatform.admin.common.utils.Constants;
import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -18,12 +19,23 @@ public class SimpleJob implements Job {
LOG.info("执行任务。SimpleJob says: " + jobKey + " executing at " + new Date());
JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
Integer status = (Integer) jobDataMap.get("status");
Integer type = (Integer) jobDataMap.get("type");
//type=1 开启设备
if(type == 1){
Integer businessType = (Integer) jobDataMap.get("businessType");
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 {
/** 备用项3 */
@ApiModelProperty(value="备用项3",name="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;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
......@@ -112,7 +113,7 @@ public class EquipmentController extends AbstractController {
if(type == Constants.INT_2){
TimedTask timedTask = timedTaskService.getOne(new LambdaQueryWrapper<TimedTask>().eq(TimedTask::getStatus,Constants.INT_1).last("limit 1"));
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();
......@@ -140,6 +141,7 @@ public class EquipmentController extends AbstractController {
sched.unscheduleJob(triggerKey1);
// 删除任务
sched.deleteJob(jobKey1);
System.err.println("移除任务:" + jobName+"-start");
}
if(trigger2 != null){
// 停止触发器
......@@ -148,9 +150,8 @@ public class EquipmentController extends AbstractController {
sched.unscheduleJob(triggerKey2);
// 删除任务
sched.deleteJob(jobKey2);
System.err.println("移除任务:" + jobName+"-end");
}
System.err.println("移除任务:" + jobName+"-start");
System.err.println("移除任务:" + jobName+"-end");
} catch (Exception ignored) {
System.err.println("移除定时任务出错");
}
......@@ -159,7 +160,7 @@ public class EquipmentController extends AbstractController {
@ApiOperation(value = "定时任务开启/关闭", notes = "定时任务开启")
@ApiImplicitParam(name = "id", value = "主键", required = true, dataType = "String")
@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;
//如果重启是启动的定时任务,不用更新数据库
if(StringUtils.isBlank(isReboot)){
......@@ -167,14 +168,19 @@ public class EquipmentController extends AbstractController {
if(StringUtils.isBlank(taskId)){
timedTask = new TimedTask();
timedTask.setStartTime(startTime);
timedTask.setBusinessType(businessType);
timedTask.setType(type);
timedTask.setEndTime(endTime);
timedTask.setCreateTime(new Date());
timedTask.setCreateUserId(user.getUserId());
timedTask.setStatus(status);
timedTaskService.save(timedTask);
}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.setBusinessType(businessType);
timedTask.setType(type);
timedTask.setEndTime(endTime);
timedTask.setStatus(status);
timedTask.setUpdateTime(new Date());
......@@ -188,7 +194,7 @@ public class EquipmentController extends AbstractController {
//开启
if (status == 1) {
//设置定时任务
R error = setTimeTask(taskId, startTime, endTime);
R error = setTimeTask(taskId,businessType,type,startTime, endTime);
if (error != null) {
return error;
}
......@@ -206,34 +212,54 @@ public class EquipmentController extends AbstractController {
* @param endTime
* @return
*/
private R setTimeTask(String id, String startTime, String endTime){
JobDataMap resJobDataMap1 = new JobDataMap();
resJobDataMap1.put("type", 1);
private R setTimeTask(String id,Integer businessType,Integer type ,String startTime, String endTime){
try {
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();
resJobDataMap2.put("type", 2);
job2 = JobBuilder.newJob(SimpleJob.class).withIdentity(id+"-end", JOB_GROUP_NAME).usingJobData(resJobDataMap2).build();
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();
String cron2 = createCron(endTime);
Trigger trigger2 = TriggerBuilder.newTrigger().withIdentity(id+"-end", TRIGGER_GROUP_NAME).startAt(new Date())
.withSchedule(CronScheduleBuilder.cronSchedule(cron2).withMisfireHandlingInstructionDoNothing()).build();
try {
Scheduler sched = gSchedulerFactory.getScheduler();
// 交给scheduler去调度
sched.scheduleJob(job1, trigger1);
sched.scheduleJob(job2, trigger2);
if(job1 != null && trigger1 != null){
// 交给scheduler去调度
sched.scheduleJob(job1, trigger1);
}
if(job2 != null && trigger2 != null){
sched.scheduleJob(job2, trigger2);
}
// 启动
if (!sched.isShutdown()) {
sched.start();
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
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) {
e.printStackTrace();
return R.error("时间设置有误!");
......@@ -255,6 +281,17 @@ public class EquipmentController extends AbstractController {
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
......@@ -263,7 +300,7 @@ public class EquipmentController extends AbstractController {
@GetMapping("/getAllHcdt")
public R getAllHcdt() {
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);
}
......
......@@ -37,4 +37,8 @@ public class TimedTaskModel extends BaseModel {
private java.lang.String byx2;
/** 备用项3 */
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> {
*/
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;
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.dao.TimedTaskDao;
import com.devplatform.admin.modules.eq.model.TimedTaskModel;
import com.devplatform.admin.modules.eq.service.TimedTaskService;
import com.devplatform.common.service.impl.MyBaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -27,23 +24,4 @@ public class TimedTaskServiceImpl extends MyBaseServiceImpl<TimedTaskDao, TimedT
model.getPager().setRowCount(rowCount);
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 @@
<result column="byx1" property="byx1"/>
<result column="byx2" property="byx2"/>
<result column="byx3" property="byx3"/>
<result column="business_type" property="businessType"/>
<result column="type" property="type"/>
</resultMap>
<!-- timed_task table all fields -->
<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>
<!-- 公共查询条件 -->
......@@ -39,6 +41,8 @@
<if test="byx1!=null and byx1!=''">and t.byx1 = #{byx1}</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="businessType!=null ">and t.business_type = #{businessType}</if>
<if test="type!=null ">and t.type = #{type}</if>
</sql>
<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