package com.nokia.finance.tasks.service; import com.nokia.finance.tasks.common.R; import com.nokia.finance.tasks.jobs.car.CarReportJob; import com.nokia.finance.tasks.jobs.car.chengben.CarBaoXianJob; import com.nokia.finance.tasks.jobs.car.chengben.CarDaWeiXiuJob; import com.nokia.finance.tasks.jobs.car.chengben.CarFuWuFeiJob; import com.nokia.finance.tasks.jobs.car.chengben.CarLuQiaoJob; import com.nokia.finance.tasks.jobs.car.chengben.CarNianJianFeiJob; import com.nokia.finance.tasks.jobs.car.chengben.CarQiTaJob; import com.nokia.finance.tasks.jobs.car.chengben.CarRanYouJob; import com.nokia.finance.tasks.jobs.car.chengben.CarSiCheGongYongJob; import com.nokia.finance.tasks.jobs.car.chengben.CarWeiXiuJob; import com.nokia.finance.tasks.jobs.car.cxdp.CarCxdpJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarBaoFeiJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarBaseDataDayJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarLiChengDayJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarLiChengMonthJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarWuDanYongCheJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarYongCheJob; import com.nokia.finance.tasks.jobs.car.ruixing.CarYueJieJob; import com.nokia.finance.tasks.jobs.car.shujucangku.CarFeeBsJob; import com.nokia.finance.tasks.jobs.car.shujucangku.CarFeeHbJob; import com.nokia.finance.tasks.jobs.car.strategy.CarHighFuelConsumptionJob; import com.nokia.finance.tasks.jobs.car.strategy.CarHighRepairJob; import com.nokia.finance.tasks.jobs.car.strategy.CarInefficiencyPercentJob; import com.nokia.finance.tasks.jobs.car.strategy.CarInefficiencyQxJob; import com.nokia.finance.tasks.jobs.car.strategy.CarRentalRepairJob; import com.nokia.finance.tasks.jobs.car.strategy.CarViolationUnprocessedJob; import com.nokia.finance.tasks.jobs.car.strategy.CarWdyjJob; import com.nokia.finance.tasks.jobs.house.HouseReportJob; import com.nokia.finance.tasks.jobs.house.chengben.HouseBuildingRepairMonthJob; import com.nokia.finance.tasks.jobs.house.chengben.HouseRentInRepairMonthJob; import com.nokia.finance.tasks.jobs.house.fcdp.HouseBuildingAreaStatJob; import com.nokia.finance.tasks.jobs.house.fcdp.HouseBuildingLandCountJob; import com.nokia.finance.tasks.jobs.house.fcdp.HouseRentalIncomeJob; import com.nokia.finance.tasks.jobs.house.strategy.HouseBuildingIdleStrategyJob; import com.nokia.finance.tasks.pojo.dto.RunJobDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @Slf4j @RequiredArgsConstructor @Service public class JobService { private final CarBaseDataDayJob carBaseDataDayJob; private final CarYueJieJob carYueJieJob; private final CarBaoFeiJob carBaoFeiJob; private final CarLiChengMonthJob carLiChengMonthJob; private final CarWuDanYongCheJob carWuDanYongCheJob; private final CarYongCheJob carYongCheJob; private final CarRanYouJob carRanYouJob; private final CarDaWeiXiuJob carDaWeiXiuJob; private final CarWeiXiuJob carWeiXiuJob; private final CarLuQiaoJob carLuQiaoJob; private final CarBaoXianJob carBaoXianJob; private final CarNianJianFeiJob carNianJianFeiJob; private final CarQiTaJob carQiTaJob; private final CarFeeHbJob carFeeHbJob; private final CarFeeBsJob carFeeBsJob; private final HouseBuildingRepairMonthJob houseBuildingRepairMonthJob; private final CarLiChengDayJob carLiChengDayJob; private final CarSiCheGongYongJob carSiCheGongYongJob; private final CarFuWuFeiJob carFuWuFeiJob; private final HouseRentInRepairMonthJob houseRentInRepairMonthJob; private final CarReportJob carReportJob; private final HouseReportJob houseReportJob; private final CarCxdpJob carCxdpJob; private final CarHighFuelConsumptionJob carHighFuelConsumptionJob; private final CarHighRepairJob carHighRepairJob; private final CarInefficiencyPercentJob carInefficiencyPercentJob; private final CarInefficiencyQxJob carInefficiencyQxJob; private final CarRentalRepairJob carRentalRepairJob; private final CarViolationUnprocessedJob carViolationUnprocessedJob; private final CarWdyjJob carWdyjJob; private final HouseBuildingIdleStrategyJob houseBuildingIdleStrategyJob; private final HouseBuildingAreaStatJob houseBuildingAreaStatJob; private final HouseBuildingLandCountJob houseBuildingLandCountJob; private final HouseRentalIncomeJob houseRentalIncomeJob; public R runJob(RunJobDto dto) { switch (dto.getJobName()) { case CAR_BASE_DATA_DAY_JOB -> carBaseDataDayJob.runJob(); case CAR_YUE_JIE_JOB -> carYueJieJob.runJob(); case CAR_BAO_FEI_JOB -> carBaoFeiJob.runJob(); case CAR_LI_CHENG_MONTH_JOB -> carLiChengMonthJob.runJob(); case CAR_WU_DAN_YONG_CHE_JOB -> carWuDanYongCheJob.runJob(); case CAR_YONG_CHE_JOB -> carYongCheJob.runJob(); case CAR_RAN_YOU_JOB -> carRanYouJob.runJob(); case CAR_DA_WEI_XIU_JOB -> carDaWeiXiuJob.runJob(); case CAR_WEI_XIU_JOB -> carWeiXiuJob.runJob(); case CAR_LU_QIAO_JOB -> carLuQiaoJob.runJob(); case CAR_BAO_XIAN_JOB -> carBaoXianJob.runJob(); case CAR_NIAN_JIAN_FEI_JOB -> carNianJianFeiJob.runJob(); case CAR_QI_TA_JOB -> carQiTaJob.runJob(); case CAR_FEE_HB_JOB -> carFeeHbJob.runJob(); case CAR_FEE_BS_JOB -> carFeeBsJob.runJob(); case HOUSE_BUILDING_REPAIR_MONTH_JOB -> houseBuildingRepairMonthJob.runJob(); case CAR_LI_CHENG_DAY_JOB -> carLiChengDayJob.runJob(); case CAR_SI_CHE_GONG_YONG_JOB -> carSiCheGongYongJob.runJob(); case CAR_FU_WU_FEI_JOB -> carFuWuFeiJob.runJob(); case HOUSE_RENT_IN_REPAIR_MONTH_JOB -> houseRentInRepairMonthJob.runJob(); case CAR_REPORT_JOB -> carReportJob.runJob(); case HOUSE_REPORT_JOB -> houseReportJob.runJob(); case CAR_CXDP_JOB -> carCxdpJob.runJob(); case CAR_HIGH_FUEL_CONSUMPTION_JOB -> carHighFuelConsumptionJob.runJob(); case CAR_HIGH_REPAIR_JOB -> carHighRepairJob.runJob(); case CAR_INEFFICIENCY_PERCENT_JOB -> carInefficiencyPercentJob.runJob(); case CAR_INEFFICIENCY_QX_JOB -> carInefficiencyQxJob.runJob(); case CAR_RENTAL_REPAIR_JOB -> carRentalRepairJob.runJob(); case CAR_VIOLATION_UNPROCESSED_JOB -> carViolationUnprocessedJob.runJob(); case CAR_WDYJ_JOB -> carWdyjJob.runJob(); case HOUSE_BUILDING_IDLE_STRATEGY_JOB -> houseBuildingIdleStrategyJob.runJob(); case HOUSE_BUILDING_AREA_STAT_JOB -> houseBuildingAreaStatJob.runJob(); case HOUSE_BUILDING_LAND_COUNT_JOB -> houseBuildingLandCountJob.runJob(); case HOUSE_RENTAL_INCOME_JOB -> houseRentalIncomeJob.runJob(); } return R.ok(); } }