А каст у всех работает нормально или через раз?

  • Bóbr kurwa
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    Я сейчас глянул исходники. А подскажите, разве это не буквально то самое, о чём я говорил?

    /* кастовать только тех, кто добавился. Существующие ранее не кастуются */

    Включите, блядь, лоркод.

    /**

    • Редактирование комментария.
    • @param oldComment данные старого комментария
    • @param newComment данные нового комментария
    • @param commentBody текст нового комментария
    • @param remoteAddress IP-адрес, с которого был добавлен комментарий
    • @param xForwardedFor IP-адрес через шлюз, с которого был добавлен комментарий */ @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public void edit(Comment oldComment, Comment newComment, String commentBody, String remoteAddress, String xForwardedFor, User editor, MessageText originalMessageText) { commentDao.changeTitle(oldComment, newComment.getTitle()); msgbaseDao.updateMessage(oldComment.getId(), commentBody);
    /* кастование пользователей */
    Set<User> newUserRefs = textService.mentions(MessageText.apply(commentBody, originalMessageText.markup()));
    
    MessageText messageText = msgbaseDao.getMessageText(oldComment.getId());
    Set<User> oldUserRefs = textService.mentions(messageText);
    Set<User> userRefs = new HashSet<>();
    /* кастовать только тех, кто добавился. Существующие ранее не кастуются */
    for (User user :newUserRefs) {
      if (!oldUserRefs.contains(user)) {
        userRefs.add(user);
      }
    }
    
    if (permissionService.isUserCastAllowed(editor)) {
      userEventService.addUserRefEvent(userRefs, oldComment.getTopicId(), oldComment.getId());
    }
    
    /* Обновление времени последнего изменения топика для того, чтобы данные в кеше автоматически обновились  */
    topicDao.updateLastmod(oldComment.getTopicId(), false);
    
    addEditHistoryItem(editor, oldComment, originalMessageText.text(), newComment, commentBody);
    
    updateLatestEditorInfo(editor, oldComment, newComment);
    
    String logMessage = makeLogString("Изменён комментарий " + oldComment.getId(), remoteAddress, xForwardedFor);
    logger.info(logMessage);
    

    }