“mitao”
2026-03-15 fb836c56d462e676b20328a9d6369f05c49c36c5
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
@@ -7,6 +7,7 @@
import com.xiaopeng.api.model.maintenance.XpErrorType;
import com.xiaopeng.api.model.maintenance.XpTask;
import com.xiaopeng.api.model.maintenance.XpTaskHandleDetailRoutine;
import com.xiaopeng.api.model.maintenance.XpTaskRule;
import com.xiaopeng.api.model.order.XpCruiseOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.account.LoginOperationUser;
@@ -17,9 +18,12 @@
import com.xiaopeng.maintenance.dto.HandleVehicleAccidentDto;
import com.xiaopeng.maintenance.dto.SaveRoutineDetailDto;
import com.xiaopeng.maintenance.dto.SaveVehicleAccidentDto;
import com.xiaopeng.maintenance.job.AccidentTaskQuartzScheduler;
import com.xiaopeng.maintenance.mapper.XpTaskRuleMapper;
import com.xiaopeng.maintenance.model.query.TaskPageListQuery;
import com.xiaopeng.maintenance.model.query.XpTaskRecordPageQuery;
import com.xiaopeng.maintenance.model.vo.*;
import com.xiaopeng.maintenance.schedule.InsuranceInspectionScheduleTask;
import com.xiaopeng.maintenance.service.IXpErrorTypeService;
import com.xiaopeng.maintenance.service.XpTaskService;
import com.xiaopeng.maintenance.vo.TaskCleanDetailVO;
@@ -30,6 +34,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
import org.apache.shardingsphere.transaction.core.TransactionType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
import org.springframework.data.mongodb.core.query.Criteria;
@@ -65,6 +70,14 @@
    private XpFleetOperationsClient xpFleetOperationsClient;
    @Resource
    private XpVehicleClient xpVehicleClient;
    @Autowired
    private InsuranceInspectionScheduleTask insuranceInspectionScheduleTask;
    @Resource
    private XpTaskRuleMapper xpTaskRuleMapper;
    @Resource
    private AccidentTaskQuartzScheduler accidentTaskQuartzScheduler;
    @ApiOperation(value = "事故类型列表", response = XpErrorType.class, tags = "运维APP-任务中心")
    @GetMapping("/api/v1/task/errorTypeList")
@@ -131,7 +144,15 @@
    public R saveVehicleAccident(@RequestBody SaveVehicleAccidentDto dto) {
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        XpOperationsUser xpOperationsUser = loginOperationUser.getXpOperationsUser();
        xpTaskService.saveVehicleAccident(dto, xpOperationsUser);
        XpTask task = xpTaskService.saveVehicleAccident(dto, xpOperationsUser);
        try {
            XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null);
            Integer processingTimeLimit = taskRule == null ? null : taskRule.getProcessingTimeLimit();
            accidentTaskQuartzScheduler.scheduleAccidentTimeoutJobs(task.getId(), task.getEndTime(), processingTimeLimit);
        } catch (Exception e) {
            log.error("事故任务Quartz调度失败,taskId={}", task == null ? null : task.getId(), e);
        }
        return R.ok();
    }
@@ -235,7 +256,12 @@
        XpTask xpTask = xpTaskService.queryInfoByVehicleId(vehicleId);
        return R.ok(xpTask);
    }
    @ApiOperation(value = "执行保险年检检测定时任务", tags = {"定时任务"})
    @GetMapping("/base/task/insurance/execute")
    public R<?> executeInsuranceTask() {
        insuranceInspectionScheduleTask.executeInsuranceInspectionTask();
        return R.ok();
    }
}