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 electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, electronicId).list(); // 设置为生效 for(XpElectronicFenceArea electronicFenceArea : electronicFenceAreaList){ electronicFenceArea.setAreaStatus(1); } xpElectronicFenceAreaService.updateBatchById(electronicFenceAreaList); }else{ // 电子围栏失效 xpElectronicFenceService.expireFence(electronicId); } }catch(Exception e){ e.printStackTrace(); } } }