|
@@ -57,9 +57,9 @@ public class SceneCallCountHandler {
|
|
|
public static final String DINGTALK_MSG_PATTERN =
|
|
|
"**日期**: %s\n\n" +
|
|
|
"**环境**: %s\n\n" +
|
|
|
- "v4场景总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n" +
|
|
|
"%s" +
|
|
|
- "**错误日志**: %s";
|
|
|
+ "%s" +
|
|
|
+ "**错误日志**: \n\n%s";
|
|
|
|
|
|
@XxlJob("sceneCallCountHandler")
|
|
|
public void sceneCallCountHandler() throws Exception {
|
|
@@ -71,17 +71,86 @@ public class SceneCallCountHandler {
|
|
|
Date dateEnd = DateExtUtil.endOfDay(time);
|
|
|
|
|
|
//v4场景
|
|
|
- AtomicInteger v4Count = new AtomicInteger(); int v4success = 0; AtomicInteger v4Fail = new AtomicInteger(); int v4Waiting = 0;
|
|
|
- List<ScenePlus> scenePluses = scenePlusService.list(new LambdaQueryWrapper<ScenePlus>().ge(ScenePlus::getCreateTime, dateStart).le(ScenePlus::getCreateTime, dateEnd));
|
|
|
+// AtomicInteger v4Count = new AtomicInteger(0);
|
|
|
+// AtomicInteger v4Fail = new AtomicInteger(0);
|
|
|
+ int v4Count = 0,v4success = 0,v4Fail = 0,v4Waiting = 0;//总数
|
|
|
+ int v4CountKK = 0,v4successKK = 0,v4FailKK = 0,v4WaitingKK = 0;//看看
|
|
|
+ int v4CountKJ = 0,v4successKJ = 0,v4FailKJ = 0,v4WaitingKJ = 0;//看见
|
|
|
+ int v4CountSS = 0,v4successSS = 0,v4FailSS = 0,v4WaitingSS = 0;//深时
|
|
|
+ int v4CountSG = 0,v4successSG = 0,v4FailSG = 0,v4WaitingSG = 0;//深光
|
|
|
+ List<ScenePlus> scenePluses = scenePlusService.list(new LambdaQueryWrapper<ScenePlus>().ge(ScenePlus::getCreateTime, dateStart).le(ScenePlus::getCreateTime, dateEnd).isNotNull(ScenePlus::getCameraId));
|
|
|
|
|
|
List<String> numList = new ArrayList<>();
|
|
|
if(CollUtil.isNotEmpty(scenePluses)){
|
|
|
- v4Count.set(scenePluses.size());
|
|
|
+ //汇总信息
|
|
|
+ v4Count = scenePluses.size();
|
|
|
v4success = (int) scenePluses.stream().filter(plus -> plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2).count();
|
|
|
- v4Fail.set((int) scenePluses.stream().filter(plus -> plus.getSceneStatus() == -1).count());
|
|
|
+ v4Fail = ((int) scenePluses.stream().filter(plus -> plus.getSceneStatus() == -1).count());
|
|
|
v4Waiting = (int)scenePluses.stream().filter(plus -> plus.getSceneStatus() == 0).count();
|
|
|
- numList = scenePluses.stream().map(scenePlus -> scenePlus.getNum()).collect(Collectors.toList());
|
|
|
+ numList = scenePluses.stream().filter(plus -> plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2).map(scenePlus -> scenePlus.getNum()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //细分信息
|
|
|
+ for (ScenePlus plus : scenePluses) {
|
|
|
+ switch (plus.getSceneSource()){
|
|
|
+ case 1 : //看看
|
|
|
+ v4CountKK++;
|
|
|
+ if(plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2){
|
|
|
+ v4successKK++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == -1 || plus.getSceneStatus() == 500){
|
|
|
+ v4FailKK++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == 0){
|
|
|
+ v4WaitingKK++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3 : //看见
|
|
|
+ v4CountKJ++;
|
|
|
+ if(plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2){
|
|
|
+ v4successKJ++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == -1 || plus.getSceneStatus() == 500){
|
|
|
+ v4FailKJ++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == 0){
|
|
|
+ v4WaitingKJ++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4 : //看看
|
|
|
+ v4CountSS++;
|
|
|
+ if(plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2){
|
|
|
+ v4successSS++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == -1 || plus.getSceneStatus() == 500){
|
|
|
+ v4FailSS++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == 0){
|
|
|
+ v4WaitingSS++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5 : //看看
|
|
|
+ v4CountSG++;
|
|
|
+ if(plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2){
|
|
|
+ v4successSG++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == -1 || plus.getSceneStatus() == 500){
|
|
|
+ v4FailSG++;
|
|
|
+ }
|
|
|
+ if(plus.getSceneStatus() == 0){
|
|
|
+ v4WaitingSG++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+// if(CollUtil.isNotEmpty(scenePluses)){
|
|
|
+// v4Count.set(scenePluses.size());
|
|
|
+// v4success = (int) scenePluses.stream().filter(plus -> plus.getSceneStatus() == 1 || plus.getSceneStatus() == -2).count();
|
|
|
+// v4Fail.set((int) scenePluses.stream().filter(plus -> plus.getSceneStatus() == -1).count());
|
|
|
+// v4Waiting = (int)scenePluses.stream().filter(plus -> plus.getSceneStatus() == 0).count();
|
|
|
+// numList = scenePluses.stream().map(scenePlus -> scenePlus.getNum()).collect(Collectors.toList());
|
|
|
+// }
|
|
|
//查询错误日志
|
|
|
StringBuilder errorMsg = new StringBuilder();
|
|
|
List<SceneBuildProcessLog> logList = sceneBuildProcessLogService.list(
|
|
@@ -89,35 +158,75 @@ public class SceneCallCountHandler {
|
|
|
.eq(SceneBuildProcessLog::getState, CommonOperStatus.FAILD.code())
|
|
|
.ge(SceneBuildProcessLog::getUpdateTime, dateStart).le(SceneBuildProcessLog::getUpdateTime, dateEnd));
|
|
|
if(CollUtil.isNotEmpty(logList)){
|
|
|
- errorMsg.append("\n\n");
|
|
|
- List<String> finalNumList = numList;
|
|
|
- logList.stream().forEach(item->{
|
|
|
- if(!finalNumList.contains(item.getNum())){
|
|
|
- v4Count.incrementAndGet();
|
|
|
- v4Fail.incrementAndGet();
|
|
|
+ for (SceneBuildProcessLog item : logList) {
|
|
|
+// if(!numList.contains(item.getNum())){
|
|
|
+// v4Count++;
|
|
|
+// v4Fail++;
|
|
|
+// }
|
|
|
+ if(!numList.contains(item.getNum())){
|
|
|
+ errorMsg.append(item.getNum()).append(":").append(SceneBuildProcessType.get(item.getProcess()).message()).append("出错\n\n");
|
|
|
}
|
|
|
- errorMsg.append(item.getNum()).append(":").append(SceneBuildProcessType.get(item.getProcess()).message()).append("出错\n\n");
|
|
|
- });
|
|
|
+ }
|
|
|
}
|
|
|
+ String v4Msg = String.format( "v4场景总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v4Count, v4success, v4Fail, v4Waiting)
|
|
|
+ .concat(String.format("\t看看总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v4CountKK, v4successKK, v4FailKK, v4WaitingKK))
|
|
|
+ .concat(String.format("\t看见总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v4CountKJ, v4successKJ, v4FailKJ, v4WaitingKJ))
|
|
|
+ .concat(String.format("\t深时总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v4CountSS, v4successSS, v4FailSS, v4WaitingSS))
|
|
|
+ .concat(String.format("\t深光总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v4CountSG, v4successSG, v4FailSG, v4WaitingSG));
|
|
|
|
|
|
//v3场景
|
|
|
String v3Msg = "";
|
|
|
StringBuilder v3ErrorMsg = new StringBuilder();
|
|
|
if(env.equals("gn")){
|
|
|
- int v3Count = 0; int v3success = 0; int v3Fail = 0; int v3Waiting = 0;
|
|
|
+ int v3Count = 0, v3success = 0, v3Fail = 0, v3Waiting = 0;
|
|
|
+ int v3CountKK = 0, v3successKK = 0, v3FailKK = 0, v3WaitingKK = 0;
|
|
|
+ int v3CountKJ = 0, v3successKJ = 0, v3FailKJ = 0, v3WaitingKJ = 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();
|
|
|
+
|
|
|
+ //细分信息
|
|
|
+ for (ScenePro pro : scenePros) {
|
|
|
+ switch (pro.getSceneSource()){
|
|
|
+ case 1 : //看看
|
|
|
+ v3CountKK++;
|
|
|
+ if(pro.getStatus() == 1 || pro.getStatus() == -2){
|
|
|
+ v3successKK++;
|
|
|
+ }
|
|
|
+ if(pro.getStatus() == -1 || pro.getStatus() == 500){
|
|
|
+ v3FailKK++;
|
|
|
+ }
|
|
|
+ if(pro.getStatus() == 0){
|
|
|
+ v3WaitingKK++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3 : //看见
|
|
|
+ v3CountKJ++;
|
|
|
+ if(pro.getStatus() == 1 || pro.getStatus() == -2){
|
|
|
+ v3successKJ++;
|
|
|
+ }
|
|
|
+ if(pro.getStatus() == -1 || pro.getStatus() == 500){
|
|
|
+ v3FailKJ++;
|
|
|
+ }
|
|
|
+ if(pro.getStatus() == 0){
|
|
|
+ v3WaitingKJ++;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
scenePros.stream().forEach(pro->{
|
|
|
if(pro.getStatus().equals(CommonOperStatus.FAILD.code())){
|
|
|
v3ErrorMsg.append(pro.getNum()).append(":").append("计算失败\n\n");
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- v3Msg = String.format("v3场景总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v3Count, v3success, v3Fail, v3Waiting);
|
|
|
+ v3Msg = String.format("v3场景总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v3Count, v3success, v3Fail, v3Waiting)
|
|
|
+ .concat(String.format("看看总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v3CountKK, v3successKK, v3FailKK, v3WaitingKK))
|
|
|
+ .concat(String.format("看看总数: %d, 成功: %d, 失败: %d, 计算中: %d\n\n", v3CountKJ, v3successKJ, v3FailKJ, v3WaitingKJ));
|
|
|
}
|
|
|
|
|
|
if(StrUtil.isNotBlank(v3ErrorMsg)){
|
|
@@ -137,7 +246,7 @@ public class SceneCallCountHandler {
|
|
|
String ddMsg = String.format(
|
|
|
DINGTALK_MSG_PATTERN, DateExtUtil.format(time, DateExtUtil.dateStyle4),
|
|
|
envName,
|
|
|
- v4Count.get(), v4success, v4Fail.get(), v4Waiting,
|
|
|
+ v4Msg,
|
|
|
v3Msg,
|
|
|
errorMsg);
|
|
|
|
|
@@ -153,4 +262,5 @@ public class SceneCallCountHandler {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
}
|