|
|
@@ -6,19 +6,26 @@ import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.fdkankan.common.util.DateExtUtil;
|
|
|
+import com.fdkankan.dingtalk.DingTalkSendUtils;
|
|
|
import com.fdkankan.fyun.oss.UploadToOssUtil;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
import com.fdkankan.task.entity.ScenePro;
|
|
|
import com.fdkankan.task.service.IScenePlusExtService;
|
|
|
import com.fdkankan.task.service.IScenePlusService;
|
|
|
import com.fdkankan.task.service.ISceneProService;
|
|
|
+import com.taobao.api.ApiException;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.security.InvalidKeyException;
|
|
|
+import java.security.NoSuchAlgorithmException;
|
|
|
import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
@@ -41,6 +48,8 @@ public class ScheduleJob {
|
|
|
private IScenePlusService scenePlusService;
|
|
|
@Autowired
|
|
|
private IScenePlusExtService scenePlusExtService;
|
|
|
+ @Autowired
|
|
|
+ private DingTalkSendUtils dingTalkSendUtils;
|
|
|
|
|
|
// @Scheduled(fixedDelay = 2*24*60*60*1000)
|
|
|
// public void deleteV3Dir(){
|
|
|
@@ -95,6 +104,41 @@ public class ScheduleJob {
|
|
|
//
|
|
|
// }
|
|
|
|
|
|
+ @Scheduled(cron = "0 30 9 * * ?")
|
|
|
+ public void sceneCallCount() throws Exception {
|
|
|
+ String DINGTALK_MSG_PATTERN =
|
|
|
+ "**日期**: %s\n\n" +
|
|
|
+ "**环境**: 汽车之家\n\n" +
|
|
|
+ "场景总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n" +
|
|
|
+ "**错误日志**: %s";
|
|
|
+
|
|
|
+ Date time = Calendar.getInstance().getTime();
|
|
|
+ time = DateUtil.offsetDay(time, -1);
|
|
|
+ Date dateStart = DateUtil.beginOfDay(time);
|
|
|
+ Date dateEnd = DateUtil.endOfDay(time);
|
|
|
+ StringBuilder v3ErrorMsg = new StringBuilder();
|
|
|
+ int v3Count = 0; int v3success = 0; int v3Fail = 0; int v3Waiting = 0;
|
|
|
+ List<ScenePro> scenePros = sceneProService.list(new LambdaQueryWrapper<ScenePro>().ge(ScenePro::getCreateTime, dateStart).le(ScenePro::getCreateTime, dateEnd));
|
|
|
+ if(CollUtil.isNotEmpty(scenePros)){
|
|
|
+ v3Count = scenePros.size();
|
|
|
+ v3success = (int) scenePros.stream().filter(plus -> plus.getStatus() == 1 || plus.getStatus() == -2).count();
|
|
|
+ v3Fail = (int)scenePros.stream().filter(plus -> plus.getStatus() == -1).count();
|
|
|
+ v3Waiting = (int)scenePros.stream().filter(plus -> plus.getStatus() == 0).count();
|
|
|
+ scenePros.stream().forEach(pro->{
|
|
|
+ if(pro.getStatus() == -1){
|
|
|
+ v3ErrorMsg.append(pro.getNum()).append(":").append("计算失败\n\n");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ String ddMsg = String.format(
|
|
|
+ DINGTALK_MSG_PATTERN, DateUtil.format(time, DateExtUtil.dateStyle4),
|
|
|
+ v3Count, v3success, v3Fail, v3Waiting,
|
|
|
+ v3ErrorMsg);
|
|
|
+
|
|
|
+ dingTalkSendUtils.sendActioncardMsgToDingRobot(ddMsg, "场景计算统计");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|