diff --git a/app/controllers/api/v1/projects/sync_repositories_controller.rb b/app/controllers/api/v1/projects/sync_repositories_controller.rb index d20b43bf..08956eec 100644 --- a/app/controllers/api/v1/projects/sync_repositories_controller.rb +++ b/app/controllers/api/v1/projects/sync_repositories_controller.rb @@ -97,7 +97,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController return render_error("请输入正确的同步仓库ID") unless params[:sync_repository_ids].present? @sync_repository_branches = SyncRepositoryBranch.where(sync_repository_id: params[:sync_repository_ids].split(",")) @sync_repository_branches = @sync_repository_branches.ransack(gitlink_branch_name_or_external_branch_name_cont: params[:branch_name]).result if params[:branch_name].present? - @group_sync_repository_branch = @sync_repository_branches.group(:sync_repository_id, :gitlink_branch_name, :external_branch_name).select("max(updated_at) as updated_at, sync_repository_id, gitlink_branch_name, external_branch_name").sort_by{|i|i.updated_at} + @group_sync_repository_branch = @sync_repository_branches.joins(:sync_repository).group("sync_repositories.type, sync_repository_branches.gitlink_branch_name, sync_repository_branches.external_branch_name").select("sync_repositories.type as type,max(sync_repository_branches.updated_at) as updated_at, sync_repository_branches.gitlink_branch_name, sync_repository_branches.external_branch_name").sort_by{|i|i.updated_at} end def history diff --git a/app/views/api/v1/projects/sync_repositories/branches.json.jbuilder b/app/views/api/v1/projects/sync_repositories/branches.json.jbuilder index a716148b..f040c647 100644 --- a/app/views/api/v1/projects/sync_repositories/branches.json.jbuilder +++ b/app/views/api/v1/projects/sync_repositories/branches.json.jbuilder @@ -2,7 +2,7 @@ json.total_count @group_sync_repository_branch.count json.sync_repository_branches @group_sync_repository_branch.each do |item| json.gitlink_branch_name item.gitlink_branch_name json.external_branch_name item.external_branch_name - branches = @sync_repository_branches.where(gitlink_branch_name: item.gitlink_branch_name, external_branch_name: item.external_branch_name).order(updated_at: :desc) + branches = @sync_repository_branches.joins(:sync_repository).where(sync_repositories: {type: item.type}, gitlink_branch_name: item.gitlink_branch_name, external_branch_name: item.external_branch_name).order(updated_at: :desc) branch = branches.first json.type branch&.sync_repository&.type json.sync_time branch.sync_time.present? ? branch.sync_time.strftime("%Y-%m-%d %H:%M:%S") : nil