refactor: 将groupby分页mapperid提取到template包, 并全局自定义countId
This commit is contained in:
parent
fe32c2fa77
commit
229f1b8991
@ -2,11 +2,10 @@ package com.aizuda.snailjob.template.datasource.persistence.mapper;
|
||||
|
||||
import com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardCardResponseDO;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardLineResponseDO;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.po.Job;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.po.JobSummary;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO.Rank;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO.Task;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardLineResponseDO;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.po.Job;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.po.JobSummary;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -28,16 +27,20 @@ public interface JobSummaryMapper extends BaseMapper<JobSummary> {
|
||||
|
||||
int batchUpdate(@Param("list") List<JobSummary> list);
|
||||
|
||||
|
||||
IPage<Task> jobTaskList(@Param("ew") Wrapper<Job> wrapper, Page<Object> page);
|
||||
|
||||
// jobTaskList 自定义 countStatement
|
||||
long jobTaskListCount(@Param("ew") Wrapper<Job> wrapper);
|
||||
|
||||
IPage<Task> workflowTaskList(@Param("ew") Wrapper<Job> wrapper, Page<Object> page);
|
||||
|
||||
// workflowTaskList 自定义 countStatement
|
||||
long workflowTaskListCount(@Param("ew") Wrapper<Job> wrapper);
|
||||
|
||||
List<DashboardLineResponseDO> jobLineList(@Param("dateFormat") String dateFormat, @Param("ew") Wrapper<JobSummary> wrapper);
|
||||
|
||||
List<Rank> dashboardRank(@Param("systemTaskType") Integer systemTaskType, @Param("ew") Wrapper<JobSummary> wrapper);
|
||||
|
||||
DashboardCardResponseDO.JobTask toJobTask(@Param("ew") Wrapper<JobSummary> wrapper);
|
||||
|
||||
long countJobTask(@Param("ew") Wrapper<Job> wrapper);
|
||||
}
|
||||
|
@ -32,9 +32,10 @@ public interface RetrySummaryMapper extends BaseMapper<RetrySummary> {
|
||||
|
||||
IPage<DashboardRetryLineResponseDO.Task> retryTaskList(@Param("ew") Wrapper<RetrySceneConfig> wrapper, Page<Object> page);
|
||||
|
||||
long retryTaskListCount(@Param("ew") Wrapper<RetrySceneConfig> wrapper);
|
||||
|
||||
List<DashboardLineResponseDO> retryLineList(@Param("dateFormat") String dateFormat, @Param("ew") Wrapper<RetrySummary> wrapper);
|
||||
|
||||
List<DashboardRetryLineResponseDO.Rank> dashboardRank(@Param("ew") Wrapper<RetrySummary> wrapper);
|
||||
|
||||
long countRetryTask(@Param("ew") Wrapper<RetrySceneConfig> wrapper);
|
||||
}
|
||||
|
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.JobSummaryMapper">
|
||||
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
ORDER BY group_name
|
||||
</select>
|
||||
|
||||
<select id="jobTaskListCount" resultType="long">
|
||||
SELECT COUNT(DISTINCT group_name)
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="workflowTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (workflow_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_workflow
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
ORDER BY group_name
|
||||
</select>
|
||||
|
||||
<select id="workflowTaskListCount" resultType="long">
|
||||
SELECT COUNT(DISTINCT group_name)
|
||||
FROM sj_workflow
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.RetrySummaryMapper">
|
||||
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
ORDER BY group_name
|
||||
</select>
|
||||
|
||||
<select id="retryTaskListCount" resultType="long">
|
||||
SELECT COUNT(DISTINCT group_name)
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -111,13 +111,4 @@
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -106,13 +106,4 @@
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.JobSummaryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.JobSummary">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="namespace_id" jdbcType="TINYINT" property="namespaceId"/>
|
||||
<result column="group_name" jdbcType="TINYINT" property="groupName"/>
|
||||
<result column="business_id" jdbcType="TINYINT" property="businessId"/>
|
||||
<result column="trigger_at" jdbcType="TIMESTAMP" property="triggerAt"/>
|
||||
<result column="system_task_type" jdbcType="TINYINT" property="systemTaskType"/>
|
||||
<result column="success_num" jdbcType="TINYINT" property="successNum"/>
|
||||
<result column="fail_num" jdbcType="TINYINT" property="failNum"/>
|
||||
<result column="fail_reason" jdbcType="VARCHAR" property="failReason"/>
|
||||
<result column="stop_num" jdbcType="TINYINT" property="stopNum"/>
|
||||
<result column="stop_reason" jdbcType="VARCHAR" property="stopReason"/>
|
||||
<result column="cancel_num" jdbcType="TINYINT" property="cancelNum"/>
|
||||
<result column="cancel_reason" jdbcType="VARCHAR" property="cancelReason"/>
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt"/>
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO sj_job_summary (namespace_id, group_name, business_id, trigger_at, system_task_type,
|
||||
@ -111,23 +94,4 @@
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
|
||||
<select id="workflowTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (workflow_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_workflow
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -106,13 +106,4 @@
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.JobSummaryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.JobSummary">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="namespace_id" jdbcType="TINYINT" property="namespaceId"/>
|
||||
<result column="group_name" jdbcType="TINYINT" property="groupName"/>
|
||||
<result column="business_id" jdbcType="TINYINT" property="businessId"/>
|
||||
<result column="trigger_at" jdbcType="TIMESTAMP" property="triggerAt"/>
|
||||
<result column="system_task_type" jdbcType="TINYINT" property="systemTaskType"/>
|
||||
<result column="success_num" jdbcType="TINYINT" property="successNum"/>
|
||||
<result column="fail_num" jdbcType="TINYINT" property="failNum"/>
|
||||
<result column="fail_reason" jdbcType="VARCHAR" property="failReason"/>
|
||||
<result column="stop_num" jdbcType="TINYINT" property="stopNum"/>
|
||||
<result column="stop_reason" jdbcType="VARCHAR" property="stopReason"/>
|
||||
<result column="cancel_num" jdbcType="TINYINT" property="cancelNum"/>
|
||||
<result column="cancel_reason" jdbcType="VARCHAR" property="cancelReason"/>
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt"/>
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="false" keyProperty="id">
|
||||
INSERT INTO sj_job_summary (namespace_id, group_name, business_id, trigger_at, system_task_type,
|
||||
@ -107,13 +90,4 @@
|
||||
WHERE ROWNUM <![CDATA[ <= ]]> 10
|
||||
</select>
|
||||
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -105,14 +105,4 @@
|
||||
WHERE ROWNUM <![CDATA[ <= ]]> 10
|
||||
</select>
|
||||
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
@ -1,27 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.JobSummaryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.JobSummary">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="namespace_id" jdbcType="TINYINT" property="namespaceId"/>
|
||||
<result column="group_name" jdbcType="TINYINT" property="groupName"/>
|
||||
<result column="business_id" jdbcType="TINYINT" property="businessId"/>
|
||||
<result column="trigger_at" jdbcType="TIMESTAMP" property="triggerAt"/>
|
||||
<result column="system_task_type" jdbcType="TINYINT" property="systemTaskType"/>
|
||||
<result column="success_num" jdbcType="TINYINT" property="successNum"/>
|
||||
<result column="fail_num" jdbcType="TINYINT" property="failNum"/>
|
||||
<result column="fail_reason" jdbcType="VARCHAR" property="failReason"/>
|
||||
<result column="stop_num" jdbcType="TINYINT" property="stopNum"/>
|
||||
<result column="stop_reason" jdbcType="VARCHAR" property="stopReason"/>
|
||||
<result column="cancel_num" jdbcType="TINYINT" property="cancelNum"/>
|
||||
<result column="cancel_reason" jdbcType="VARCHAR" property="cancelReason"/>
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt"/>
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO sj_job_summary (namespace_id, group_name, business_id, trigger_at, system_task_type,
|
||||
success_num,fail_num,fail_reason,stop_num,stop_reason, cancel_num,cancel_reason)
|
||||
success_num,fail_num,fail_reason,stop_num,stop_reason, cancel_num,cancel_reason)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
@ -110,13 +93,4 @@
|
||||
ORDER BY total DESC LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
count(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -103,13 +103,4 @@
|
||||
ORDER BY total DESC LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.JobSummaryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.JobSummary">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="namespace_id" jdbcType="TINYINT" property="namespaceId"/>
|
||||
<result column="group_name" jdbcType="TINYINT" property="groupName"/>
|
||||
<result column="business_id" jdbcType="TINYINT" property="businessId"/>
|
||||
<result column="trigger_at" jdbcType="TIMESTAMP" property="triggerAt"/>
|
||||
<result column="system_task_type" jdbcType="TINYINT" property="systemTaskType"/>
|
||||
<result column="success_num" jdbcType="TINYINT" property="successNum"/>
|
||||
<result column="fail_num" jdbcType="TINYINT" property="failNum"/>
|
||||
<result column="fail_reason" jdbcType="VARCHAR" property="failReason"/>
|
||||
<result column="stop_num" jdbcType="TINYINT" property="stopNum"/>
|
||||
<result column="stop_reason" jdbcType="VARCHAR" property="stopReason"/>
|
||||
<result column="cancel_num" jdbcType="TINYINT" property="cancelNum"/>
|
||||
<result column="cancel_reason" jdbcType="VARCHAR" property="cancelReason"/>
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt"/>
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO sj_job_summary (namespace_id, group_name, business_id, trigger_at, system_task_type,
|
||||
@ -118,24 +101,4 @@
|
||||
ORDER BY name DESC
|
||||
</select>
|
||||
|
||||
<!-- SQL Server GROUP BY 的分页必须 ORDER BY xxx -->
|
||||
<select id="jobTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT
|
||||
group_name AS groupName,
|
||||
SUM(CASE WHEN (job_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
ORDER BY group_name
|
||||
</select>
|
||||
|
||||
<!-- 用于 jobTaskList 分页的 COUNT,
|
||||
SQL Server SELECT COUNT(*) FROM (... ORDER BY ) 会报错 -->
|
||||
<select id="countJobTask" resultType="long">
|
||||
SELECT COUNT(DISTINCT group_name)
|
||||
FROM sj_job
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -1,19 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.RetrySummaryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.RetrySummary">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="namespace_id" jdbcType="TINYINT" property="namespaceId"/>
|
||||
<result column="group_name" jdbcType="TINYINT" property="groupName"/>
|
||||
<result column="scene_name" jdbcType="TINYINT" property="sceneName"/>
|
||||
<result column="trigger_at" jdbcType="TIMESTAMP" property="triggerAt"/>
|
||||
<result column="running_num" jdbcType="TINYINT" property="runningNum"/>
|
||||
<result column="finish_num" jdbcType="TINYINT" property="finishNum"/>
|
||||
<result column="max_count_num" jdbcType="VARCHAR" property="maxCountNum"/>
|
||||
<result column="suspend_num" jdbcType="TINYINT" property="suspendNum"/>
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt"/>
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO sj_retry_summary (namespace_id, group_name, scene_name, trigger_at,
|
||||
@ -113,24 +100,4 @@
|
||||
ORDER BY total DESC
|
||||
</select>
|
||||
|
||||
<!-- SQL Server GROUP BY 的分页必须 ORDER BY xxx -->
|
||||
<select id="retryTaskList"
|
||||
resultType="com.aizuda.snailjob.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Task">
|
||||
SELECT
|
||||
group_name AS groupName,
|
||||
SUM(CASE WHEN (scene_status = 1) THEN 1 ELSE 0 END) AS run,
|
||||
COUNT(*) AS total
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY namespace_id, group_name
|
||||
ORDER BY group_name
|
||||
</select>
|
||||
|
||||
<!-- 用于 retryTaskList 分页的 自定义 COUNT,
|
||||
SQL Server SELECT COUNT(*) FROM (... ORDER BY group_name) 会报错 -->
|
||||
<select id="countRetryTask" resultType="long">
|
||||
SELECT COUNT(DISTINCT group_name)
|
||||
FROM sj_retry_scene_config
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -165,11 +165,10 @@ public class DashBoardServiceImpl implements DashBoardService {
|
||||
|
||||
.eq(RetrySceneConfig::getNamespaceId, namespaceId)
|
||||
.in(CollUtil.isNotEmpty(groupNames), RetrySceneConfig::getGroupName, groupNames);
|
||||
// 针对SQL Server的分页COUNT, 自定义statement ID
|
||||
if (DbTypeEnum.SQLSERVER == DbUtils.getDbType()) {
|
||||
pager.setSearchCount(false);
|
||||
pager.setTotal(retrySummaryMapper.countRetryTask(wrapper));
|
||||
}
|
||||
|
||||
// 针对 Group By 分页自定义countStatement
|
||||
pager.setSearchCount(false);
|
||||
pager.setTotal(retrySummaryMapper.retryTaskListCount(wrapper));
|
||||
|
||||
IPage<DashboardRetryLineResponseDO.Task> page = retrySummaryMapper.retryTaskList(wrapper, pager);
|
||||
List<DashboardRetryLineResponseVO.Task> taskList = JobSummaryResponseVOConverter.INSTANCE.convertList(page.getRecords());
|
||||
@ -234,11 +233,12 @@ public class DashBoardServiceImpl implements DashBoardService {
|
||||
.eq(Job::getDeleted, 0)
|
||||
.eq(Job::getNamespaceId, namespaceId)
|
||||
.in(CollUtil.isNotEmpty(groupNames), Job::getGroupName, groupNames);
|
||||
// 针对SQL Server的分页COUNT, 自定义statement ID
|
||||
if (DbTypeEnum.SQLSERVER == DbUtils.getDbType()) {
|
||||
pager.setSearchCount(false);
|
||||
pager.setTotal(jobSummaryMapper.countJobTask(wrapper));
|
||||
}
|
||||
|
||||
// 针对 Group By 分页自定义countStatement
|
||||
pager.setSearchCount(false);
|
||||
pager.setTotal(SystemModeEnum.JOB.name().equals(mode) ?
|
||||
jobSummaryMapper.jobTaskListCount(wrapper):
|
||||
jobSummaryMapper.workflowTaskListCount(wrapper));
|
||||
|
||||
IPage<DashboardRetryLineResponseDO.Task> taskIPage = SystemModeEnum.JOB.name().equals(mode) ?
|
||||
jobSummaryMapper.jobTaskList(wrapper, pager) : jobSummaryMapper.workflowTaskList(wrapper, pager);
|
||||
|
Loading…
Reference in New Issue
Block a user