Skip to content

[Improvement-18249][DAO] Route ScheduleMapper access through ScheduleDao#18251

Open
ruanwenjun wants to merge 1 commit into
apache:devfrom
ruanwenjun:dao/schedule
Open

[Improvement-18249][DAO] Route ScheduleMapper access through ScheduleDao#18251
ruanwenjun wants to merge 1 commit into
apache:devfrom
ruanwenjun:dao/schedule

Conversation

@ruanwenjun
Copy link
Copy Markdown
Member

Was this PR generated or assisted by AI?

YES, ops 4.7

Purpose of the pull request

Tracking issue: #18249

Expose the methods the api layer needs on ScheduleDao (queryByWorkflowDefinitionCode, querySchedulerListByProjectName, queryByProjectAndWorkflowDefinitionCodePaging, querySchedulesByWorkflowDefinitionCodes, queryScheduleListByTenant, queryScheduleByWorkerGroup) and replace every direct ScheduleMapper reference in dolphinscheduler-api with the Dao, so Mapper usage stays inside dolphinscheduler-dao.repository as documented in dolphinscheduler-dao/CLAUDE.md.

Notes:

  • BaseDao#deleteById and BaseDao#updateById return boolean (Mapper returned int). Affected call sites in SchedulerServiceImpl and WorkflowDefinitionServiceImpl were adapted (boolean delete = scheduleDao.deleteById(id); if (!delete)). Test mocks switched from thenReturn(1/0) to thenReturn(true/false).
  • selectById was replaced with the IDao#queryById equivalent.
  • WorkerGroupServiceImpl previously inlined a BaseMapper.selectList(QueryWrapper) to find schedules referencing a worker group; the QueryWrapper is now encapsulated as ScheduleDao#queryScheduleByWorkerGroup so the api layer no longer constructs a raw QueryWrapper for this lookup.

No production behavior changes; the Mapper interface itself is untouched.

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.

(or)

This pull request is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(or)

Pull Request Notice

Pull Request Notice

If your pull request contains incompatible change, you should also add it to docs/docs/en/guide/upgrade/incompatible.md

Tracking issue: apache#18249

Expose the methods the api layer needs on ScheduleDao (queryByWorkflowDefinitionCode,
querySchedulerListByProjectName, queryByProjectAndWorkflowDefinitionCodePaging,
querySchedulesByWorkflowDefinitionCodes, queryScheduleListByTenant,
queryScheduleByWorkerGroup) and replace every direct ScheduleMapper reference in
dolphinscheduler-api with the Dao, so Mapper usage stays inside
dolphinscheduler-dao.repository as documented in dolphinscheduler-dao/CLAUDE.md.

Notes:
- BaseDao#deleteById and BaseDao#updateById return boolean (Mapper returned int).
  Affected call sites in SchedulerServiceImpl and WorkflowDefinitionServiceImpl
  were adapted (boolean delete = scheduleDao.deleteById(id); if (!delete)). Test
  mocks switched from thenReturn(1/0) to thenReturn(true/false).
- selectById was replaced with the IDao#queryById equivalent.
- WorkerGroupServiceImpl previously inlined a BaseMapper.selectList(QueryWrapper)
  to find schedules referencing a worker group; the QueryWrapper is now
  encapsulated as ScheduleDao#queryScheduleByWorkerGroup so the api layer no
  longer constructs a raw QueryWrapper for this lookup.

No production behavior changes; the Mapper interface itself is untouched.
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 60%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant