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