reactor:2.5.0
1. job看板新增停止 取消状态的数量 2. 修复场景和通知组筛选框异常 3. 修复job统计表没有更新调度成功数
This commit is contained in:
parent
5b985a0231
commit
2bafc083a5
@ -52,6 +52,10 @@ public class DashboardCardResponseDO {
|
||||
private Integer successNum;
|
||||
//失败
|
||||
private Integer failNum;
|
||||
//取消
|
||||
private Integer cancelNum;
|
||||
//停止
|
||||
private Integer stopNum;
|
||||
// 总数
|
||||
private Integer totalNum;
|
||||
// 成功率
|
||||
|
@ -39,7 +39,13 @@
|
||||
)
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
job_id = values(`job_id`), trigger_at = values(`trigger_at`)
|
||||
success_num = values(`success_num`),
|
||||
fail_num = values(`fail_num`),
|
||||
fail_reason = values(`fail_reason`),
|
||||
stop_num = values(`stop_num`),
|
||||
stop_reason = values(`stop_reason`),
|
||||
cancel_num = values(`cancel_num`),
|
||||
cancel_reason = values(`cancel_reason`)
|
||||
</insert>
|
||||
|
||||
<select id="jobLineList"
|
||||
@ -82,7 +88,9 @@
|
||||
<select id="toJobTask"
|
||||
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$JobTask">
|
||||
SELECT ifnull(sum(success_num), 0) AS successNum,
|
||||
ifnull(sum(fail_num + stop_num + cancel_num), 0) AS failNum,
|
||||
ifnull(sum(stop_num), 0) AS stopNum,
|
||||
ifnull(sum(cancel_num), 0) AS cancelNum,
|
||||
ifnull(sum(fail_num), 0) AS failNum,
|
||||
ifnull(sum(success_num + fail_num + stop_num + cancel_num), 0) AS totalNum
|
||||
FROM job_summary
|
||||
WHERE namespace_id = #{namespaceId}
|
||||
@ -92,7 +100,7 @@
|
||||
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Rank">
|
||||
SELECT
|
||||
CONCAT(group_name, '/', (SELECT job_name FROM job WHERE id=job_id)) `name`,
|
||||
SUM(success_num + fail_num + stop_num + cancel_num) AS total FROM job_summary
|
||||
SUM(fail_num) AS total FROM job_summary
|
||||
<where>
|
||||
<if test="groupName != '' and groupName != null">
|
||||
AND group_name = #{groupName}
|
||||
|
@ -26,7 +26,7 @@ import java.util.stream.Collectors;
|
||||
*
|
||||
* @author: wodeyangzipingpingwuqi
|
||||
* @date : 2023-11-21 11:15
|
||||
* @since 2.1.0
|
||||
* @since 2.5.0
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@ -69,7 +69,7 @@ public class JobSummarySchedule extends AbstractSchedule implements Lifecycle {
|
||||
|
||||
// insertOrUpdate
|
||||
List<JobSummary> jobSummaryList = jobSummaryList(todayFrom, summaryResponseDOList);
|
||||
int totalJobSummary = jobSummaryMapper.insertOrUpdate(jobSummaryList);
|
||||
int totalJobSummary = jobSummaryMapper.insertOrUpdate(jobSummaryList);
|
||||
LogUtils.debug(log, "job summary dashboard success todayFrom:[{}] todayTo:[{}] total:[{}]", todayFrom, todayTo, totalJobSummary);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
@ -66,6 +66,10 @@ public class DashboardCardResponseVO {
|
||||
private Integer successNum;
|
||||
//失败
|
||||
private Integer failNum;
|
||||
//取消
|
||||
private Integer cancelNum;
|
||||
//停止
|
||||
private Integer stopNum;
|
||||
// 总数
|
||||
private Integer totalNum;
|
||||
// 成功率
|
||||
|
@ -35,6 +35,6 @@ public interface JobSummaryResponseVOConverter {
|
||||
if (Objects.isNull(totalNum) || totalNum == 0) {
|
||||
return null;
|
||||
}
|
||||
return new BigDecimal(successNum + "").divide(new BigDecimal(totalNum + ""), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
|
||||
return new BigDecimal(String.valueOf(successNum)).divide(new BigDecimal(String.valueOf(totalNum)), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import com.aizuda.easy.retry.server.web.service.DashBoardService;
|
||||
import com.aizuda.easy.retry.server.web.service.convert.*;
|
||||
import com.aizuda.easy.retry.server.web.util.UserSessionUtils;
|
||||
import com.aizuda.easy.retry.template.datasource.persistence.dataobject.ActivePodQuantityResponseDO;
|
||||
import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO;
|
||||
import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO;
|
||||
import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardLineResponseDO;
|
||||
import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobSummaryMapper;
|
||||
|
@ -5,6 +5,8 @@ export default {
|
||||
'dashboard.analysis.day-sales': '日均任务',
|
||||
'dashboard.analysis.job_success': '成功',
|
||||
'dashboard.analysis.job_fail': '失败',
|
||||
'dashboard.analysis.job_stop': '停止',
|
||||
'dashboard.analysis.job_cancel': '取消',
|
||||
'dashboard.analysis.visits': '定时任务',
|
||||
'dashboard.analysis.visits-trend': '访问量趋势',
|
||||
'dashboard.analysis.visits-ranking': '门店访问量排名',
|
||||
|
@ -47,6 +47,12 @@
|
||||
<a-divider type="vertical" />
|
||||
{{ $t('dashboard.analysis.job_fail') }}
|
||||
<span>{{ jobTask.failNum }}</span>
|
||||
<a-divider type="vertical" />
|
||||
{{ $t('dashboard.analysis.job_stop') }}
|
||||
<span>{{ jobTask.stopNum }}</span>
|
||||
<a-divider type="vertical" />
|
||||
{{ $t('dashboard.analysis.job_cancel') }}
|
||||
<span>{{ jobTask.cancelNum }}</span>
|
||||
</template>
|
||||
</chart-card>
|
||||
</a-col>
|
||||
@ -153,6 +159,8 @@ export default {
|
||||
successRate: 0,
|
||||
successNum: 0,
|
||||
failNum: 0,
|
||||
cancelNum: 0,
|
||||
stopNum: 0,
|
||||
totalNum: 0
|
||||
},
|
||||
onLineService: {
|
||||
|
@ -5,7 +5,7 @@
|
||||
<g2-job-line ref="jobViewChart" name="G2JobLine" />
|
||||
</a-col>
|
||||
<a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
|
||||
<rank-list :title="$t('dashboard.analysis.sales-ranking')" :list="rankList" />
|
||||
<rank-list title="失败任务排名" :list="rankList" />
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" type="flex" :style="{ marginTop: '24px' }">
|
||||
|
@ -208,9 +208,13 @@ export default {
|
||||
this.$router.push({ path: '/retry/notify/config', query: { id: record.id } })
|
||||
},
|
||||
handleChange (value) {
|
||||
getSceneList({ groupName: value }).then((res) => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
if (value) {
|
||||
getSceneList({ groupName: value }).then((res) => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
} else {
|
||||
this.sceneList = []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -263,9 +263,13 @@ export default {
|
||||
this.$refs.table.refresh(true)
|
||||
},
|
||||
handleChange (value) {
|
||||
getSceneList({ 'groupName': value }).then(res => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
if (value) {
|
||||
getSceneList({ groupName: value }).then((res) => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
} else {
|
||||
this.sceneList = []
|
||||
}
|
||||
},
|
||||
toggleAdvanced () {
|
||||
this.advanced = !this.advanced
|
||||
|
@ -230,9 +230,13 @@ export default {
|
||||
this.$router.push({ path: '/retry/scene/config', query: { id: record.id } })
|
||||
},
|
||||
handleChange (value) {
|
||||
getSceneList({ groupName: value }).then((res) => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
if (value) {
|
||||
getSceneList({ groupName: value }).then((res) => {
|
||||
this.sceneList = res.data
|
||||
})
|
||||
} else {
|
||||
this.sceneList = []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user