feat(3.2.0) fix: JobSummaryMapper.jobLineList日期格式化字符串,函数适配不同数据库
* fix: JobSummaryMapper.jobLineList日期格式化字符串,函数适配不同数据库 * feat: 对齐3.2.0 mysql版本DDL
This commit is contained in:
parent
7abbe4289c
commit
a7211b4691
@ -83,7 +83,7 @@
|
|||||||
COALESCE(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
COALESCE(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(trigger_at, #{dateFormat}) AS createDt,
|
TO_CHAR(trigger_at, #{dateFormat}) AS createDt,
|
||||||
success_num,
|
success_num,
|
||||||
fail_num,
|
fail_num,
|
||||||
stop_num,
|
stop_num,
|
||||||
@ -91,7 +91,7 @@
|
|||||||
FROM job_summary
|
FROM job_summary
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
)
|
)
|
||||||
GROUP BY DATE_FORMAT(trigger_at, #{dateFormat})
|
GROUP BY createDt
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="toJobTask"
|
<select id="toJobTask"
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<select id="jobLineList"
|
<select id="jobLineList"
|
||||||
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardLineResponseDO">
|
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardLineResponseDO">
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(trigger_at, #{dateFormat}) AS createDt,
|
TO_CHAR(trigger_at, #{dateFormat}) AS createDt,
|
||||||
COALESCE(SUM(success_num), 0) AS success,
|
COALESCE(SUM(success_num), 0) AS success,
|
||||||
COALESCE(SUM(fail_num), 0) AS failNum,
|
COALESCE(SUM(fail_num), 0) AS failNum,
|
||||||
COALESCE(SUM(stop_num), 0) AS stop,
|
COALESCE(SUM(stop_num), 0) AS stop,
|
||||||
@ -62,7 +62,7 @@
|
|||||||
COALESCE(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
COALESCE(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
||||||
FROM job_summary
|
FROM job_summary
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
GROUP BY DATE_FORMAT(trigger_at, #{dateFormat})
|
GROUP BY createDt
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="toJobTask"
|
<select id="toJobTask"
|
||||||
@ -85,7 +85,8 @@
|
|||||||
<if test="systemTaskType == 4">
|
<if test="systemTaskType == 4">
|
||||||
CONCAT(group_name, '/', (SELECT workflow_name FROM workflow WHERE id = business_id)) name,
|
CONCAT(group_name, '/', (SELECT workflow_name FROM workflow WHERE id = business_id)) name,
|
||||||
</if>
|
</if>
|
||||||
SUM(fail_num) AS total FROM job_summary
|
SUM(fail_num) AS total
|
||||||
|
FROM job_summary
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
HAVING SUM(fail_num) > 0
|
HAVING SUM(fail_num) > 0
|
||||||
ORDER BY total DESC LIMIT 10
|
ORDER BY total DESC LIMIT 10
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
ISNULL(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
ISNULL(SUM(success_num + fail_num + stop_num + cancel_num), 0) AS total
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(trigger_at, #{dateFormat}) AS createDt,
|
FORMAT(trigger_at, #{dateFormat}) AS createDt,
|
||||||
success_num,
|
success_num,
|
||||||
stop_num,
|
stop_num,
|
||||||
cancel_num,
|
cancel_num,
|
||||||
@ -79,7 +79,7 @@
|
|||||||
FROM job_summary
|
FROM job_summary
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
) AS subquery
|
) AS subquery
|
||||||
GROUP BY DATE_FORMAT(trigger_at, #{dateFormat})
|
GROUP BY createDt
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="toJobTask"
|
<select id="toJobTask"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.aizuda.easy.retry.server.common.enums;
|
package com.aizuda.easy.retry.server.common.enums;
|
||||||
|
|
||||||
|
import com.aizuda.easy.retry.template.datasource.enums.DbTypeEnum;
|
||||||
|
import com.aizuda.easy.retry.template.datasource.utils.DbUtils;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@ -13,15 +15,13 @@ import lombok.Getter;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
public enum DashboardLineEnum {
|
public enum DashboardLineEnum {
|
||||||
|
DAY("DAY"),
|
||||||
DAY("DAY", "%H"),
|
WEEK("WEEK"),
|
||||||
WEEK("WEEK", "%Y-%m-%d"),
|
MONTH("MONTH"),
|
||||||
MONTH("MONTH", "%Y-%m-%d"),
|
YEAR("YEAR"),
|
||||||
YEAR("YEAR", "%Y-%m"),
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String unit;
|
private final String unit;
|
||||||
private final String dateFormat;
|
|
||||||
|
|
||||||
public static DashboardLineEnum modeOf(String mode) {
|
public static DashboardLineEnum modeOf(String mode) {
|
||||||
for (DashboardLineEnum value : DashboardLineEnum.values()) {
|
for (DashboardLineEnum value : DashboardLineEnum.values()) {
|
||||||
@ -32,4 +32,35 @@ public enum DashboardLineEnum {
|
|||||||
|
|
||||||
return DashboardLineEnum.WEEK;
|
return DashboardLineEnum.WEEK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String dateFormat(String unit) {
|
||||||
|
DashboardLineEnum mode = modeOf(unit);
|
||||||
|
|
||||||
|
if (DbUtils.getDbType().equals(DbTypeEnum.MYSQL)) {
|
||||||
|
switch (mode) {
|
||||||
|
case YEAR: return "%Y-%m";
|
||||||
|
case DAY: return "%H";
|
||||||
|
default: return "%Y-%m-%d";
|
||||||
|
}
|
||||||
|
} else if (DbUtils.getDbType().equals(DbTypeEnum.MARIADB)) {
|
||||||
|
switch (mode) {
|
||||||
|
case YEAR: return "%Y-%m";
|
||||||
|
case DAY: return "%H";
|
||||||
|
default: return "%Y-%m-%d";
|
||||||
|
}
|
||||||
|
} else if (DbUtils.getDbType().equals(DbTypeEnum.SQLSERVER)) {
|
||||||
|
switch (mode) {
|
||||||
|
case YEAR: return "yyyy-MM";
|
||||||
|
case DAY: return "HH";
|
||||||
|
default: return "yyyy-MM-dd";
|
||||||
|
}
|
||||||
|
} else { // Oracle, Postgres
|
||||||
|
switch (mode) {
|
||||||
|
case YEAR: return "yyyy-MM";
|
||||||
|
case DAY: return "HH24";
|
||||||
|
default: return "yyyy-MM-dd";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -222,7 +222,7 @@ public class DashBoardServiceImpl implements DashBoardService {
|
|||||||
.eq(JobSummary::getSystemTaskType, systemTaskType)
|
.eq(JobSummary::getSystemTaskType, systemTaskType)
|
||||||
.eq(JobSummary::getNamespaceId, namespaceId)
|
.eq(JobSummary::getNamespaceId, namespaceId)
|
||||||
.between(JobSummary::getTriggerAt, startDateTime, endDateTime);
|
.between(JobSummary::getTriggerAt, startDateTime, endDateTime);
|
||||||
List<DashboardLineResponseDO> dashboardLineResponseDOList = jobSummaryMapper.jobLineList(DashboardLineEnum.modeOf(type).getDateFormat(), queryWrapper);
|
List<DashboardLineResponseDO> dashboardLineResponseDOList = jobSummaryMapper.jobLineList(DashboardLineEnum.dateFormat(type), queryWrapper);
|
||||||
List<DashboardLineResponseVO> dashboardLineResponseVOList = DispatchQuantityResponseVOConverter.INSTANCE.toDashboardLineResponseVO(dashboardLineResponseDOList);
|
List<DashboardLineResponseVO> dashboardLineResponseVOList = DispatchQuantityResponseVOConverter.INSTANCE.toDashboardLineResponseVO(dashboardLineResponseDOList);
|
||||||
dateTypeEnum.getConsumer().accept(dashboardLineResponseVOList);
|
dateTypeEnum.getConsumer().accept(dashboardLineResponseVOList);
|
||||||
dashboardLineResponseVOList.sort(Comparator.comparing(a -> a.getCreateDt()));
|
dashboardLineResponseVOList.sort(Comparator.comparing(a -> a.getCreateDt()));
|
||||||
@ -289,4 +289,5 @@ public class DashBoardServiceImpl implements DashBoardService {
|
|||||||
}
|
}
|
||||||
return new PageResult<>(serverNodePageDTO, serverNodeResponseVOS);
|
return new PageResult<>(serverNodePageDTO, serverNodeResponseVOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user