@After("execution(* org.goldratio.services.CommentService.create(..))")
  public void createCommentOperation(JoinPoint joinPoint) {
    Object[] args = joinPoint.getArgs();
    if (args != null && args.length > 0 && args[0] instanceof Comment) {

      Comment project = (Comment) args[0];

      Operation operation = new Operation();
      operation.setTargetType(TargetType.comment);
      operation.setOpType(OperationType.create);
      operation.setTargetId(project.getId());
      operation.setAuthorId(project.getAuthorId());
      operation.setCreateTime(project.getCreateTime());
      Message message = messageRepository.findById(project.getMessageId());
      operation.setTitle(message.getTitle());
      operation.setDigest(project.getContent());
      operation.setTeamId(project.getTeamId());
      operation.setProjectId(project.getProjectId());
      operationRepository.save(operation);

      userService.sendMessage(project);
    }
  }
  @After("execution(* org.goldratio.services.TodoItemService.create(..))")
  public void createTodoItemOperation(JoinPoint joinPoint) {
    Object[] args = joinPoint.getArgs();
    if (args != null && args.length > 0 && args[0] instanceof TodoItem) {

      TodoItem project = (TodoItem) args[0];

      Operation operation = new Operation();
      operation.setTargetType(TargetType.todoItem);
      operation.setOpType(OperationType.create);
      operation.setTargetId(project.getId());
      operation.setAuthorId(project.getAuthorId());
      operation.setCreateTime(project.getCreateTime());
      TodoList todoList = todoListRepository.findById(project.getTodoListId());
      operation.setTitle(todoList.getTitle());
      operation.setDigest(project.getTitle());
      operation.setTeamId(project.getTeamId());
      operation.setProjectId(project.getProjectId());
      operationRepository.save(operation);

      userService.sendMessage(project);
    }
  }
  @After("execution(* org.goldratio.services.MessageService.create(..))")
  public void createMessageOperation(JoinPoint joinPoint) {
    Object[] args = joinPoint.getArgs();
    if (args != null && args.length > 0 && args[0] instanceof Message) {

      Message project = (Message) args[0];

      Operation operation = new Operation();
      operation.setTargetType(TargetType.message);
      operation.setOpType(OperationType.create);
      operation.setTargetId(project.getId());
      operation.setAuthorId(project.getAuthorId());
      operation.setCreateTime(project.getCreateTime());
      operation.setTitle(project.getTitle());
      operation.setTeamId(project.getTeamId());
      operation.setProjectId(project.getProjectId());
      operationRepository.save(operation);

      userService.sendMessage(project);
    }
  }