fix: 2.5.0

1. 修复postgres兼容问题
This commit is contained in:
byteblogs168 2023-12-11 12:52:45 +08:00
parent f86a69406b
commit cc1ced4f10
12 changed files with 101 additions and 56 deletions

View File

@ -11,7 +11,7 @@ CREATE TABLE namespace
deleted SMALLINT NOT NULL DEFAULT 0 deleted SMALLINT NOT NULL DEFAULT 0
); );
CREATE UNIQUE INDEX uk_namespace_unique_id ON namespace (unique_id); CREATE UNIQUE INDEX uk_namespace_unique_id ON "namespace" (unique_id);
COMMENT ON COLUMN namespace.id IS '主键'; COMMENT ON COLUMN namespace.id IS '主键';
COMMENT ON COLUMN namespace.name IS '名称'; COMMENT ON COLUMN namespace.name IS '名称';
@ -22,6 +22,9 @@ COMMENT ON COLUMN namespace.update_dt IS '修改时间';
COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除'; COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除';
COMMENT ON TABLE namespace IS '命名空间'; COMMENT ON TABLE namespace IS '命名空间';
INSERT INTO namespace (name, unique_id, create_dt, update_dt, deleted)
VALUES ('Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0);
CREATE TABLE group_config CREATE TABLE group_config
( (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
@ -555,6 +558,7 @@ COMMENT ON TABLE "job_task" IS '任务批次';
CREATE TABLE job_notify_config CREATE TABLE job_notify_config
( (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL,
job_id BIGINT NOT NULL, job_id BIGINT NOT NULL,
notify_status SMALLINT NOT NULL DEFAULT 0, notify_status SMALLINT NOT NULL DEFAULT 0,
@ -569,9 +573,10 @@ CREATE TABLE job_notify_config
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
CREATE INDEX idx_group_name ON job_notify_config (group_name); CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON job_notify_config (namespace_id, group_name, job_id);
COMMENT ON COLUMN "job_notify_config"."id" IS '主键'; COMMENT ON COLUMN "job_notify_config"."id" IS '主键';
COMMENT ON COLUMN "job_task"."namespace_id" IS '命名空间id';
COMMENT ON COLUMN "job_notify_config"."group_name" IS '组名称'; COMMENT ON COLUMN "job_notify_config"."group_name" IS '组名称';
COMMENT ON COLUMN "job_notify_config"."job_id" IS '任务信息id'; COMMENT ON COLUMN "job_notify_config"."job_id" IS '任务信息id';
COMMENT ON COLUMN "job_notify_config"."notify_status" IS '通知状态 0、未启用 1、启用'; COMMENT ON COLUMN "job_notify_config"."notify_status" IS '通知状态 0、未启用 1、启用';

View File

@ -52,5 +52,5 @@ public class Namespace implements Serializable {
/** /**
* 逻辑删除 1删除 * 逻辑删除 1删除
*/ */
private Byte deleted; private Integer deleted;
} }

View File

@ -32,4 +32,18 @@
#{item.taskType}, #{item.createDt}, #{item.namespaceId}) #{item.taskType}, #{item.createDt}, #{item.namespaceId})
</foreach> </foreach>
</insert> </insert>
<!-- 重试统计 -->
<select id="retrySummaryRetryTaskLogList"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryResponseDO">
SELECT namespace_id AS namespaceId,
group_name AS groupName,
scene_name AS sceneName,
SUM(CASE WHEN (retry_status = 0) THEN 1 ELSE 0 END) AS runningNum,
SUM(CASE WHEN (retry_status = 1) THEN 1 ELSE 0 END) AS finishNum,
SUM(CASE WHEN (retry_status = 2) THEN 1 ELSE 0 END) AS maxCountNum,
SUM(CASE WHEN (retry_status = 3) THEN 1 ELSE 0 END) AS suspendNum
FROM retry_task_log
WHERE create_dt between #{from} and #{to}
GROUP BY namespace_id, group_name, scene_name
</select>
</mapper> </mapper>

View File

@ -18,13 +18,13 @@
id, group_name, context_path, host_id, host_ip, host_port, expire_at, node_type,create_dt,update_dt id, group_name, context_path, host_id, host_ip, host_port, expire_at, node_type,create_dt,update_dt
</sql> </sql>
<insert id="insertOrUpdate" parameterType="com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode" useGeneratedKeys="true" keyProperty="id"> <insert id="insertOrUpdate" parameterType="com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode" useGeneratedKeys="true" keyProperty="id">
insert into server_node (id, group_name, host_id, host_ip, host_port, insert into server_node (namespace_id, group_name, host_id, host_ip, host_port,
expire_at, node_type, ext_attrs, context_path, create_dt) expire_at, node_type, ext_attrs, context_path, create_dt)
values values
<foreach collection="records" item="item" index="index" separator="," open="(" close=")"> <foreach collection="records" item="item" index="index" separator=",">
#{id,jdbcType=BIGINT}, #{groupName,jdbcType=VARCHAR}, #{hostId,jdbcType=VARCHAR}, #{hostIp,jdbcType=VARCHAR}, (#{item.namespaceId,jdbcType=VARCHAR}, #{item.groupName,jdbcType=VARCHAR}, #{item.hostId,jdbcType=VARCHAR}, #{item.hostIp,jdbcType=VARCHAR},
#{hostPort,jdbcType=INTEGER}, #{item.hostPort,jdbcType=INTEGER}, #{item.expireAt,jdbcType=TIMESTAMP}, #{item.nodeType,jdbcType=TINYINT},
#{expireAt,jdbcType=TIMESTAMP}, #{nodeType,jdbcType=TINYINT}, #{extAttrs,jdbcType=VARCHAR}, #{contextPath,jdbcType=VARCHAR}, #{createDt,jdbcType=TIMESTAMP} #{item.extAttrs,jdbcType=VARCHAR}, #{item.contextPath,jdbcType=VARCHAR}, #{item.createDt,jdbcType=TIMESTAMP})
</foreach> </foreach>
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
expire_at = values(`expire_at`) expire_at = values(`expire_at`)

View File

@ -53,28 +53,28 @@
SELECT SELECT
<choose> <choose>
<when test="type == 'DAY'"> <when test="type == 'DAY'">
DATE_FORMAT(create_dt,'%H') to_char(create_dt,'%H')
</when> </when>
<when test="type == 'WEEK'"> <when test="type == 'WEEK'">
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</when> </when>
<when test="type =='MONTH'"> <when test="type =='MONTH'">
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</when> </when>
<when test="type == 'YEAR'"> <when test="type == 'YEAR'">
DATE_FORMAT(create_dt,'%Y-%m') to_char(create_dt,'%Y-%m')
</when> </when>
<otherwise> <otherwise>
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</otherwise> </otherwise>
</choose> </choose>
AS createDt, AS createDt,
ifnull(SUM(success_num), 0) AS success, COALESCE(SUM(success_num), 0) AS success,
ifnull(SUM(fail_num), 0) AS failNum, COALESCE(SUM(fail_num), 0) AS failNum,
ifnull(SUM(stop_num), 0) AS stop, COALESCE(SUM(stop_num), 0) AS stop,
ifnull(SUM(cancel_num), 0) AS cancel, COALESCE(SUM(cancel_num), 0) AS cancel,
ifnull(SUM(fail_num + stop_num + cancel_num), 0) AS fail, COALESCE(SUM(fail_num + stop_num + cancel_num), 0) AS fail,
ifnull(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
<where> <where>
<if test="groupName != null and groupName != '' "> <if test="groupName != null and groupName != '' ">
@ -87,11 +87,11 @@
<select id="toJobTask" <select id="toJobTask"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$JobTask"> resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$JobTask">
SELECT ifnull(sum(success_num), 0) AS successNum, SELECT COALESCE(sum(success_num), 0) AS successNum,
ifnull(sum(stop_num), 0) AS stopNum, COALESCE(sum(stop_num), 0) AS stopNum,
ifnull(sum(cancel_num), 0) AS cancelNum, COALESCE(sum(cancel_num), 0) AS cancelNum,
ifnull(sum(fail_num), 0) AS failNum, COALESCE(sum(fail_num), 0) AS failNum,
ifnull(sum(success_num + fail_num + stop_num + cancel_num), 0) AS totalNum COALESCE(sum(success_num + fail_num + stop_num + cancel_num), 0) AS totalNum
FROM job_summary FROM job_summary
WHERE namespace_id = #{namespaceId} WHERE namespace_id = #{namespaceId}
</select> </select>
@ -99,7 +99,7 @@
<select id="dashboardRank" <select id="dashboardRank"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Rank"> resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Rank">
SELECT SELECT
CONCAT(group_name, '/', (SELECT job_name FROM job WHERE id=job_id)) `name`, CONCAT(group_name, '/', (SELECT job_name FROM job WHERE id=job_id)) name,
SUM(fail_num) AS total FROM job_summary SUM(fail_num) AS total FROM job_summary
<where> <where>
<if test="groupName != '' and groupName != null"> <if test="groupName != '' and groupName != null">
@ -109,7 +109,7 @@
</where> </where>
AND namespace_id = #{namespaceId} AND namespace_id = #{namespaceId}
GROUP BY namespace_id, group_name, job_id GROUP BY namespace_id, group_name, job_id
HAVING total > 0 HAVING SUM(fail_num) > 0
ORDER BY total DESC LIMIT 10 ORDER BY total DESC LIMIT 10
</select> </select>

View File

@ -41,31 +41,31 @@
<select id="retryTask" <select id="retryTask"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$RetryTask"> resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$RetryTask">
SELECT ifnull(sum(running_num), 0) AS runningNum, SELECT COALESCE(sum(running_num), 0) AS runningNum,
ifnull(sum(finish_num), 0) AS finishNum, COALESCE(sum(finish_num), 0) AS finishNum,
ifnull(sum(max_count_num), 0) AS maxCountNum, COALESCE(sum(max_count_num), 0) AS maxCountNum,
ifnull(sum(suspend_num), 0) AS suspendNum, COALESCE(sum(suspend_num), 0) AS suspendNum,
ifnull(sum(running_num + finish_num + max_count_num + suspend_num), 0) AS totalNum COALESCE(sum(running_num + finish_num + max_count_num + suspend_num), 0) AS totalNum
FROM retry_summary FROM retry_summary
WHERE namespace_id = #{namespaceId} WHERE namespace_id = #{namespaceId}
</select> </select>
<select id="retryTaskBarList" <select id="retryTaskBarList"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$RetryTaskBar"> resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardCardResponseDO$RetryTaskBar">
SELECT tmp.date AS x, ifnull(b.taskTotal, 0) AS taskTotal SELECT tmp.date AS x, COALESCE(b.taskTotal, 0) AS taskTotal
FROM (SELECT curdate() AS date FROM (SELECT CURRENT_DATE AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date SELECT CURRENT_DATE - INTERVAL '1 day' AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), interval 2 day) AS date SELECT CURRENT_DATE - INTERVAL '2 days' AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), interval 3 day) AS date SELECT CURRENT_DATE - INTERVAL '3 days' AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), interval 4 day) AS date SELECT CURRENT_DATE - INTERVAL '4 days' AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), interval 5 day) AS date SELECT CURRENT_DATE - INTERVAL '5 days' AS date
UNION ALL UNION ALL
SELECT DATE_SUB(CURDATE(), interval 6 day) AS date) tmp SELECT CURRENT_DATE - INTERVAL '6 days' AS date) tmp
LEFT JOIN (SELECT DATE (trigger_at) AS triggerAt, LEFT JOIN (SELECT DATE (trigger_at) AS triggerAt,
SUM(running_num + finish_num + max_count_num + suspend_num) AS taskTotal FROM retry_summary SUM(running_num + finish_num + max_count_num + suspend_num) AS taskTotal FROM retry_summary
WHERE namespace_id = #{namespaceId} WHERE namespace_id = #{namespaceId}
@ -79,27 +79,27 @@
SELECT SELECT
<choose> <choose>
<when test="type == 'DAY'"> <when test="type == 'DAY'">
DATE_FORMAT(create_dt,'%H') to_char(create_dt,'%H')
</when> </when>
<when test="type == 'WEEK'"> <when test="type == 'WEEK'">
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</when> </when>
<when test="type =='MONTH'"> <when test="type =='MONTH'">
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</when> </when>
<when test="type == 'YEAR'"> <when test="type == 'YEAR'">
DATE_FORMAT(create_dt,'%Y-%m') to_char(create_dt,'%Y-%m')
</when> </when>
<otherwise> <otherwise>
DATE_FORMAT(create_dt,'%Y-%m-%d') to_char(create_dt,'%Y-%m-%d')
</otherwise> </otherwise>
</choose> </choose>
AS createDt, AS createDt,
ifnull(SUM(finish_num), 0) AS successNum, COALESCE(SUM(finish_num), 0) AS successNum,
ifnull(SUM(running_num), 0) AS runningNum, COALESCE(SUM(running_num), 0) AS runningNum,
ifnull(SUM(max_count_num), 0) AS maxCountNum, COALESCE(SUM(max_count_num), 0) AS maxCountNum,
ifnull(SUM(suspend_num), 0) AS suspendNum, COALESCE(SUM(suspend_num), 0) AS suspendNum,
ifnull(SUM(finish_num + running_num + max_count_num + suspend_num), 0) AS total COALESCE(SUM(finish_num + running_num + max_count_num + suspend_num), 0) AS total
FROM retry_summary FROM retry_summary
<where> <where>
<if test="groupName != null and groupName != '' "> <if test="groupName != null and groupName != '' ">
@ -113,7 +113,7 @@
<select id="dashboardRank" <select id="dashboardRank"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Rank"> resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryLineResponseDO$Rank">
SELECT SELECT
CONCAT(group_name, '/', scene_name) `name`, CONCAT(group_name, '/', scene_name) name,
SUM(running_num + finish_num + max_count_num + suspend_num) AS total FROM retry_summary SUM(running_num + finish_num + max_count_num + suspend_num) AS total FROM retry_summary
<where> <where>
<if test="groupName != '' and groupName != null"> <if test="groupName != '' and groupName != null">
@ -123,7 +123,7 @@
AND trigger_at >= #{startTime} AND trigger_at &lt;= #{endTime} AND trigger_at >= #{startTime} AND trigger_at &lt;= #{endTime}
</where> </where>
GROUP BY namespace_id, group_name, scene_name GROUP BY namespace_id, group_name, scene_name
HAVING total > 0 HAVING SUM(running_num + finish_num + max_count_num + suspend_num) > 0
ORDER BY total DESC LIMIT 10 ORDER BY total DESC LIMIT 10
</select> </select>

View File

@ -32,4 +32,19 @@
#{item.taskType}, #{item.createDt}, #{item.namespaceId}) #{item.taskType}, #{item.createDt}, #{item.namespaceId})
</foreach> </foreach>
</insert> </insert>
<!-- 重试统计 -->
<select id="retrySummaryRetryTaskLogList"
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.DashboardRetryResponseDO">
SELECT namespace_id AS namespaceId,
group_name AS groupName,
scene_name AS sceneName,
SUM(CASE WHEN (retry_status = 0) THEN 1 ELSE 0 END) AS runningNum,
SUM(CASE WHEN (retry_status = 1) THEN 1 ELSE 0 END) AS finishNum,
SUM(CASE WHEN (retry_status = 2) THEN 1 ELSE 0 END) AS maxCountNum,
SUM(CASE WHEN (retry_status = 3) THEN 1 ELSE 0 END) AS suspendNum
FROM retry_task_log
WHERE create_dt between #{from} and #{to}
GROUP BY namespace_id, group_name, scene_name
</select>
</mapper> </mapper>

View File

@ -19,7 +19,7 @@
</sql> </sql>
<insert id="insertOrUpdate" parameterType="com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode" <insert id="insertOrUpdate" parameterType="com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode"
useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys="true" keyProperty="id">
INSERT INTO server_node (group_name, host_id, host_ip, host_port, INSERT INTO server_node (namespace_id, group_name, host_id, host_ip, host_port,
expire_at, node_type, ext_attrs, context_path, create_dt) expire_at, node_type, ext_attrs, context_path, create_dt)
VALUES VALUES
<foreach collection="records" item="item" index="index" separator=","> <foreach collection="records" item="item" index="index" separator=",">

View File

@ -11,6 +11,7 @@ import com.aizuda.easy.retry.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.annotation.LoginRequired;
import com.aizuda.easy.retry.server.web.annotation.RoleEnum; import com.aizuda.easy.retry.server.web.annotation.RoleEnum;
import com.aizuda.easy.retry.server.web.service.GroupConfigService; import com.aizuda.easy.retry.server.web.service.GroupConfigService;
import com.aizuda.easy.retry.template.datasource.enums.DbTypeEnum;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -91,7 +92,16 @@ public class GroupConfigController {
@GetMapping("/partition-table/list") @GetMapping("/partition-table/list")
public List<Integer> getTablePartitionList() { public List<Integer> getTablePartitionList() {
// https://gitee.com/aizuda/easy-retry/issues/I8DAMH // https://gitee.com/aizuda/easy-retry/issues/I8DAMH
List<String> tableList = jdbcTemplate.queryForList("SHOW TABLES LIKE 'retry_task_%'", String.class); String sql;
if (systemProperties.getDbType().getDb().equals(DbTypeEnum.POSTGRES.getDb())) {
sql = "SELECT table_name\n"
+ "FROM information_schema.tables\n"
+ "WHERE table_name LIKE 'retry_task_%' AND table_schema = 'public'";
} else {
sql = "SHOW TABLES LIKE 'retry_task_%'";
}
List<String> tableList = jdbcTemplate.queryForList(sql, String.class);
return tableList.stream().map(ReUtil::getFirstNumber).filter(i -> return tableList.stream().map(ReUtil::getFirstNumber).filter(i ->
!Objects.isNull(i) && i <= systemProperties.getTotalPartition()).distinct().collect(Collectors.toList()); !Objects.isNull(i) && i <= systemProperties.getTotalPartition()).distinct().collect(Collectors.toList());
} }

View File

@ -248,7 +248,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
try { try {
TaskAccess<RetryDeadLetter> retryTaskAccess = accessTemplate.getRetryDeadLetterAccess(); TaskAccess<RetryDeadLetter> retryTaskAccess = accessTemplate.getRetryDeadLetterAccess();
retryTaskAccess.one(groupConfig.getGroupName(), groupConfig.getNamespaceId(), retryTaskAccess.one(groupConfig.getGroupName(), namespaceId,
new LambdaQueryWrapper<RetryDeadLetter>().eq(RetryDeadLetter::getId, 1)); new LambdaQueryWrapper<RetryDeadLetter>().eq(RetryDeadLetter::getId, 1));
} catch (BadSqlGrammarException e) { } catch (BadSqlGrammarException e) {
Optional.ofNullable(e.getMessage()).ifPresent(s -> { Optional.ofNullable(e.getMessage()).ifPresent(s -> {

View File

@ -26,13 +26,13 @@ import com.aizuda.easy.retry.server.web.service.convert.JobConverter;
import com.aizuda.easy.retry.server.web.service.convert.JobResponseVOConverter; import com.aizuda.easy.retry.server.web.service.convert.JobResponseVOConverter;
import com.aizuda.easy.retry.server.web.util.UserSessionUtils; import com.aizuda.easy.retry.server.web.util.UserSessionUtils;
import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper;
import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig;
import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.Job;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -54,6 +54,7 @@ public class JobServiceImpl implements JobService {
private JobMapper jobMapper; private JobMapper jobMapper;
@Autowired @Autowired
@Qualifier("terminalJobPrepareHandler") @Qualifier("terminalJobPrepareHandler")
@Lazy
private JobPrePareHandler jobPrePareHandler; private JobPrePareHandler jobPrePareHandler;
@Override @Override

View File

@ -73,7 +73,7 @@ public class NamespaceServiceImpl implements NamespaceService {
; ;
} }
queryWrapper.eq(Namespace::getDeleted, StatusEnum.NO); queryWrapper.eq(Namespace::getDeleted, StatusEnum.NO.getStatus());
queryWrapper.orderByDesc(Namespace::getId); queryWrapper.orderByDesc(Namespace::getId);
PageDTO<Namespace> selectPage = namespaceMapper.selectPage(pageDTO, queryWrapper); PageDTO<Namespace> selectPage = namespaceMapper.selectPage(pageDTO, queryWrapper);
return new PageResult<>(pageDTO, return new PageResult<>(pageDTO,