| | |
| | | package org.springblade.mdm.task; |
| | | |
| | | import org.springblade.core.tool.utils.FileUtil; |
| | | import org.springblade.mdm.basesetting.machine.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.gkw.programnode.entity.MachineFile; |
| | | import org.springblade.mdm.gkw.programnode.service.MachineFileService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.mdm.basesetting.machine.service.MachineService; |
| | | import org.springblade.mdm.commons.service.ParamService; |
| | | import org.springblade.mdm.machinefile.service.MachineFileScanService; |
| | | import org.springblade.mdm.machinefile.service.MachineFileService; |
| | | import org.springblade.mdm.program.service.ProgramAnnotationService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import java.io.IOException; |
| | | |
| | | import java.io.File; |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | | @Component |
| | | @EnableScheduling |
| | | public class MachineFileScanTask { |
| | |
| | | private MachineFileService machineFileService; |
| | | @Autowired |
| | | private MachineService machineService; |
| | | @Autowired |
| | | private ParamService paramService; |
| | | @Autowired |
| | | private ProgramAnnotationService programAnnotationService; |
| | | @Autowired |
| | | private MachineFileScanService machineFileScanService; |
| | | // 每5秒执行一次 |
| | | @Scheduled(fixedRate = 1000000) |
| | | //@Scheduled(fixedRate = 1000000) |
| | | //@Scheduled(cron = "0 1 0 * * ?") // 每天上午0点1分执行 |
| | | public void executeEvery5Seconds() { |
| | | System.out.println("定时任务执行: " + System.currentTimeMillis()); |
| | | } |
| | | //@Scheduled(cron = "0 */5 * * * ?") |
| | | //@Scheduled(cron = "0 15 19 * * ?") //test |
| | | @Scheduled(cron = "${task.cron.machine_file_scan:0 1 * * * ?}") |
| | | public void execute() { |
| | | String networkType = paramService.getParamValue(ParamService.NETWORK_TYPE,ParamService.NETWORK_TYPE_SHEMI); |
| | | |
| | | |
| | | public void scanMachineFile() { |
| | | List<Machine> machines = machineService.lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list(); |
| | | for (Machine machine : machines) { |
| | | |
| | | if(!ParamService.NETWORK_TYPE_SHEMI.equals(networkType)){ |
| | | //非涉密网,才扫描目录文件 |
| | | machineFileScanService.scanMachineFile(); |
| | | } |
| | | |
| | | } |
| | | |
| | | void scanReceiveDir(Machine machine){ |
| | | List<File> files = FileUtil.list(machine.getProgReceiveDir()); |
| | | |
| | | |
| | | for(File f : files){ |
| | | MachineFile mf = new MachineFile(); |
| | | mf.setName(f.getName()); |
| | | mf.setDirType(MachineFile.DIR_TYPE_REC); |
| | | } |
| | | } |
| | | } |