package com.xiaopeng.map.job.jobs;
|
|
import com.xiaopeng.api.model.operation.XpElectronicFence;
|
import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
|
import com.xiaopeng.map.job.base.AbstractJob;
|
import lombok.extern.slf4j.Slf4j;
|
import org.quartz.JobDataMap;
|
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionException;
|
|
import java.util.List;
|
|
/**
|
* 直播推送定时任务
|
* @author Administrator
|
*
|
*/
|
@Slf4j
|
public class ElectronicEffectJob extends AbstractJob {
|
|
public static final String effect = "electronicEffect_";
|
public static final String failure = "electronicFailure_";
|
|
@Override
|
public void execute(JobExecutionContext context)
|
throws JobExecutionException {
|
JobDataMap maps = context.getMergedJobDataMap();
|
Long electronicId = maps.getLong("id");
|
Long type = maps.getLong("type");
|
try {
|
if (type==1L){
|
// 电子围栏生效
|
XpElectronicFence electronicFence = xpElectronicFenceService.getById(electronicId);
|
electronicFence.setStatus(2);
|
xpElectronicFenceService.updateById(electronicFence);
|
List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, electronicId).list();
|
// 设置为生效
|
for(XpElectronicFenceArea electronicFenceArea : electronicFenceAreaList){
|
electronicFenceArea.setAreaStatus(1);
|
}
|
xpElectronicFenceAreaService.updateBatchById(electronicFenceAreaList);
|
}else{
|
// 电子围栏失效
|
XpElectronicFence electronicFence = xpElectronicFenceService.getById(electronicId);
|
electronicFence.setStatus(3);
|
xpElectronicFenceService.updateById(electronicFence);
|
List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, electronicId).list();
|
// 设置为禁用
|
for(XpElectronicFenceArea electronicFenceArea : electronicFenceAreaList){
|
electronicFenceArea.setAreaStatus(2);
|
}
|
xpElectronicFenceAreaService.updateBatchById(electronicFenceAreaList);
|
}
|
|
}catch(Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
}
|