package cn.gistack.job.executor.jobhandler;
|
|
import cn.gistack.resource.feign.IOssClient;
|
import cn.gistack.sm.dayReportFlood.entity.DayReportFlood;
|
import cn.gistack.sm.dayReportFlood.feign.IDayReportFloodClient;
|
import cn.gistack.sm.sjztmd.feign.ISjztMdClient;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.xxl.job.core.log.XxlJobLogger;
|
import org.springblade.core.tool.utils.DateUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.core.io.InputStreamResource;
|
import org.springframework.stereotype.Component;
|
|
import java.io.InputStream;
|
import java.net.URLEncoder;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
/**
|
* 每日报汛定时器
|
*/
|
@Component
|
public class DayReportFloodJob {
|
@Autowired
|
private ISjztMdClient sjztMdClient;
|
|
@Autowired
|
private IOssClient ossClient;
|
|
@Autowired
|
private IDayReportFloodClient dayReportFloodClient;
|
|
/**
|
* 获取每日报汛内容
|
* @param param
|
* @return
|
*/
|
@XxlJob("saveYesterdayFloodReportContent")
|
public ReturnT<String> saveYesterdayFloodReportContent(String param) {
|
XxlJobLogger.log("任务开始");
|
XxlJobLogger.log("定时器执行时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
|
XxlJobLogger.log("参数:" + param);
|
JSONObject jsonParam = JSON.parseObject(param);
|
String isShow = "";
|
if (jsonParam != null) {
|
isShow = jsonParam.getString("isShow");
|
} else {
|
isShow = "";
|
}
|
try {
|
sjztMdClient.saveYesterdayFloodReportContent(isShow);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
|
XxlJobLogger.log("定时器执行结束时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
|
XxlJobLogger.log("结束任务...");
|
return ReturnT.SUCCESS;
|
}
|
|
/**
|
* 每日报汛定时器
|
*
|
* @param param
|
* @return
|
* @throws Exception
|
*/
|
@XxlJob("generateDayReportFloodHandle")
|
public ReturnT<String> predictNkyDataJobHandler(String param) {
|
XxlJobLogger.log("任务开始");
|
XxlJobLogger.log("定时器执行时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
|
XxlJobLogger.log("参数:" + param);
|
JSONObject jsonParam = JSON.parseObject(param);
|
String isShow = "";
|
if (jsonParam != null) {
|
isShow = jsonParam.getString("isShow");
|
} else {
|
isShow = "";
|
}
|
|
|
try {
|
//获取流
|
String filePath= sjztMdClient.generateDayReportFlood(isShow);
|
String time = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
|
|
XxlJobLogger.log("地址:" + filePath);
|
//保存进库中
|
DayReportFlood saveEntity = new DayReportFlood();
|
saveEntity.setTitle(time + "全省水库防汛情况");
|
saveEntity.setContent(time + "全省水库防汛情况");
|
saveEntity.setSource("系统生成");
|
saveEntity.setUrls(filePath);
|
|
boolean save = dayReportFloodClient.save(saveEntity);
|
if (save) {
|
XxlJobLogger.log("保存成功");
|
} else {
|
XxlJobLogger.log("保存失败");
|
}
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
XxlJobLogger.log("定时器执行结束时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
|
XxlJobLogger.log("结束任务...");
|
return ReturnT.SUCCESS;
|
}
|
}
|