class ProjectService {

    public ServiceResult<String> deleteProject(Project project) throws SQLException {
        boolean isSussess = projectDao.getDasClient().execute(() -> {
            int id = projectDao.deleteProject(project);
            if (id <= 0) {
                throw new TransactionException(message.db_message_delete_operation_failed);
            }
            id = selectEntityDao.deleteByProjectId(project.getId());
            if (id < 0) {
                throw new TransactionException(message.db_message_delete_operation_failed);
            }
            id = selectEntityDao.deleteByProjectId(project.getId());
            if (id < 0) {
                throw new TransactionException(message.db_message_delete_operation_failed);
            }
            id = projectDbsetRelationDao.deleteByProjectId(project.getId());
            if (id < 0) {
                throw new TransactionException(message.db_message_delete_operation_failed);
            }
            return true;
        });
        if (isSussess) {
            return ServiceResult.success();
        }
        return ServiceResult.fail("deleteProject fail : " + project.toString());
    }

}