id, task_id, task_name, task_group, bean_name, method_name, method_params, meta_id, default_recipient,
cron_expression, status, description, concurrent, misfire_policy,
creator, updater, create_time, update_time, delete_time, deleted
deleted = 0
AND task_id = #{taskId}
AND task_name LIKE CONCAT('%', #{taskName}, '%')
AND task_group = #{taskGroup}
AND bean_name = #{beanName}
AND method_name = #{methodName}
AND status = #{status}
AND deleted = #{deleted}
AND id = #{filter.id}
AND task_id = #{filter.taskId}
AND task_name LIKE CONCAT('%', #{filter.taskName}, '%')
AND task_group = #{filter.taskGroup}
AND bean_name = #{filter.beanName}
AND method_name = #{filter.methodName}
AND status = #{filter.status}
AND deleted = #{filter.deleted}
INNER JOIN tb_resource_permission rp ON ct.task_id = rp.resource_id
AND rp.resource_type = 7
AND rp.deleted = 0
AND rp.can_read = 1
AND (
-- 全局权限:所有用户可访问
(rp.dept_id IS NULL AND rp.role_id IS NULL)
OR EXISTS (
SELECT 1
FROM (
SELECT #{udr.deptID} AS dept_id, #{udr.deptPath} AS dept_path, #{udr.roleID} AS role_id
) user_roles
LEFT JOIN tb_sys_dept perm_dept ON perm_dept.dept_id = rp.dept_id AND perm_dept.deleted = 0
WHERE
-- 部门级权限:当前部门或父部门(通过dept_path判断继承关系)
(rp.role_id IS NULL AND rp.dept_id IS NOT NULL
AND user_roles.dept_path LIKE CONCAT(perm_dept.dept_path, '%'))
-- 角色级权限:跨部门的角色权限
OR (rp.dept_id IS NULL AND rp.role_id = user_roles.role_id)
-- 精确权限:特定部门的特定角色
OR (rp.dept_id = user_roles.dept_id AND rp.role_id = user_roles.role_id)
)
)
INSERT INTO tb_crontab_task
id,task_id,task_name,task_group,bean_name,method_name,method_params,meta_id,default_recipient,cron_expression,status,description,concurrent,misfire_policy,creator,create_time,
deleted
VALUES
#{task.id},#{task.taskId},#{task.taskName},#{task.taskGroup},#{task.beanName},#{task.methodName},#{task.methodParams},#{task.metaId},#{task.defaultRecipient},#{task.cronExpression},#{task.status},#{task.description},#{task.concurrent},#{task.misfirePolicy},#{task.creator},#{task.createTime},
0
UPDATE tb_crontab_task
task_name = #{task.taskName},task_group = #{task.taskGroup},bean_name = #{task.beanName},method_name = #{task.methodName},method_params = #{task.methodParams},meta_id = #{task.metaId},default_recipient = #{task.defaultRecipient},cron_expression = #{task.cronExpression},status = #{task.status},description = #{task.description},concurrent = #{task.concurrent},misfire_policy = #{task.misfirePolicy},updater = #{task.updater},
update_time = NOW()
WHERE id = #{task.id} AND deleted = 0
UPDATE tb_crontab_task
SET deleted = 1,
delete_time = NOW()
WHERE task_id=#{taskId} AND deleted = 0
UPDATE tb_crontab_task
SET status = #{status},
update_time = NOW()
WHERE task_id=#{taskId} AND deleted = 0