Skip to content

Commit

Permalink
edp963#1846 1. fix it
Browse files Browse the repository at this point in the history
  • Loading branch information
xxxllluuu committed Jul 14, 2020
1 parent 6cc8030 commit 2a08e0b
Show file tree
Hide file tree
Showing 10 changed files with 63 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,11 @@ public interface RelRoleDashboardMapper {
"where p.project_id = #{projectId})"
})
int deleteByProject(Long projectId);

@Delete({
"delete from rel_role_dashboard where role_id = #{roleId} and dashboard_id in (",
"select d.id from dashboard d left join dashboard_portal p on p.id = d.dashboard_portal_id ",
"where p.project_id = #{projectId})"
})
int deleteByRoleAndProject(Long roleId, Long projectId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,16 @@ public interface RelRoleDashboardWidgetMapper {
"INNER JOIN dashboard_portal dp ON dp.id = d.dashboard_portal_id " +
"WHERE dp.project_id = #{projectId} " +
") "})
int deleteByProjectId(@Param("projectId") Long projectId);
int deleteByProject(@Param("projectId") Long projectId);

@Delete({"DELETE rrdw FROM rel_role_dashboard_widget rrdw WHERE rrdw.role_id = #{roleId} and rrdw.mem_dashboard_widget_id IN " +
"( " +
"SELECT mdw.id " +
"FROM mem_dashboard_widget mdw " +
"INNER JOIN dashboard d ON d.id = mdw.dashboard_id " +
"INNER JOIN dashboard_portal dp ON dp.id = d.dashboard_portal_id " +
"WHERE dp.project_id = #{projectId} " +
") "})
int deleteByRoleAndProject(Long roleId, Long projectId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,8 @@ public interface RelRoleDisplayMapper {
int copyRoleRelation(@Param("originDisplayId") Long originDisplayId, @Param("copyDisplayId") Long copyDisplayId, @Param("userId") Long userId);

@Delete({"delete from rel_role_display where display_id in (select id from display where project_id = #{projectId})"})
int deleteByProjectId(Long projectId);
int deleteByProject(Long projectId);

@Delete({"delete from rel_role_display where role_id = #{roleId} and display_id in (select id from display where project_id = #{projectId})"})
int deleteByRoleAndProject(Long roleId, Long projectId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,17 @@ public interface RelRoleDisplaySlideWidgetMapper {
"INNER JOIN display d ON d.id = ds.display_id " +
"WHERE d.project_id = #{projectId} " +
") "})
int deleteByProjectId(@Param("projectId") Long projectId);
int deleteByProject(@Param("projectId") Long projectId);

@Delete({"DELETE rrdsw FROM rel_role_display_slide_widget rrdsw WHERE rrdsw.role_id = #{roleId} and rrdsw.mem_display_slide_widget_id IN " +
"( " +
"SELECT mdsw.id " +
"FROM mem_display_slide_widget mdsw " +
"INNER JOIN display_slide ds ON ds.id = mdsw.display_slide_id " +
"INNER JOIN display d ON d.id = ds.display_id " +
"WHERE d.project_id = #{projectId} " +
") "})
int deleteByRoleAndProject(Long roleId, Long projectId);


int copyRoleSlideWidgetRelation(@Param("relSlideCopies") List<RelModelCopy> memCopies, @Param("userId") Long userId);
Expand Down
3 changes: 3 additions & 0 deletions server/src/main/java/edp/davinci/dao/RelRolePortalMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,7 @@ public interface RelRolePortalMapper {

@Delete({"delete from rel_role_portal where portal_id in (select id from dashboard_portal where project_id = #{projectId})"})
int deleteByProject(Long projectId);

@Delete({"delete from rel_role_portal where role_id = #{roleId} and portal_id in (select id from dashboard_portal where project_id = #{projectId})"})
int deleteByRoleAndProject(Long roleId, Long projectId);
}
10 changes: 9 additions & 1 deletion server/src/main/java/edp/davinci/dao/RelRoleSlideMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,5 +82,13 @@ public interface RelRoleSlideMapper {
"left join display d on d.id = ds.display_id ",
"where d.project_id = #{projectId})"
})
int deleteByProjectId(Long projectId);
int deleteByProject(Long projectId);

@Delete({
"delete from rel_role_slide where role_id = #{roleId} and slide_id in ",
"(select ds.id from display_slide ds ",
"left join display d on d.id = ds.display_id ",
"where d.project_id = #{projectId})"
})
int deleteByRoleAndProject(Long roleId, Long projectId);
}
7 changes: 6 additions & 1 deletion server/src/main/java/edp/davinci/dao/RelRoleViewMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,17 @@ public interface RelRoleViewMapper {
List<RelRoleView> getByUserAndView(@Param("userId") Long userId, @Param("viewId") Long viewId);

@Select({
"select * from rel_role_view where view_id = #{viewId}"
"select * from rel_role_view where view_id = #{viewId}"
})
List<RelRoleView> getByView(Long viewId);

@Delete({
"delete from rel_role_view where view_id in (select id from view where project_id = #{projectId})"
})
int deleteByProject(Long projectId);

@Delete({
"delete from rel_role_view where role_id = #{roleId} and view_id in (select id from view where project_id = #{projectId})"
})
int deleteByRoleAndProject(Long roleId, Long projectId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -677,7 +677,7 @@ public String shareDashboard(Long dashboardId, String username, User user)
@Override
@Transactional
public void deleteDashboardAndPortalByProject(Long projectId) throws RuntimeException {
relRoleDashboardWidgetMapper.deleteByProjectId(projectId);
relRoleDashboardWidgetMapper.deleteByProject(projectId);
memDashboardWidgetMapper.deleteByProject(projectId);
relRoleDashboardMapper.deleteByProject(projectId);
dashboardMapper.deleteByProject(projectId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -478,11 +478,11 @@ private String getCopyName(String name, Long projectId) {
@Override
@Transactional
public void deleteSlideAndDisplayByProject(Long projectId) throws RuntimeException {
relRoleDisplaySlideWidgetMapper.deleteByProjectId(projectId);
relRoleDisplaySlideWidgetMapper.deleteByProject(projectId);
memDisplaySlideWidgetMapper.deleteByProject(projectId);
relRoleSlideMapper.deleteByProjectId(projectId);
relRoleSlideMapper.deleteByProject(projectId);
displaySlideMapper.deleteByProjectId(projectId);
relRoleDisplayMapper.deleteByProjectId(projectId);
relRoleDisplayMapper.deleteByProject(projectId);
displayMapper.deleteByProject(projectId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,14 @@ public boolean deleteProject(Long roleId, Long projectId, User user) throws Serv

int i = relRoleProjectMapper.deleteByRoleAndProject(roleId, projectId);
if (i > 0) {
relRoleDashboardMapper.deleteByRoleAndProject(roleId, projectId);
relRoleDashboardWidgetMapper.deleteByRoleAndProject(roleId, projectId);
relRoleDisplayMapper.deleteByRoleAndProject(roleId, projectId);
relRoleDisplaySlideWidgetMapper.deleteByRoleAndProject(roleId, projectId);
relRolePortalMapper.deleteByRoleAndProject(roleId, projectId);
relRoleSlideMapper.deleteByRoleAndProject(roleId, projectId);
relRoleViewMapper.deleteByRoleAndProject(roleId, projectId);

optLogger.info("relRoleProject ({}) delete by user(:{})", relRoleProject.toString(), user.getId());
return true;
} else {
Expand Down

0 comments on commit 2a08e0b

Please sign in to comment.