17 changed files with 176 additions and 1 deletions
@ -0,0 +1,31 @@ |
|||||
|
package org.dromara.sample.job; |
||||
|
|
||||
|
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; |
||||
|
import com.aizuda.snailjob.client.job.core.dto.JobArgs; |
||||
|
import com.aizuda.snailjob.client.job.core.executor.AbstractJobExecutor; |
||||
|
import com.aizuda.snailjob.client.model.ExecuteResult; |
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.Data; |
||||
|
import org.dromara.common.json.utils.JsonUtils; |
||||
|
import org.dromara.sample.wayline.service.IWaylineFileService; |
||||
|
import org.joda.time.DateTime; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* @auther wuyuan |
||||
|
* @data 2025/7/16 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class WaylineDeviceJobBo { |
||||
|
|
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
|
private Date startDate; |
||||
|
|
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
|
private Date endDate; |
||||
|
|
||||
|
} |
||||
|
|
||||
@ -0,0 +1,75 @@ |
|||||
|
package org.dromara.sample.job; |
||||
|
|
||||
|
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; |
||||
|
import com.aizuda.snailjob.client.job.core.dto.JobArgs; |
||||
|
import com.aizuda.snailjob.client.job.core.executor.AbstractJobExecutor; |
||||
|
import com.aizuda.snailjob.client.model.ExecuteResult; |
||||
|
import org.dromara.common.core.utils.file.MimeTypeUtils; |
||||
|
import org.dromara.common.json.utils.JsonUtils; |
||||
|
import org.dromara.common.oss.core.OssClient; |
||||
|
import org.dromara.common.oss.factory.OssFactory; |
||||
|
import org.dromara.sample.media.model.MediaFileEntity; |
||||
|
import org.dromara.sample.media.service.IFileService; |
||||
|
import org.dromara.sample.wayline.mapper.IWaylineFileMapper; |
||||
|
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; |
||||
|
import org.dromara.sample.wayline.model.entity.WaylineJobEntity; |
||||
|
import org.dromara.sample.wayline.service.IWaylineFileService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
import java.io.InputStream; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @auther wuyuan |
||||
|
* @data 2025/7/16 |
||||
|
*/ |
||||
|
@Component |
||||
|
public class WaylineDeviceJobExecutor { |
||||
|
|
||||
|
@Autowired |
||||
|
private IFileService fileService; |
||||
|
|
||||
|
@Autowired |
||||
|
private IWaylineFileService waylineFileService; |
||||
|
@JobExecutor(name = "mediaFileJob") |
||||
|
protected ExecuteResult doMediaFileJobJobExecute(JobArgs jobArgs) { |
||||
|
WaylineDeviceJobBo waylineDeviceJobBo = JsonUtils.parseObject(jobArgs.getJobParams().toString(), WaylineDeviceJobBo.class); |
||||
|
List<MediaFileEntity> mediaFileEntitys = fileService.getListBywaylineDeviceJobBo(waylineDeviceJobBo); |
||||
|
OssClient mediafile = OssFactory.instance("mediafile"); |
||||
|
OssClient mediafileNW = OssFactory.instance("mediafileNW"); |
||||
|
for (MediaFileEntity mediaFileEntity:mediaFileEntitys){ |
||||
|
String privateUrl = mediafile.getPrivateUrl(mediaFileEntity.getObjectKey(), 3600); |
||||
|
try { |
||||
|
InputStream inputStream = mediafile.getObjectContent(privateUrl); |
||||
|
mediafileNW.uploadSuffix(inputStream,mediaFileEntity.getObjectKey(), Long.getLong(String.valueOf(inputStream.available())), mediaFileEntity.getFileType()); |
||||
|
} catch (IOException e) { |
||||
|
throw new RuntimeException(e); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return ExecuteResult.success("TestJobExecutor测试成功"); |
||||
|
} |
||||
|
|
||||
|
@JobExecutor(name = "waylineFileJob") |
||||
|
protected ExecuteResult doWaylineFileJobExecute(JobArgs jobArgs) { |
||||
|
System.out.println("狗从-------------------------》"); |
||||
|
WaylineDeviceJobBo waylineDeviceJobBo = JsonUtils.parseObject(jobArgs.getJobParams().toString(), WaylineDeviceJobBo.class); |
||||
|
List<WaylineFileEntity> waylineFileEntities = waylineFileService.getListBywaylineDeviceJobBo(waylineDeviceJobBo); |
||||
|
OssClient waylinefile = OssFactory.instance("waylinefile"); |
||||
|
OssClient waylinefileNW = OssFactory.instance("waylinefileNW"); |
||||
|
for (WaylineFileEntity waylineFileEntity:waylineFileEntities){ |
||||
|
String privateUrl = waylinefile.getPrivateUrl(waylineFileEntity.getObjectKey(), 3600); |
||||
|
try { |
||||
|
InputStream inputStream = waylinefile.getObjectContent(privateUrl); |
||||
|
waylinefileNW.uploadSuffix(inputStream,waylineFileEntity.getObjectKey(), Long.getLong(String.valueOf(inputStream.available())), "kmz"); |
||||
|
} catch (IOException e) { |
||||
|
throw new RuntimeException(e); |
||||
|
} |
||||
|
} |
||||
|
System.out.println("狗从============》"); |
||||
|
return ExecuteResult.success("TestJobExecutor测试成功"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
Loading…
Reference in new issue