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